Evaluate elementary symmetric polynomials

조회 수: 20 (최근 30일)
Claudio Bellani
Claudio Bellani 2014년 7월 13일
답변: Roger Stafford 2014년 7월 13일
Given n variables x_1...x_n and given an integer 1<=k<=n, I'd like to evaluate the k-th elementary symmetric polynomial, as defined -for instance- here:
My attempt was to store x=[x_1,...x_n], to define a vector j=[] of length k and then to execute
for j(1)=1:n
for j(2)=j(i):n
...
for j(n)=j(k-1):n
e=e + x(j(1))*...*x(j(k));
end...end
How to replace the dots?

채택된 답변

Roger Stafford
Roger Stafford 2014년 7월 13일
Let v = [x_1,x_2,x_3,...,x_n] be a vector of the values of x_i.
e = sum(prod(nchoosek(v,k),2));

추가 답변 (0개)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by