Solving an equation for a variable

I am given the following equation,
fx =@(x) ((15*3)/(3*pi^4*70*5.29E-6))*(48*3^3*cos((pi*x)/(2*3))-(48*3^3)+(3*pi^3*3*x^2)-(pi^3*x^3));
If I wanted to find the value of x at say fx = 10, is there a shortcut to do so in MATLAB?

 采纳的回答

Walter Roberson
Walter Roberson 2021-2-22
The trick is to create a new function, such as fx10, that is fx(x)-10 and then do root finding (fzero, fsolve, vpasolve) on that new function.

5 个评论

Note: there are two roots that are close to 0, and another root closer to 8.
I am trying to use the root finding methods you provided, but it is asking for at least two inputs. How do you know what to put for the second input?
Oh nevermind I see now that the second input is where you put the value of the function you are trying to solve for. Thank you for your guidance!
One last question, how were you able to find that there were two roots that were close to zero? Did you plot the function to see or did you do it some other way?
The second input is a starting guess.
I used a negative starting guess and a modest positive starting guess. Afterwards I plotted to confirm.

请先登录,再进行评论。

更多回答(0 个)

类别

Community Treasure Hunt

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

Start Hunting!

Translated by