0

simulink を使用して、角度を付けてボールの投球をシミュレートしようとしています。1 つの角度でシミュレートできますが、ループを使用してシミュレートしたいと思います。これは、 FOR を使用して simulink でやりたいことです。

for i=-5:10:85

これが私のsimulinkの写真です:

ここに画像の説明を入力

4

3 に答える 3

1

すべてのブロックを for-iterator サブシステムに入れます。For Iterator ブロックは現在の反復を出力します。そのインデックス (0/1 から開始) を使用して、角度を -5 から 85 まで循環させることができます (For Iterator ブロックを Gain and Sum ブロックに接続してみてください)。各反復で、for-iterator サブシステムのすべてのブロックが実行され、For Iterator ブロックの出力が 1 ずつ増加します。

角度をベクトルにする前のソリューションも機能します。

于 2012-11-06T03:27:15.080 に答える
1

私があなたの質問を正しく理解していれば、基本的に、定数度の異なる値に対してシミュレーションを複数回再実行する必要があります。For Iterator を使用する代わりに、ベクトル演算を使用して同じ結果を効果的に達成できる場合があります。つまり、定数 Degrees の値をスカラー値からベクトルに変更します (この特定のケースでは、その値を [5:10:85] に設定します)。Simulink モデルの出力 (つまり、x と y の結果) は、さまざまな Degree 値に対応するベクトルになります。

于 2012-11-05T04:39:38.697 に答える
0

MATLAB の参照ページを使用して、次のように行を書き直します。

for i=5:10:85
 ...
end
于 2012-11-03T23:08:45.237 に答える