substracting every row from each other
Afficher commentaires plus anciens
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 commentaire
Selma Nur Keskin
le 6 Juin 2020
Réponse acceptée
Plus de réponses (1)
Image Analyst
le 6 Juin 2020
Modifié(e) : Image Analyst
le 6 Juin 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 commentaires
Selma Nur Keskin
le 6 Juin 2020
madhan ravi
le 6 Juin 2020
Selma what do you think my code does ? Just switch the sign in my code.
Image Analyst
le 6 Juin 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
le 7 Juin 2020
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!