How to solve many equations at once? (Not a system but just multiple separate equations)
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
atharva aalok
am 16 Sep. 2021
Beantwortet: KSSV
am 16 Sep. 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 Kommentare
Akzeptierte Antwort
KSSV
am 16 Sep. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Symbolic Math Toolbox 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!