MATLAB: How to solve an equation in a certan interval.

solve interval equation

syms w; % variable, that define the y axis
lam = 4*pi()^2 % constant, that define the x axis
tan(w/2) == w/2 - (4/(lam))*(w/2)^3 % equation
That equation with that constant has many solutions. What I pretend is to resolve the equation (maybe with solve) for lam = 4*pi()^2, in a certain interval of y, in order to catch a specific solution. For example, I know that for that constant there is a solution of w/pi() = 2 in the interval w/pi()=[1.5 2.5], (y axis).
I was trying with this:
syms w;
x = fsolve(@(w) tan(w/2) == w/2 - (4./(lam)).*(w/2).^3, [1.5*pi() 2.5*pi()]);
But is giving me some problems that I canĀ“t resolve.
On Maple software the structure of the program is more or less the same, but it gives me the solutions that I want in specific intervals of y axis.
Matlab has to do it too or it doesn't?
Thanks to all.

Best Answer

The function you provide to fsolve() needs to have a numeric result rather than a logical result. Convert your form A==B to (A)-(B) or (B)-(A)