How to solve this equation Numerically [VPASOLVE]
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Meddour Aissam riad
le 1 Oct 2020
Réponse apportée : Alan Stevens
le 1 Oct 2020
Hi there,
When i try to numerically solve my equation i got the following error :
Error using mupadengine/feval_internal (line 172)
More equations than variables is only supported for polynomial systems.
I simplified the equation to give you an example, and here is the equation example (the matlab code):
syms Idn
%%data
Ism=200;
Wb=1500;
speedend=6000;
Vsm=100;
Ws=Wb:15:speedend;
Eq2=Idn==sqrt(Idn)+(((2.4*10.^(-5))*(Idn).^2-0.013*(Idn+3.3)*10^(-3)))*Ws/Vsm %%The equation
Idn=vpasolve(Eq2,Idn)
Can anyone help me to solve this kind of equation?
1 commentaire
Star Strider
le 1 Oct 2020
Probably not.
When I ran this:
syms Idn
%%data
Ism=200;
Wb=1500;
speedend=6000;
Vsm=100;
Ws=Wb:15:speedend;
Eq2=Idn==sqrt(Idn)+(((2.4*10.^(-5))*(Idn).^2-0.013*(Idn+3.3)*10^(-3)))*Ws/Vsm %%The equation
Idns=solve(Eq2,Idn)
Idn = simplify(vpa(Idns), 'Steps',150)
the result was:
Idns =
Empty sym: 0-by-1
Idn =
Empty sym: 0-by-1
.
Réponse acceptée
Alan Stevens
le 1 Oct 2020
You can solve it numerically using fzero.
Ism=200;
Wb=1500;
speedend=6000;
Ws=Wb:15:speedend;
Idn = zeros(size(Ws));
Idn0 = 1;
for i = 1:numel(Ws)
Idn(i) = fzero(@f,Idn0,[],Ws(i));
end
plot(Ws,Idn),grid
xlabel('Ws'),ylabel('Idn')
function F = f(Idn,Ws)
Vsm=100;
F = sqrt(Idn)+(((2.4*10.^(-5))*(Idn).^2-0.013*(Idn+3.3)*10^(-3)))*Ws/Vsm-Idn; %%The equation
end
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Equation Solving dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!