Help finding roots of expression with with non-integer negative coefficients

Take home final tomorrow so I am looking through previous work that I could not solve. One such expression goes like this (and I am quoting this from the homework solutions): x^2 = 7.097x10^-6 + 1.643x10^-21 x^1-1/0.15 evaluated I get (I did this separate in case I was being stupid): x^2 - 1.634e-21*x^-5.67 - 7.097e-6 = 0
I have been trying to solve this with roots, fzero, and solve but nothing has been helpful. Sorry to ask a question like this but my Matlab reference book doesnt cover this so I am a bit lost trying to find help in a non college town (taking this course online).

3 Kommentare

Please use ^ to indicate exponentiation, and please use () to bracket the various parts for clarity, and please clarify which parts are multiplication (since "x" is used to indicate multiplication sometimes)
For example is 7.097x10-6 intended to indicate 7.097*10^(-6) ?
Thanks for the feedback, I have adjusted my question.
Is it x^(1-1/0.15) or is it (x^1) - 1/0.15 ?
Please switch to * for the multiplications as using x for multiplication is confusing the question.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Is it
x^2 = 7.097*10^(-6)+1.643*10^(-21)*x^(1-1/.15)
??
If so then I find 7 roots, 1 real and 6 complex.
roots() cannot be used for non-integral coefficients. However, if you convert the power to fractional form, and multiply by appropriate powers of x and cube and such things, you can manipulate the expression so that it has only positive integer powers. You would, in this case, get a polynomial in x^23 but you would not actually get 23 solutions as some of the 23 would be artificial, introduced by having multiplied the original by x or taking powers of the expression.
fzero() cannot be used directly to solve for complex roots: you would need to separate the real and imaginary parts as if they were separate variables.

2 Kommentare

I just now did this:
f = 'x^2 - 1.634e-21*x^-5.67 - 7.097e-6';
fzero(f,[.0001,1])
ans =
0.0028
This is the answer I was looking for though I am a bit unsure of how to use fzero and when I try to use it on a similar problem it is kicking back the error:
??? Error using ==> fzero at 246
Function values at interval endpoints must be finite and
real.
0 to a negative exponent is not finite.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 11 Dez. 2011

Community Treasure Hunt

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

Start Hunting!

Translated by