diff and 3D-matrix

5 visualizaciones (últimos 30 días)
Bernd  Ab
Bernd Ab el 11 de Feb. de 2017
Respondida: Star Strider el 11 de Feb. de 2017
Dear all, I am reverse engineering a piece of the data evaluation code that is used in my university/ workgroup and i have a hard time understanding what seems to be a simple thing. I do understand what the output should be hover.The code is inside a loop but for now i just need to figure out what those two lines do in principle?
Fx(1:size(my_matrix,1)-1,i,j)=diff(my_matrix(:,i,j)/(a_scalar_dimension/1000));
Fx(size(my_matrix,1),i,j)=0;
Thank you very much in advance

Respuestas (1)

Star Strider
Star Strider el 11 de Feb. de 2017
The first assignment:
Fx(1:size(my_matrix,1)-1,i,j)=diff(my_matrix(:,i,j)/(a_scalar_dimension/1000));
simply seems to take the consecutive differences (using the diff funciton) over the rows of ‘my_matrix’ for the fixed second and third dimensions ‘i’ and ‘j’. We can assume this is in a nested loop of some design.
The second assignment:
Fx(size(my_matrix,1),i,j)=0;
sets the last element of ‘Fx’ for the same ‘i’ and ‘j’ coordinates to zero, apparently to equalise the row sizes of ‘Fx’ and ‘my_matrix’. In recent MATLAB versions, using end in place of the size call would have the same effect:
Fx(end+1,i,j)=0;
That’s my best guess, anyway.

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by