一、功能说明
用App Designer的UI界面将参数发送到工作区,Simulink的仿真模型利用参数进行仿真。
二、关键技术
1、Simulink的仿真参数用变量命替代;
2、App Designer利用assignin("base",'Amp',A);函数,将App数据发送到工作空间,进而通过与模型中的变量明相同,模型即可调用工作空间的变量;
3、利用simOut=sim("Sine.slx",'stoptime','10')函数,运行仿真并获取仿真结果
三、案例
1、Simulink端将sin函数的幅值用变量名替代
2、在app的UI界面增加振幅数值与仿真时间输入
3、修改绘图按钮的回调函数
A=app.EditField.Value; %将振幅输入栏中的数值赋值给变量A
assignin("base",'Amp',A); %将变量A的值赋值给工作空间,工作空间变量名为Amp
B=app.EditField_2.Value; %将仿真时间输入栏中的数值赋值给变量B
simOut=sim("Sine.slx",'stoptime',num2str(B));%运行Sine.slx模型并设定仿真时间为B
x=simOut.SinePlot.time;%将仿真结果的时间赋值给X
y=simOut.SinePlot.Data;%将仿真结果的数据赋值给y
plot(app.UIAxes,x,y);%用x,y在坐标区绘图
4、运行效果
至此,实现了App Designer与Simulink联合仿真。