我正在使用Simulink中的游艇速度预测程序(VPP)(我无法上传图像,因为我是这个论坛的新用户,显然)。
解决问题需要我知道明显的风速和角度(分别为VA和β),以便获得帆产生的力,从而获得船的净力,加速度和最终速度。但是,VA取决于船速(VS)。我尝试通过积分器块输入后者的初始值,积分器块将加速度转换为速度,但我在“表观风”m函数中继续得到以下错误:“索引表达式超出范围。尝试访问元素3。有效范围是1-1。“请注意,如果我重新排列模型并以恒定值输入函数,比如说,它将起作用(尽管最终的船速不会在物理上正确)。 m函数的列表如下所示。
简化框图:
[VT,gamma] - >表观风 - >航空航天流体动力学 - >力/质量 - >加速度 - > 1 / s - > VS
function [VA, beta] = fcn(inputs)
% 1 - gamma % true wind heading [deg]
% 2 - VT % true wind speed [kts]
% 3 - VS
%#codegen
% apparent wind angle [deg]
beta=atan(sin(inputs(1)*pi/180)/(cos(inputs(1)*pi/180)+inputs(3)/inputs(2)))/pi*180;
% apparent wind speed [kts]
VA=sin(inputs(1)*pi/180)/sin(beta*pi/180)*inputs(2);
end
编辑:现在我可以上传一个模型的附加流程图。
答案 0 :(得分:0)
这可能会有所帮助:
当嵌入式MATLAB块在闭环中使用时,为什么信号维度不能正确传播 http://www.mathworks.com/support/solutions/en/data/1-9TQFRN/?product=SL&solution=1-9TQFRN
祝你好运。GM