Solving System of Equations - Complex
1 view (last 30 days)
Show older comments
I want to solve a system of equatoins. It is resulting an empty structure. Any help would be greatly appreciated!
I want to solve for: xco2, xco, xo2, xo
With these 4 unkowns I have the following 4 equations:
kp1 = (xo2^(1/2) * p^(1/2)*xco) / xco2
kp2 = (xo^2*p) / xo2
1 = xco2 + xco + xo2 + xo
1/2 = (xco2 + xco) / (xco + xo + 2*xo2)
Here is the following code:
% these are just some arbitrary values I chose for kp1, kp2, and p to see if solutoins could be solved for
kp1 = 2;
kp2 = 3;
p = 1;
syms xco2 xco xo2 xo
equation1 = (1/kp1)*((xo2^(1/2)* p^(1/2)*xco) / xco2);
equation2 = (1/kp2)*((xo^2*p) / xo2);
equation3 = xco2 + xco + xo2 + xo - 1;
equation4 = 2*((xco2 + xco) / (xco + xo + 2*xo2));
sol = solve(equation1,equation2,equation3,equation4, 'xco2 > 0', 'xco > 0'...
,'xo2 > 0', 'xo > 0');
When I type in "sol.xco" or any of the other symbols I am trying to solve for I get an empty structure which I can not explain. Any help would be greatly appreciated!
0 Comments
Accepted Answer
KSSV
on 8 Jul 2020
Try this:
kp1 = 2;
kp2 = 3;
p = 1;
syms xco2 xco xo2 xo
eqns = [(xo2^(1/2)* p^(1/2)*xco)/xco2 == kp1,
(xo^2*p)/xo2 == kp2,
xco2 + xco + xo2 + xo == 1,
(xco2 + xco)/(xco + xo + 2*xo2) == 1/2] ;
sol = solve(eqns,[xco2, xco, xo2, xo])
4 Comments
KSSV
on 8 Jul 2020
Okay.....actually I have octave and answering through that..I have no access to MATLAB. Might be sol is a structure.
Try sol.xo..etc.
More Answers (0)
See Also
Categories
Find more on Upgrading Hydraulic Models to Use Isothermal Liquid Blocks in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!