2015-08-07 2 views
-2

У меня есть данные в x и y, и я хочу решить следующее уравнение с использованием Matlab. Как написать уравнение Matlab CODE?matlab написать уравнение в MATLAB?

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

Привет, вопрос непонятен. Я уверен, что мы можем вам помочь, если вы можете сделать вопрос более ясным и показать, что вы пробовали до сих пор в MATLAB. – nalyd88

+0

Я думаю, вы только что сделали. В чем проблема? – beaker

+0

@umTaha: я ответил на ваш вопрос? – barceloco

ответ

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; 

Я предполагал, что оба вектора, x и y - векторы столбцов. В нотации 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).

Смежные вопросы