What does this mean (in solving a polynomial)
2 ビュー (過去 30 日間)
古いコメントを表示
Hello everyone, and pardon my stupid question;
So, I have this polynomial equation:
I = (z*t*N)/2 + b*((z*N))^(1/d) - U*A*h + P*h + R*A - L - (t*N)/2
After setting the variables ("syms z A P h b N U R d L t")
and I set d = 0.1
the result I get in solving it ("Solve(I,z)") is:
ans =
RootOf(2*N^10*b*z1^10 + N*t*z1 - 2*A*U*h + 2*A*R - N*t + 2*P*h - 2*L, z1)
The question is: what is that "z1"? Is it maybe the second other root? or it just tells me that the two solutions coincide?
Moreover, if I set d = 1, I get only one root, which is:
(2*L - 2*P*h + N*t - 2*A*R + 2*A*U*h)/(2*N*b + N*t)
Where is the other solution?
I apologize if maybe this looks like a dumb question, just I'm stucked here and don't know how to interpret these results..:(
I would be very grateful if someone could give me some help! Thanks a lot!
0 件のコメント
回答 (2 件)
Roger Stafford
2014 年 2 月 3 日
When you set d = 0.1, matlab computed 1/d to be 10 which makes your expression for I be a polynomial of the tenth degree. The solution given by 'solve' is simply stating that your z is the same as one of the ten roots of the derived expression for z1. In other words the solutions to that polynomial will be the solutions to your expression. It hasn't had to work very hard to get that trivial result. However, 'solve' can be forgiven for this, because it has no way of giving you a general formula for the roots of tenth degree polynomials in terms of general quantities t, N, b, U, A, etc. There is no known such formula, and mathematicians have proven that it can't be done in terms of involution functions (square roots, cube roots, etc.) for polynomials of degree greater than four.
As to the case with d = 1, that will give you a linear function of z, and as you learned in your algebra class, this can have only one root. There are no more solutions. If you set d = 1/2, you will get the two roots of a quadratic equation, if you set d = 1/3, you get three, and so forth.
As you see, it certainly makes a difference as to what you set d equal to.
Walter Roberson
2014 年 2 月 3 日
When you have RootOf(f(z),z) show up, it stands in for "the set of all z such that f(z) is 0" -- in other words, for the "roots" of the expression. Chances are the roots are going to be different than each other. With a 10th order polynomial, an even number of the roots will be real-valued and the rest will be complex valued.
The "z" variable that shows up will be an introduced variable, a place-holder, and the second argument of RootOf will tell you which variable is the placeholder for this expression. It is possible to get nested RootOf() by the way.
参考
カテゴリ
Help Center および File Exchange で Polynomials についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!