3

私は 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

編集:実際にアップロードできるようになったので、添付のモデルのフローチャートを見つけてください。

ここに画像の説明を入力

4

1 に答える 1

0

これは役立つかもしれません:

Embedded MATLAB ブロックがhttp://www.mathworks.com/support/solutions/en/data/1-9TQFRN/?product=SL&solution=1-9TQFRNの閉ループで使用されている場合、信号の次元が適切に伝播されないのはなぜですか ?

幸運を。

GM

于 2013-09-10T12:35:06.250 に答える