Solve a variable-size array of linear eqns
2 views (last 30 days)
Show older comments
Hi,
I need to solve some (between 2 and 20, say) linear equations. Up til now I calculate the expressions in a loop, saving them in an array, e.g.
6
3 + 2*Y1
10 +0.5*Y1 - 3*Y2
and then I manually run:
A = solve('Y1=6','Y2=3+2*Y1','Y3=10+0.5*Y1-3*Y2','Y1','Y2','Y3')
I want to be able to save any number of these expressions and pass an array of them as input to the 'solve' function, so something like:
A = solve(Y)
Is this possible?
Thanks
0 Comments
Accepted Answer
Andrew Newell
on 22 Jun 2011
It would be much faster to express this as a matrix equation, e.g.,
M = [1 0 0; -2 1 0; -0.5 3 1];
b = [6; 3; 10];
y = M\b % solve M*y = b
Or, if you prefer a symbolic solution,
M = sym([1 0 0; -2 1 0; -0.5 3 1]);
b = sym([6; 3; 10]);
y = M\b
More Answers (0)
See Also
Categories
Find more on Symbolic Math Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!