how to get minimum positive solution?

1 visualizzazione (ultimi 30 giorni)
huang
huang il 26 Feb 2014
Commentato: Star Strider il 26 Feb 2014
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?

Risposta accettata

Star Strider
Star Strider il 26 Feb 2014
Modificato: Star Strider il 26 Feb 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 Commenti
huang
huang il 26 Feb 2014
Thanks much, but how to keep K and L in the output?
Star Strider
Star Strider il 26 Feb 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.)

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by