您好,谢谢。
我试了您建议的方法,但是不管哪一种方法,都是同样的错误提示:Simulink model duru2 was called with too few arguments,比如就完成两个数的相加,我在函数声明里输入了duru2,M函数是这样的:
function y = duru2( x)
%DURU2 Summary of this function goes here
% Detailed explanation goes here
y=x(1)+x(2);
问题解决了,可是不知道是什么原因,是看了别人的例子总结出来的。我把Matlab Fcn模块函数声明里的duru2改写为duru2file,M文件:
function y = duru2file( x)
%DURU2 Summary of this function goes here
% Detailed explanation goes here
y=x(1)+x(2);
加上file这样就输出结果了,呵呵,解决了也不太明白。
还有个问题,我的仿真系统是个反馈系统,就是每次要把A、B中的各一个数和反馈回来的数组成新的向量给Matlab Fcn,而且好像不能用From Workspace这个模块读取数据了,因为它会对没有定义的时间点进行线形差值,而我要的只是A、B中的数据。我想出两个办法:
(1)用From File模块,把A、B保存两个mat文件,每次分别读取其中的一个数据,用Mux和反馈回来的数组成新的向量给Matlab Fcn,但是我不会每次只读一个数,From File好像是一次全部读入的。
(2)只把反馈回来的数据作为输入,然后另外的现场已经采集好的数据在Matlab Fcn模块用load一次全部读进来,每次只读一行,再和反馈
数据组成新的向量参与M函数中的计算,想用循环方式,可是没弄出来。