我有以下问题 . 我想将一个simulink模型集成到一个matlab脚本中,用循环中的simulink部分循环完成不同的事情 . 当我在工作空间中定义我用于simulink模型的参数时,下面的程序实际上做了我所希望的 . 但是这个解决方案并不能让我满意 . 我想将参数作为 sim 函数的第二个值传递 . 不幸的是,我无法理解这一点 . 我实际上复制了部件以从matlab站点创建一个结构,其中给出了以下代码示例 .
myStruct = Simulink.Parameter;
myStruct.Value = struct('number',1,'units',24);
myStruct.CoderInfo.StorageClass = 'ExportedGlobal';
不幸的是我得到以下错误 Input argument "m_startSpeed" is undefined. 因为在我的脚本中参数 m_startSpeed 是我在运行脚本时输入的值 .
function [optBreakPoint] = computeBreakPoint(m_startSpeed, m_endSpeed, m_length)
myStruct = Simulink.Parameter;
myStruct.Value = struct('m' , 1500, 'R' , 0.25, 'mi' , 1, 'f' , 0.1, 'F' , 50000,'BreakForce' , -10, 'startSpeed' , m_startSpeed, 'breakPoint' , m_length);
myStruct.CoderInfo.StorageClass = 'ExportedGlobal';
endSpeed = m_endSpeed;
while(1)
[T, X, Y] = sim('car', myStruct);
optBreakPoint = breakPoint;
break;
end
plot(T, X);
end
我该如何解决这个问题?