How to solve many equations at once? (Not a system but just multiple separate equations)
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
atharva aalok
el 16 de Sept. de 2021
Respondida: KSSV
el 16 de Sept. de 2021
I have a vector of equations in symbollic form instead of using a for loop to solve I want to solve them all at once for speed.
PmSol = linspace(0, .5, 1000);
% after some code in between...
syms x Pm
assume(x, 'real');
eqn1 = 0.5*(x+1)*((1-x*x)^(0.5)) == Pm;
Pm_val = PmSol;
% get different equations for each value of the parameter Pm
eqn = subs(eqn1, Pm, Pm_val);
% the above gives a column of 1000 equations
% The Problem: I want to solve each equation and get the corresponding
% solutions in general I know already that for Pm in this range there will
% be 2 solutions for each equation.
% This does NOT work
solns = solve(eqn, x);
disp(solns);
I want to solve this very quickly. Do not want to use a for loop. How do vectorize the solve operation.
0 comentarios
Respuesta aceptada
KSSV
el 16 de Sept. de 2021
You get the solution for x in terms of Pm first. This will be a symolic xpression. In that you can substiture your Pm values to get x.
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Calculus en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!