Matlab从数组中设置param

时间:2013-08-18 17:37:32

标签: matlab for-loop simulink

在Matlab中,为了改变我做的块的值

set_param('model/V','Amplitude','100')

并且V的值为100.但是如果我这样做

for i=1:10
     set_param('model/V','Amplitude','P(i)')
     ...
end

它将V的值存储为P(i)。但是为了访问20 x 1 i矩阵的P元素,我需要P(i)引用它。我的错误是什么?

1 个答案:

答案 0 :(得分:3)

使用以下方法将值更改为字符串: -

set_param('model/V','Amplitude',num2str(P(i)) );

它还会将'model / V'的值设置为P(20),即最后一个。

你可能也希望循环使用当前的块

类似的东西:(仅举例)

set_param(['model/V' num2str(i)],'Amplitude',num2str(P(i)) );

代表model/V1, model/V2,...model/V20