私はSIMULINKのいくつかの数学演算でいくつかの助けが必要です。ブロックから信号が来ています。信号の最初の数は、 として9999
です。次に、次のエントリは0
と200
の間の値、たとえば100
です。その後、残りのすべてのエントリは9999
に戻ります。これは常に信号の性質ですが、数値:100
は異なるシミュレーションで値または位置を変更することがありますが、その前には常に9999
の値が1つ以上あり、その後のすべての他のエントリも9999
です。
これは、ブロックからの信号の一例である:
S=[9999 75 9999 9999 9999]
もう一つの例:
S=[9999 9999 9999 100 9999 9999 9999 9999 9999]
私は一度ようにSimulinkで別のブロックまたはMATLAB関数にこの信号を渡したいです値(第1の例では75
、第2の例では100
)が読み取られると、シミュレーションが終了するまで永遠に維持されます。
Y=[9999 75 75 75 75]
2番目の例のためのものである:
したがって、最初の例のための所望の出力は
Y=[9999 9999 9999 100 100 100 100 100 100]
だから残りのすべて9999
「sはその値によって置き換えられます。
if-else
ステートメントでMATLAB関数を使用しようとしました。また、遅延と比較のブロックを使用してみましたが、目的の出力を得ることができませんでした。
MATLAB Functionを使用するか、またはいくつかのSIMULINKブロックを使用して解決策がありますか?
よろしく
ありがとうございました。完璧。あなたは私が解決策を見つけるのに約6時間かかったことを知っています。あなたは数分で解決策を出しました:)。本当にありがとう。私はあなたの助けに感謝:) – user1178884
あなたの問題が解決されていることを聞いてうれしい。 – Haz