Use fsolve with an elliptic integral
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
carlos Hernando
am 17 Mär. 2020
Kommentiert: carlos Hernando
am 17 Mär. 2020
Hello,
I need to solve a non-linear equation with an eliptic integral in it. I tried to used fsolve but it don't want to work, any ideas. I copy the code below:
NI = 6.749914199660242e+05;
NI_ol = 1.749914199660242e+05;
Muo = 4*pi*10^-7; % (T*m/A)
a = 0.2073;
y = 0.15;
% Bos_c = Muo*(NI-NI_ol)*(a^2)/((z(1)^2 + a^2)^(1.5));
% m = (4*a*y)/((a+y)^2+z(1)^2);
%
% [K, E]= ellipke(m);
% Be = 2*Muo*NI*a*((2*m)^0.5)*(a*m*E/(2-2*m) + y*K - y*(2-m)*E/(2-2*m))/(2*pi*(2*a*y)^(1.5));
F=@(z) [Muo*(NI-NI_ol)*(a^2)/((z(1)^2 + a^2)^(1.5))...
- 2*Muo*NI*a*((2*m)^0.5)*(a*m*E/(2-2*m) + y*K - y*(2-m)*E/(2-2*m))/(2*pi*(2*a*y)^(1.5));...
m - (4*a*y)/((a+y)^2+z(1)^2);
[K, E]== ellipke(m)];
z_c = [0; 1000];
opts = optimoptions(@fsolve,'Algorithm', 'levenberg-marquardt');
neff = fsolve(F,z_c,opts);
0 Kommentare
Akzeptierte Antwort
Matt J
am 17 Mär. 2020
Bearbeitet: Matt J
am 17 Mär. 2020
It does not make sense to have a relational expression like,
[K, E]== ellipke(m)
as one of your equations, expecially one that doesn't depend on any of your unknowns, z(i). Also, z(2) is not used anywhere in the system of equations. In other words, you have multiple equations in a single unknown z(1), so the system is not likely to have a solution.
6 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Systems of Nonlinear Equations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!