-1
おはよう、単純なMatlabループの作成
私はループについては疑問があります。私はそれが本当のシンプルだと思うが、私はそれをやる方法を得ていない。私は質問を簡素化しようとしています。
x= [... ; 106; 112; 111]
param= [1.2 ; 1.5; 1.7]
私がする必要があるのは以下のとおりです。これを行うことにより、3つの新しい値を作成します。
第一ループ:
> y(k) = a1*x(k-1) - a2*x(k-2) - a3*x(k-3)
> y(k) = (1.2*111)+(1.5*112)+(1.7*106) =
> y(K) = 481, 4 result of the new value
第二ループ:
x= [... ; 106; 112; 111; 481,4] % this is the new added value to the vector:
y(k) = a1*x(k-1) - a2*x(k-2) - a3*x(k-3)
y(k) = (1.2*481,4)+(1.5 *111)+(1.7*112) =
y(K) = result of the 2 new value
ルーチンは '順序によって' いつものparam値を使用することです最後から2番目の値を使ってxベクトルを乗じると、次のようになります。私は3つの新しい時代を作り出さなければならないので、それを管理する方法を知らない。
アドバイスをいただければ幸いです! :)ありがとうございました
質問はかなり曖昧です。 a1からa3とは何ですか?あなたは 'y(k)=(1.2 * 111)+(1.5 * 112)+(1.7 * 106)= y(K)=新しい値の結果で何をしますか?実際に使用できるベクトル 'x'を指定することもできますし、サイズやその他の情報を記述することもできます。 – JCKaz
あなたがしようとしているのは、 'x'と反転した' param'( 'conv(x、flip(param))'とか 'conv(x、[0; flip(param) )]) '(x(k)はスキップされるので)。それがあなたが期待しているものかどうか試してみてください。 – Florian
お返事ありがとうございました! JCKaz、a1、a2 ... ara paramベクトル(a1 = 1.2、a2 = 1.5、a3 = 1,7)。たとえば、x = [30; 41; \t 71; 106; 112; 111](ただし、最後の3つの値が必要です)。 –