Хорошо, что вы описываете, это проблема вектор/умножения матриц, которые можно закодировать как:
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)
.
Привет, вопрос непонятен. Я уверен, что мы можем вам помочь, если вы можете сделать вопрос более ясным и показать, что вы пробовали до сих пор в MATLAB. – nalyd88
Я думаю, вы только что сделали. В чем проблема? – beaker
@umTaha: я ответил на ваш вопрос? – barceloco