Matlab 转换为for循环

Matlab 转换为for循环,matlab,for-loop,Matlab,For Loop,如果我可以添加更多的力和力矩,如何将此代码转换为for循环?这是一个大量的代码,基本上是计算单位向量,求x方向,y方向和z方向上的力的总和,然后对力矩进行同样的计算 这只适用于一种特殊情况,所以我想把它放在一个for循环中,这样当施加新的力时,它们就会被考虑进去 在正确的方向上的任何帮助或轻推都将是巨大的帮助!提前谢谢 load ('inputdata.mat') A= zeros(6,6); B= zeros (6,1); % Calculate Force in x,y,z direc

如果我可以添加更多的力和力矩,如何将此代码转换为for循环?这是一个大量的代码,基本上是计算单位向量,求x方向,y方向和z方向上的力的总和,然后对力矩进行同样的计算

这只适用于一种特殊情况,所以我想把它放在一个for循环中,这样当施加新的力时,它们就会被考虑进去

在正确的方向上的任何帮助或轻推都将是巨大的帮助!提前谢谢

load ('inputdata.mat')

A= zeros(6,6);
B= zeros (6,1);


% Calculate Force in x,y,z direction, sums them and puts them in the B 
% vector positions 1,2,3 

NF1=((ForceDir(1,2))^2+(ForceDir(1,3))^2+(ForceDir(1,4))^2)^(1/2);

F1i=(ForceDir(1,2)/NF1)* ForceDir(1,1);

F1j=(ForceDir(1,3)/NF1)* ForceDir(1,1);

F1k=(ForceDir(1,4)/NF1)*ForceDir(1,1);

NF2= ((ForceDir(2,2))^2+(ForceDir(2,3))^2+(ForceDir(2,4))^2)^(1/2);

F2i=(ForceDir(2,2)/NF2)* ForceDir(2,1);

F2j=(ForceDir(2,3)/NF2)* ForceDir(2,1);

F2k=(ForceDir(2,4)/NF2)* ForceDir(2,1);

B(1,1)= F1i+F2i; %External Force in x

B(2,1)= F1j+F2j; %External Force in y

B(3,1)= F1k+F2k; %External Force in z

% Calculate Moments in x,y,z direction and puts them in B vector 
% position 3,4,5

unitvectorForce1=[F1i F1j F1k];

MomentByForce1= cross(ForceCoor(1,:),unitvectorForce1);

unitvectorForce2= [F2i F2j F2k];

MomentByForce2= cross(ForceCoor(2,:),unitvectorForce2);

MomentNormal=((DirMoment(1,2))^2+(DirMoment(1,3))^2+(DirMoment(1,4))^2)^(1/2);

M1i= (DirMoment(1,2)/MomentNormal)*DirMoment(1,1);

M1j= (DirMoment(1,3)/MomentNormal)*DirMoment (1,1);

M1k= (DirMoment(1,4)/MomentNormal)*DirMoment(1,1);

unitvectorMoment= [M1i M1j M1k];

B(4,1)= MomentByForce1(1)+MomentByForce2(1)+ unitvectorMoment(1)

B(5,1)= MomentByForce1(2)+MomentByForce2(2)+ unitvectorMoment(2)

B(6,1)= MomentByForce1(3)+MomentByForce2(3)+ unitvectorMoment(3)

如果我正确理解你的意思,这应该可以做到:

for ii = 1:N
  NF(ii) = ((ForceDir(ii,2))^2+(ForceDir(ii,3))^2+(ForceDir(ii,4))^2)^(1/2);
  Fi(ii) = ForceDir(ii,2) / NF(ii) * ForceDir(ii,1);
  Fj(ii) = ForceDir(ii,3) / NF(ii) * ForceDir(ii,1);
  Fk(ii) = ForceDir(ii,4) / NF(ii) * ForceDir(ii,1);
  %% Etc
end

国际海事组织:这个问题目前无法解决。什么是
ForceDir
NF1
等?你到底想循环什么呢?它们来自我读到的一个文本文件,“ForceDir”是力作用的方向,它存储在一个矩阵中,所以我用“ForceDir(1,2)”来调用它们。我基本上自己制作了变量,这些变量实际上调用了我工作区中的数字。我想循环查找NF1和NF2,并将其应用于我知道的方向。