Matlab Fcn模块怎么用呢?
在Simulink里面用Matlab Fcn模块调用该函数,output dimension设成2。但是总是提示错误:The width of the result was 1 when a width of 2 was expected
请问哪里出错了呢? 展开
1、创建.m文件,.m文件中用关键字function定义函数,定义函数的格式如下:
function [输出变量] = 函数名称(输入变量)
输入变量和输出变量可以是一个,也可以是多个。
function [输出变量] = 函数名称(输入变量)
% 注释
% 函数体
2、保存.m文件时,一定要用函数名称保存.m文件。
举例如下:
function [a,b,c]=test(d,e,f)
a=d+e;
b=e+f;
c=f+d;
end
保存文件为test.m文件。
函数的调用:
[q,w,e]=test(1,2,3)
注意: 函数调用的时候,不一定要用定义函数时所使用的参数字母。如
m1=1,m2=2,m3=3,
[h,j,k]=test(m1,m2,m3)
同样可以完成对自定义test函数的调用。
扩展资料
在 MATLAB Function 模块中使用全局变量:
一、要在 MATLAB Function 模块或此模块调用的任何代码中使用全局数据,必须:
1、在 MATLAB Function 模块中或在 MATLAB Function 模块调用的任何代码中声明一个全局变量。
2、在 MATLAB Function 模块中注册一个与全局变量具有相同名称的 Data Store Memory 模块或 Simulink.Signal对象。
2023-06-12 广告
推荐于2016-05-30
MATLAB Fcn模块对它的输入进行指定的Matlab函数或者表达式运算。输出尺寸必须和模块中定义的尺寸相符,否则报错。
下面是MATLAB Fcn模块中可以使用的有效表达式
sin atan2(u(1),u(2)) u(1)^u(2)
注意:
同Fcn模块相比,在仿真中MATLAB Fcn模块速度要慢,因为它需要在每个积分步骤中调用Maltab编译器。因此建议使用Fcn模块或者 Math Function模块代替MATLAB Fcn模块,或者编写M文件或者MEX文件S 函数代替它。