How can i call the value of another variable defined or solved above for solving another equation?

조회 수: 2 (최근 30일)
Right now, I have a 6-order polynomial expression, it has only one variable.
I want to be able to call values of some variable defined or obtained above, and solve the polynomial equation for different values of the expression.
I used the following code, but it does not work.
p(1)=1,p(2)=2,p(3)=3,p(4)=4,p(5)=5,p(6)=6,p(7)=7;
f(1)=1,f(2)=2,f(3)=3,f(4)=4,f(5)=5,f(6)=6,f(7)=7;
solve('p(1)*(x.^6)+p(2)*(x.^5)+p(3)*(x.^4)+p(4)*(x.^3)+p(5)*(x.^2)+p(6)*x+ p(7)=f(1)');
what mistake have I made? or in what ways can achieve this purpose?
Thank you.

채택된 답변

Roger Stafford
Roger Stafford 2014년 7월 23일
편집: Roger Stafford 2014년 7월 23일
Instead of using 'solve' try using 'roots' for numerical solutions. It will be much faster.
Also, 'solve' will in general be unable to find symbolic solutions for sixth order polynomials.
  댓글 수: 1
zy
zy 2014년 7월 24일
Thank you very much, 'roots' works.
Since it is a 6 order polynomial equation, there may be up to 6 roots including real roots and complex roots.
Can I do something to filter or pick up only real roots?

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

추가 답변 (1개)

Matz Johansson Bergström
Matz Johansson Bergström 2014년 7월 23일
편집: Matz Johansson Bergström 2014년 7월 23일
Try
syms x
p = 1:7;
f = 1:7;
solve(p(1)*x^6+p(2)*x^5+p(3)*x^4+p(4)*x^3+p(5)*x^2+p(6)*x+p(7)==f(1), x)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by