如何调用基于simulink模型的函数?金宝app

1次观看(过去30天)
大家好!
我有问题与我的代码-我得到错误由于多种原因。
我需要三个数字——取决于Rd和Ud的不同值。我想把我的代码放在与simulink模型连接的函数中。金宝app
我应该修改什么?
clc
关闭所有
清晰的所有
Rd1 = 0;
Ud1 = 0;
[wt1、wU1 wRd1] =参数(Rd1 Ud1)
Rd2 = 5 * R;
Ud2 = 0;
[wt2,无,wRd2] =参数((Rd2 Ud2)
现场3 = 0;
Ud3 = -0.5 * U;
[wt3,武,wRd3] =参数((现场、Ud3)
函数(wt,吴,wRd] =参数(Rd, Ud)
U = 5;
= 1;
b = 1;
R = 0.5;
L = 0.2;
ep = 0.1;
tp = -0.1;
你= 0;
T = L / R;
tk =圆(你+ 8 * T);
课程结业者将加入慈善研讨课程= tk;
tk = 10 * tk;
Wt =[tp tu tu+10e-12 TPW TPW +10e-12 tk];
wU=[0 0 U U Ud Ud];
wRd=[0 0 0 0 Rd Rd];
sim卡(“zad3cw2_sim”);
t = ans.ws (: 1);
在= ans.ws (:, 2);
Il = ans.ws (: 3);
Psn = ans.ws (: 4);
Psl = ans.ws (: 5);
En = ans.ws (: 6);
El = ans.ws (: 7);
sn = ans.wsl (: 1);
sl = ans.wsl (:, 2);
tzn = t(结束)课程结业者将加入慈善研讨课程;
tzl = t(找到(sl > 0, 1,“第一”)课程结业者将加入慈善研讨课程;
图(“名字”" Wyniki symulacji w funkcji czasu "“numberTitle”“关闭”);
h1 =情节(t),“b”,,,“r”);
持有
h2 =情节(t Psl“b”t Psn“r”“线宽”, 1.5);
h3 =情节(t, El,“——b”t在“——r”“线宽”, 1.5);
持有
传奇(h1, h2, h3,“公关ąd u.l。”“公关ąd u.nl。”“Strumieńu.l。”“Strumieńu.nl。”“Energia u.l”。“Energia u.nl”。);
包含(“Czas,年代”
ylabel (“普里西德,A,斯特鲁米耶斯,Wb,能量,J”);
网格
图(“名字”'Przebiegi prądów wyznaczanie czasów zaniku'“numberTitle”“关闭”);
h1 =情节(t),“b”,,,“r”);
持有
h2 =情节(t, sl,“b”、t、锡、“:r”);
持有
传奇(h1, h2,“公关ąd u.l。”“公关ąd u.nl。”“Koniec zaniku u.l.”“Koniec zaniku u.nl.”);
文本(tzn +课程结业者将加入慈善研讨课程,0.1 *工业区,'tzn = 'num2str (tzn' % 0.3 f '“年代”),“HorizontalAlignment”“左”“写成BackgroundColor”,[11 1 1]);
文本(tzl +课程结业者将加入慈善研讨课程,0.2 *工业区,'tzl = 'num2str (tzl' % 0.3 f '“年代”),“HorizontalAlignment”“左”“写成BackgroundColor”,[11 1 1]);
包含(“Czas,年代”
ylabel (“普拉西瓦德,A。”);
网格
结束
5个评论

登录评论。

接受的答案

莎拉Nadeau
莎拉Nadeau 2021年10月18日
在不知道所得到的具体错误的情况下,这很难说。然而,有什么原因没有将sim函数的输出分配给变量吗?你有没有试过更新对sim的调用,看起来像这样:
Out = sim(“zad3cw2_sim”);
然后,您将更新所有访问输出数据的语句,以使用out变量(或任何您选择命名的变量)而不是ans。

更多答案(2)

沃尔特·罗伯森
沃尔特·罗伯森 2021年10月17日
我应该修改什么?
你应该去掉“清除所有”:它会擦除你的代码期望存在的基本或函数工作区中的变量。
你可能也应该去掉“全部关闭”,因为这可能会影响Simulink绘制的范围或对象。金宝app
去掉“clc”可能也是个好主意。
4评论
pswlak Aleksandra
pswlak Aleksandra 2021年10月19日
我检查了它,但在simulink中我还没有金宝app实现“清除所有”的任何地方。

登录评论。


保罗
保罗 2021年10月19日
编辑:保罗 2021年10月19日
因为你正在使用2020b,试着改变你的sim()命令为:
Out = sim(“zad3cw2_sim”“SrcWorkspace”“当前”
这应该可以工作,但是有一些注意事项,所以我建议您检查sim()的文档页,看看它们是否适用于您的情况。
但是,SrcWorkspace不支持2020b之后的版本。金宝app因此,如果您想要在2020b和后续版本中工作的解决方案,您可以使用a调用sim() 金宝app仿真软件。SimulationInput 对象。看一下文档页,如果你有任何关于如何使其工作的问题,请在这里回复。
如果这两种方法都不能满足您的需求,还有其他选择。事实上,这个问题在这里已经出现过几次了,一些搜索应该很快就能找到涵盖这些其他选项的相关讨论。

类别

了解更多金宝appSimulink环境定制帮助中心而且文件交换

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!