# How to solve many equations at once? (Not a system but just multiple separate equations)

2 views (last 30 days)
atharva aalok on 16 Sep 2021
Answered: KSSV on 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.

KSSV on 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.

R2021a

### Community Treasure Hunt

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

Start Hunting!