【发布时间】:2017-09-19 07:15:35
【问题描述】:
在使用 for 循环将我创建的矩阵中的值分配给某个变量时,我似乎遇到了问题。我正在使用不同的角度对来创建绘图,并且我想在 for 循环中访问这些元素以生成 Q1 和 Q2 的值。
代码:
L1=input('Enter the length of Link 1:' );
L2=input('Enter the length of Link 2:' );
i=0:5:180;
j=0:5:180;
[p,q] = meshgrid(i, j);
pairs = [p(:) q(:)];
for k = 1 : size(pairs)
Q1(k)=pairs(k,1);
Q2(k)=pairs(k,2);
PEx(k)=(L1.*cosd(Q1))+(cosd(Q1).*cosd(Q2).*L2);
PEy(k)=(L1.*sind(Q1))+(sind(Q1).*cosd(Q2).*L2);
PEz(k)=(-L2.*sind(Q2));
end
错误: “在赋值 A(:) = B 中,A 和 B 中的元素个数必须相同。”
谢谢
【问题讨论】:
-
错误指的是哪一行?
-
尝试使用matlab调试器更好地理解问题。我认为错误信息很清楚。其次,如果您创建minimal reproducible example,请避免要求用户输入,只需使用一些示例值。
标签: matlab loops for-loop matrix elements