原本以为可以用界面点点点完成的工作,发现不行,还得用脚本。。。哭唧唧
help搜索“Estimate Model Parameter Values (Code)”
1、sim和~的用法
[time,~,iodata] = sim('sdoAircraftEstimation', 60);
含义:sim用于运行模型并返回相关结果。此次表示运行sdoAircraftEstimation模型,仿真时间60s,[time,~,iodata] 接收仿真结果,time为时间序列,iodata为仿真输出,~表示忽略其他参数。
2、sdo.Experiment 生成用于评估的的Exp对象
Exp = sdo.Experiment('sdoAircraftEstimation');
%Create an experiment object to store the measured input/output data.
对应GUI中的Experiments(正常应有Input属性,此例比较特殊,模型中没有输入端口):
3、创建Simulink.SimulationData.Signal对象
存储信号日志的结构体,用于赋值给Exp.OutputData。搜索“Simulink.SimulationData.Signal”有详细描述。
% Create an object to store the measured pilot G-Force output.
PilotG = Simulink.SimulationData.Signal;
PilotG.Name = 'PilotG';
PilotG.BlockPath = 'sdoAircraftEstimation/Pilot G-force calculation';//端口所在模型路径
PilotG.PortType = 'outport';//端口类型,for signal logging, the port type is &