怎样在matlab function模块中实现多输入

怎样在matlab function模块中实现多输入,第1张

1、打开matlab,新建一个空白的simulinik模型。

2、打开simulink的元件库,如图中红圈所示。

3、在搜索栏输入“matlab function”,开始搜索,就可以在右边找到对应的模块。

4、第一个和最后一个是一样的。选中后按住鼠标左键不放,拖到空白的simulink界面中。

5、为了示例使用方法,编一个加法器的功能。把两个正弦波发生器,一个示波器用同样的方法拖到界面中来。

6、双机matlab function模块,打开编辑代码的界面。

7、默认的函数名称是fcn,输入量是u,输出量是y,都可以按照需要修改名称。这里把函数名称改成fcn_add。

8、重新定义输入量,因为有两个输入口,所以在声明函数时,分别命名为source_1和source_2,

9、保存以后回到simulink界面,可以发现,之前只有一个输入端的matlab function模块现在有两个输入端了。

10、按照对应的端口连接这些模块。设置两个正弦波发生器的参数,一个设置成幅值为1,频率为1HZ,另外一个是幅值为1,频率为2HZ。双击波形发生器就可以设置参数了。

11、准备仿真,仿真按钮就是上面的播放键。

12、然后等仿真结束后,双击scope示波器查看结果。可以发现这个matlab function模块已经实现了加法器的作用。

如果是示波器,根据需要,有两种情况:
第一种情况:如果输入的两个量在两个图显示(如下面第一个图):双击示波器后,上面的菜单栏有一项是“Parameters”,点开,把“General”下的“Number of axes”的数量改为“2”。
第二种情况:如果输入的两个量在一个图中显示(如下面第二个图):连接如第二个图,示波器前面的元件是“Mux”元件(Commonly Used
Blocks中),把“Number of inputs”改为2

两种式: 1、信号用Mux模块合并向量信号接示波器; 2、设置示波器参数2015a前Number of axes2015bNumber of input ports设置信号数Scope显示输入端口

具体方法是,把示波器的图像显示在图形中,前面的博文已经做过了解决。那就是通过设置示波器参数把示波器图形用plot命令显示。

双击所要输出波形的示波器,打开示波器参数选择窗口,点击"Data history"标签,将第二个参数"Save data to
workspace"打勾(如下图)。可填写变量名和选择格式。变量名随便,好记就行,格式选择arry。 a4c26d1e5885305701be709a3d33442fpng
这里顺便说一句。在仿真时经常会出现仿真结束后,示波器显示的波形只有一部分的现象,这是第一个参数"Limit data points
to
last"被选中的缘故。这个参数被选中,输出点数被限制,当然波形就只能显示一部分了,只不过这样可以节省内存罢了。要全部显示,只要不勾就行了。一切选择好后,点OK退出,运行仿真。在仿真结束后,在workspace里面会出现一个和前面设定的变量名相同名字的结构体变量。该变量中主要有一个名字为signals的结构体和一个名为time的向量。在signals里面还有一个values的向量。这就是绘制新图形的数据基础。在命令窗口中输入
plot(ScopeDatatime,ScopeDatasignalsvalues,'k')
这样就可以输出一个坐标清楚的图形了。但是此时的坐标没有标注坐标所代表的量的名称。此时输入xlabel('time(s)'),在X坐标下就会显示time(s)字样,输入ylabel('speed(m/s)'),在Y轴同样输出speed(m/s)字样。改变'
'内的字符串,就可以改变坐标下的名字。在命令窗口输入axis([xmin xmax ymin
ymax]),就可以限定输出波形的上下界。输入set(gca,'xtick',[a b c d
])可以重新标定坐标刻度,其中“a b c d ”就是重新标定后的刻度值。grid on,grid off
命令可以打开和关闭网格。 经过这些命令一处理,就可以得到非常满意的输出图形了。
怎么在plot命令中显示多条曲线呢,即在一组参数下仿真图像是1,当我用另外一组参数仿真得到仿真图像2怎么样才能把这两个图像放在一个图中呢。
通过查询我得到了一个简单的办法,即,仿真1结束后,plot(y1)然后输入 hold on 命令
然后再plot(y2)当然y1和y2是把示波器的变量重新定义了以后。也可输入相同的plot(y)只要两条曲线不同。
方法2:
设你的波形变量保存为y1,y5,
plot([y1;y2;y3;y4;y5])把五条曲线画到一个图上.注意to workspace中保存类型是array
方法3:如果你要在一个坐标轴内显示几个曲线,那么就在用一个mux,把速度和转矩合并一个变量,然后to
workspace,然后用plot画可以显示出跟示波器一样的一个图形2个曲线。

把示波器设置成n个输入口,用mux合并I1与U2,mux输出端送入到示波器的第一个输入口,在示波器上点击右键选择axes properties在里面填写你需要显示的范围,点击确定。

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标 *** 作,就可构造出复杂的系统。

示波器是一种用途十分广泛的电子测量仪器。它能把肉眼看不见的电信号变换成看得见的图像,便于人们研究各种电现象的变化过程。示波器利用狭窄的、由高速电子组成的电子束,打在涂有荧光物质的屏面上,就可产生细小的光点(这是传统的模拟示波器的工作原理)。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13264193.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-28
下一篇 2023-06-28

发表评论

登录后才能评论

评论列表(0条)

保存