how to get minimum positive solution?

1/K (sin(u)/u-cos(u))+(2-2cos(u)-usin(u))/L=0, K,L is constant, how to get the minimum positive solution of u?

 Réponse acceptée

Star Strider
Star Strider le 26 Fév 2014
Modifié(e) : Star Strider le 26 Fév 2014
K = 11; L = 13;
scu = @(u) 1/K .* (sin(u)./u-cos(u))+(2-2.*cos(u)-u.*sin(u))/L;
uv = [];
for a = 0.01:10
us = fzero(scu, a);
uv = [uv; us];
end
mps = min(uv(uv > 0)) % Minimum Positive Solution

2 commentaires

huang
huang le 26 Fév 2014
Thanks much, but how to keep K and L in the output?
Star Strider
Star Strider le 26 Fév 2014
My pleasure!
The K and L variables are in the same MATLAB workspace that the function and code share. As long as K and L are defined first, before the equation, and the equation is defined before the call to fzero (as I did here), MATLAB will use them appropriately in the equation.
Note that fzero has some limitations. It requires that the equation provided to it is a function of one variable only. It also only returns real results, and those only close to the initial starting point. (This is the reason I used the for loop in both answers.)

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by