how to solve simultaneous equations?

303 次查看(过去 30 天)
Dear sir/madam,
I need to solve two simultaneous linear equations. How could I do this in matlab? Looking forward to hearing from you soon.
Thanking you, BSD

采纳的回答

Paulo Silva
Paulo Silva 2011-9-6
Equations:
1x + 2y = 0
2x + 2y = 0
MATLAB code:
A = [1 2;2 2]
B = [0;0]
X = A\B

更多回答(4 个)

Ishika Shivahre
Ishika Shivahre 2021-3-10
x1+x2=1
0.718+y2 = 1
x1*P"= 0.718*86.8
x2*P2" = y2* 86.8
  1 个评论
Walter Roberson
Walter Roberson 2024-4-30
syms x1 x2 y2 P_dprime P2_dprime
eqn1 = x1 + x2 == 1
eqn1 = 
eqn2 = 0.718 + y2 == 1
eqn2 = 
eqn3 = x1 * P_dprime == 0.718*86.8
eqn3 = 
eqn4 = x2 * P2_dprime == y2 * 86.8
eqn4 = 
sol = solve([eqn1, eqn2, eqn3, eqn4], [x1, x2, y2, P_dprime])
sol = struct with fields:
x1: (1250*P2_dprime - 30597)/(1250*P2_dprime) x2: 30597/(1250*P2_dprime) y2: 141/500 P_dprime: (77903*P2_dprime)/(1250*P2_dprime - 30597)
That is as far as you can get. You have 4 equations in 5 variables, so you cannot solve for all of them simultaneously.

请先登录,再进行评论。


Yaavendra Ramsaroop
A=[3, 2 ; 4, 6];
B=[12; 18];
sol=linsolve(A,B)

KELVIN
KELVIN 2023-6-5
编辑:KELVIN 2023-6-5
Step 1: Express your equations into an Augmented Matrix where each equation represents a row of that matrix (excluding the answers/ the value beyond "=" sign.), assign the matrix to a variable. Let say A.
Step 2: Form a column matrix of the answers/ values beyond the "=" sign. Assign the column matrix to another variable B.
Step 3: Compute the solution by 'linsolve()' function OR sipmly A\B=inverse(A)*B
Solution=linsolve(A,B)

SHRDRACK
SHRDRACK 2024-4-30
编辑:Walter Roberson 2024-4-30
A=[3, 2 ; 4, 6];
B=[12; 18];
sol=inv(A)*B
enter in comand window
  2 个评论
Walter Roberson
Walter Roberson 2024-4-30
It is not recommended that you use inv() for this purpose; it is less precise then some of the alternatives.
A=[3, 2 ; 4, 6];
B=[12; 18];
sol=A\B
sol = 2x1
3.6000 0.6000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
Sam Chak
Sam Chak 2024-4-30
Hi @SHRDRACK, In my Grade 10 Math class, my teacher taught me this method of solving a system of linear equations. It's natural to use the inv() command when searching online for how to compute the inverse of a square matrix. Interestingly, even the professor who taught my Numerical Methods course never showed me the trick of Left Matrix Division using "A\b" like @Walter Roberson did.
A = [3, 2; 4, 6];
b = [12; 18];
% step 1
detA = det(A)
detA = 10
% step 2
adjA = adjoint(A)
adjA = 2x2
6.0000 -2.0000 -4.0000 3.0000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
% step 3
invA = (1/detA)*adjA
invA = 2x2
0.6000 -0.2000 -0.4000 0.3000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
% step 4
x = invA*b
x = 2x1
3.6000 0.6000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Particle & Nuclear Physics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by