substracting every row from each other

1 visualización (últimos 30 días)
Selma Nur Keskin
Selma Nur Keskin el 6 de Jun. de 2020
Comentada: Selma Nur Keskin el 7 de Jun. de 2020
I am trying to substract every other row using 2 loops, what is wrong with this code?
Here is the code,
% these are the coordinates I am using
coor=[x' y' z'];
%number of the rows is my atomnumber
atomnum=size(x,2);
contactmapdistance=zeros;
for i=atomnum : 1
for j= 1:atomnum
contactmapdistance(i,3)=coor(i,:) - coor(j,:);
i=i-1;
end
j=j+1;
end
  1 comentario
Selma Nur Keskin
Selma Nur Keskin el 6 de Jun. de 2020
If anybody could make this work in two loops so that ı understand how it works it would be great

Iniciar sesión para comentar.

Respuesta aceptada

madhan ravi
madhan ravi el 6 de Jun. de 2020
coor - reshape(coor.',1,size(coor,2),[])
  1 comentario
Selma Nur Keskin
Selma Nur Keskin el 6 de Jun. de 2020
I guess this is working but i am such a beginner , what does 463x3x463 double means? when I store the results in a matrix the matrix size looks like that. Thank you very much btw!

Iniciar sesión para comentar.

Más respuestas (1)

Image Analyst
Image Analyst el 6 de Jun. de 2020
Editada: Image Analyst el 6 de Jun. de 2020
Do you mean like this:
% Initialize data
% numRows = 5
x = randi(9, numRows, 1);
y = randi(9, numRows, 1);
z = randi(9, numRows, 1);
% These are the coordinates I am using
coor = [x(:), y(:), z(:)]
% number of the rows is my atomnumber
% atomnum = size(x, 2)
contactMapDistance = zeros(ceil(numRows/2) - 1, 3);
% Subtract row 1 from row 3, row 3 from row 5, row 5 from row 7, etc.
cRow = 1;
for row = 1 : 2 : numRows - 2
contactMapDistance(cRow, :) = coor(row+2, :) - coor(row, :);
cRow = cRow + 1;
end
contactMapDistance % Show in command window
  4 comentarios
Image Analyst
Image Analyst el 6 de Jun. de 2020
Like this:
coor = [x(:), y(:), z(:)]
contactMapDistance = coor(1, :) - coor
Note that the way I set up coor is better than your way because my way can handle it no matter if x, y, and z are row vectors or column vectors, which is not true if you use the ' like you did.
Selma Nur Keskin
Selma Nur Keskin el 7 de Jun. de 2020
Thanks a lot you guys, madhan like I said i am a beginner so i don't understand some notations

Iniciar sesión para comentar.

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by