金宝app仿真软件运行与MatLab函数不使用这样的输入工作空间

2 Ansichten(30天)的
乔治·史密斯
乔治·史密斯 我2023年2月13日
Beantwortet: 苏拉 3月28日。2023年
我正在做一个matlab函数,将运行和情节并保存相关数据从我使用仿真软件模型在仿真软件模型的发展。金宝app
它的形式
plotSimData (simName[输入],[inputNames], [outputNames])
这个函数会自动输入加载到模型,然后画出输出数据与正确的传说和轴等。金宝app
我使用的金宝app仿真软件模型来测试只是一个简单的测试。
需要两个输入,一个其他的力量和集成。在现实中,唯一的重要部分是输入是常数,将决定整个模拟,如。质量、惯性等,该模型将使用不同质量和惯性运行多次找到最优的结果。
我觉得这应该是很容易做的,只有仿真软件运行给定的参数。金宝app
到目前为止,我的代码是这样的:
函数(~。~)= plotSimData(帧,inputVals)
思敏= Simu金宝applink.SimulationInput(帧);
输入= repmat(结构体(“Val”(长度(inputVals))),长度(inputVals), 1);
每段长度(inputVals) = 1:
输入(每个)。Val = inputVals(每个)* 1(长度(inputVals));
结束
思敏= simIn.setExternalInput (inputs.Val);
simOut = sim(思);
持有所有
mediary = simOut。你;
每个= 1:numElements (mediary)
出= mediary{一}. values。数据;
情节(simOut.tout,,“DisplayName的”字符串(每个)
结束
传说;
结束
我知道simIn.setExternalInput()需要变量在一个时间,但他们不会改变。什么是最好的方法输入常数从MatLab代码?
指出,尽管我确信你已经觉察到,我不能保存到工作区,自从我运行外部MatLab函数,这个函数的变量初始化不保存到工作区,但是一些其他缓存或工作区,并不是由仿真软件访问。金宝app
Tl,博士,
我输入常数如何仿真软件模型不使用工作区?金宝app

Antworten (1)

苏拉
苏拉 3月28日。2023年
嗨,乔治,
我理解,你想将常量输入仿真软件模型没有访问全球工作区,作为你的MATLAB函数运行外部。金宝app
为此,您可以使用 setVariable  方法 SimulationInput 对象,允许您创建一个变量 全球 工作区,然后传递到你的模型。你可以阅读更多关于它 在这里
希望这个有帮助。

Kategorien

找到更多的在事件函数帮助中心文件交换

Produkte


版本

R2021b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的