-1
早上好,简单的Matlab循环创建
我对循环有怀疑。我认为这很简单,但我不知道如何去做。我会试着简化这个问题。
x= [... ; 106; 112; 111]
param= [1.2 ; 1.5; 1.7]
我需要做的是以下几点。创建三个新的价值观,这样做:
第一环:
> 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
例行在于使用始终帕拉姆值 '按订单'并使用倒数第二个值乘以x向量,然后乘以倒数第二个和以下。我不知道如何管理它,因为它必须创造三个新的时代。
任何意见将不胜感激! :)在此先感谢
的问题是相当模糊。什么是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个值)。 –