左侧和右侧具有不同数量的元素

  • 本文关键字:元素 matlab
  • 更新时间 :
  • 英文 :


当我试图执行此代码时,我得到一个"无法执行赋值,因为左侧和右侧有不同数量的元素。"错误问题出在哪里?谢谢你的帮助。

A = 1250; 
Q = 450; 
t = (0:0.5:10);
y(1) = 0;
for i = 1:length(t)
y(i+1) = y(i) + [(3*(Q/A).*sind(t).^2)-(Q/A)].*0.5;
end
display(y);

for循环中,将表达式(RHS(分配给数组(LHS(。y(i)1x1阵列,RHS具有与t(1x21(相同的维度。不能将21个值分配给只能容纳一个值的数组。要修复,我建议预先分配y,使用行

y = zeros(numel(t), numel(t))

或者,我想你可能打算的是,一次只调用t的一个元素

y(i+1) = y(i) + [(3*(Q/A).*sind(t(i)).^2)-(Q/A)].*0.5;

顺便说一句,使用i作为变量是不好的做法,因为它在Matlab中已经有了内置值。对于循环索引,我通常使用iijjk

相关内容

  • 没有找到相关文章