【发布时间】:2019-07-16 21:01:29
【问题描述】:
我有一段从命令行运行时运行良好的代码,但是当它在我的 Simulink 仿真中的 Matlab 功能块内运行时,我得到一个矩阵尺寸标注错误。
使用调试器,我发现 for 循环的行为与我的预期不同,我不确定如何在不对其他人的代码进行重大重写的情况下修复它。
这是导致问题的代码的 sn-p。
for k=input
idx=4+2*(i-1)+1;
yhat=yhat+th(idx)*cos(k.*(2.*pi.*60.*t+th(1).*t))+th(idx+1)*sin(k*(2*pi*60*t+th(1)*t));
end
通常,k 将采用从 2 到 13 的每个值,这将像人们期望的那样运行 for 循环。出于某种原因,当我在yhat 行上设置断点时,我发现k 是向量[2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13],这是我期望input 的转置。有谁知道发生了什么会导致此代码在 Matlab 函数块中以不同方式运行或如何修复它?
【问题讨论】:
-
你在哪里定义输入变量?