matlab在MATLAB中编写方程?

时间:2015-08-07 20:47:02

标签: matlab

我在xy 中有数据,我想使用Matlab 解决下一个等式。如何编写matlab CODE方程?

y= y1, ...,y(n-1),yn;
x=x1,...x(n-1),xn

例如

C= 0.2345+5.423*y(n-1)*x(n-3)+2*y(n-5)*x(n-4)

1 个答案:

答案 0 :(得分:0)

好的,您所描述的是矢量/矩阵乘法问题,您可以将其编码为:

c0 = 0.2345; % this is your first constant that you use in C

n = 6;       % for the sake of argument, I will assume n=6;

M = [ 0      2      0      0      0      0;
      0      0      0      0      0      0;
      0      0      0      0      0      0;
      0      0      0      0      0      0;
      0      0      5.423  0      0      0;
      0      0      0      0      0      0];

C = c0 + y' * M * x;

我假设两个向量xy都是列向量。 Matlab表示法y'是向量y的转置,它是一个行向量。

当我们写C = c0 + y'*M*x时,我们基本上会说(使用伪代码)

C = c0 + sum(i=1:n)( sum(j=1:n)( m(i,j) * y(i) * x(j) ) )

请注意,此方法允许您将任意因子乘以y(i)*x(j)简单地存储在M(i,j)位置。