0

続行する方法がわかりません:

私はモデルを構築しようとしています:

  • 4 つの入力 (ブール i/p) があります。
  • 1つの出力があります(符号付き:8ビット)

次のことを実行します。

  • どの入力が 1 であるかに基づいて、DataRate を反映した対応する出力が得られます。

Matlab で書く必要がある場合は、次のように記述します。

if (portA==1)
    PSDU_Data_Rate=1;
    elseif(portB==1)
        PSDU_Data_Rate=2;
    elseif (portC==1)
        PSDU_Data_Rate=5.5;
    elseif(portD==1)
        PSDU_Data_Rate=11;
end

同じ機能のために開発しているモデルの一部を添付しています。

データレート計算

続行する方法、コードの修正、または改善方法に関する提案についてのアイデアは本当に役に立ちます。

ありがとう

4

1 に答える 1

0

列挙値を持つ単一の入力ではなく、4 つの異なる入力があるため、Case ステートメントの代わりに If - Else を使用します。これを行う方法のスクリーンショットを追加しています。If ブロックでは、デフォルトでいずれかのデータ レートを選択する場合 (ゼロ以外の入力がない場合)、Else 出力も使用できることに注意してください。

Ifブロック設定:

  • 入力数:4
  • If 式: u1 ~= 0
  • Elseif 式: u2 ~=0、u3 ~= 0、u4 ~= 0

モデルはIf、一連のブロックに接続されたブロックで構成されIf Action Subsystemます。後者の出力は、Mergeブロックを使用して単一の信号に結合できます。

最上位モデル

If アクション サブシステムの 1 つ

于 2011-06-07T16:17:32.790 に答える