how to solve simultaneous equations?

279 visualizaciones (últimos 30 días)
bsd
bsd el 6 de Sept. de 2011
Comentada: Sam Chak el 30 de Abr. de 2024
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
  1 comentario
MUYIDEEN MOMOH
MUYIDEEN MOMOH el 24 de Mzo. de 2019
Question
3x+2y=12
4x+6y=18
Matlab code
A=[3, 2 ; 4, 6];
B=[12; 18];
sol=linsolve(A,B)

Iniciar sesión para comentar.

Respuesta aceptada

Paulo Silva
Paulo Silva el 6 de Sept. de 2011
Equations:
1x + 2y = 0
2x + 2y = 0
MATLAB code:
A = [1 2;2 2]
B = [0;0]
X = A\B

Más respuestas (4)

Ishika Shivahre
Ishika Shivahre el 10 de Mzo. de 2021
x1+x2=1
0.718+y2 = 1
x1*P"= 0.718*86.8
x2*P2" = y2* 86.8
  1 comentario
Walter Roberson
Walter Roberson el 30 de Abr. de 2024
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.

Iniciar sesión para comentar.


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

KELVIN
KELVIN el 5 de Jun. de 2023
Editada: KELVIN el 5 de Jun. de 2023
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 el 30 de Abr. de 2024
Editada: Walter Roberson el 30 de Abr. de 2024
A=[3, 2 ; 4, 6];
B=[12; 18];
sol=inv(A)*B
enter in comand window
  2 comentarios
Walter Roberson
Walter Roberson el 30 de Abr. de 2024
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 el 30 de Abr. de 2024
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>

Iniciar sesión para comentar.

Categorías

Más información sobre Particle & Nuclear Physics en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by