How can calculate this formula with matlab?

조회 수: 1 (최근 30일)
fede
fede 2015년 11월 5일
댓글: Torsten 2015년 11월 5일
I have the vectors w(1,n) and σ(n,1). How can calculate this formula?

채택된 답변

Thorsten
Thorsten 2015년 11월 5일
편집: Thorsten 2015년 11월 5일
You can pull the w_i and sigma_i outside of the sum_j, because the don't depend on j. And you can compute the sum_j nicely as a matrix multiplication of row vector w and column vector sigma.
w = rand(1,10); % sample values for w and s
s = rand(10, 1);
N = numel(w);
y = 0;
for i=1:N-1
y = y + s(i)*w(i)* w(i+1:end)*s(i+1:end);
end
y = 2*y;
  댓글 수: 2
fede
fede 2015년 11월 5일
give me Error using * Inner matrix dimensions must agree.
Torsten
Torsten 2015년 11월 5일
Note that "w" must be a row vector whereas "s" must be a column vector if you want to use Thorsten's code.
Best wishes
Torsten.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Torsten
Torsten 2015년 11월 5일
sum_total=0.0;
for i=1:(N-1)
sum_j=0.0;
for j=(i+1):N
sum_j = sum_j + w(j)*sigma(j);
end
sum_total = sum_total + w(i)*sigma(i)*sum_j;
end
sum_total = 2.0*sum_total;
Best wishes
Torsten.

카테고리

Help CenterFile Exchange에서 Mathematics에 대해 자세히 알아보기

태그

아직 태그를 입력하지 않았습니다.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by