How to write cramer's rule 3x3 by matlab ?

634 views (last 30 days)
ENG. Mohamed Ibrahim
ENG. Mohamed Ibrahim on 10 Mar 2016
Answered: Asif Iqbal on 28 Jan 2022
How to write cramer's rule 3x3 by matlab ?
  1 Comment
James Tursa
James Tursa on 10 Mar 2016
What have you done so far? Do you know how to replace elements in a matrix with other elements? Do you know how to use a for loop? Do you know how to calculate the determinant of a matrix?

Sign in to comment.

Answers (3)

Explorer
Explorer on 10 Mar 2016
Edited: Explorer on 10 Mar 2016
Question: Find the system of Linear Equations using Cramers Rule:
2x + y + z = 3
x – y – z = 0
x + 2y + z = 0
The above example is taken from http://www.purplemath.com/modules/cramers.htm
% Demo Code:
A = [2 1 1; 1 -1 -1; 1 2 1] % Coefficient Matrix
X = [3; 0; 0]
Ax = [3 1 1 ; 0 -1 -1;0 2 1 ]
Ay = [2 3 1; 1 0 -1; 1 0 1]
Az = [2 1 3; 1 -1 0; 1 2 0]
detA=det(A)
x = det(Ax)/detA
y = det(Ay)/detA
z = det(Az)/detA
  5 Comments
Robert Strunz
Robert Strunz on 15 Jan 2021
Edited: Robert Strunz on 15 Jan 2021
Is this a better solution,my matrix is called NAM, and the column vector is I ?
% Create a modified NAM for node b by inserting I into the first column.
mNAM_b = [I NAM(:,2:3)]
delta_b = det(mNAM_b)
VB = delta_b/delta_0
% Create a modified NAM for node c by inserting I into the second column.
mNAM_c = [NAM(:,1) I NAM(:,3)]
delta_c = det(mNAM_c)
VC = delta_c/delta_0
% Create a modified NAM for node e by inserting I into the third column.
mNAM_e = [NAM(:,1) NAM(:,2) I]
delta_e = det(mNAM_e)
VE = delta_e/delta_0
James Tursa
James Tursa on 15 Jan 2021
Rather than creating the modified matrix with concatenation, a direct assignment of the column:
k = the column number to replace
mNAM = NAM;
mNAM(:,k) = I;
This could easily be put into a loop.

Sign in to comment.


Faith Ira Daro
Faith Ira Daro on 24 Nov 2021
given the linear equations:
3x+2y = -5
-5x+7y=1
solve for the values of x and y using cramers rule

Asif Iqbal
Asif Iqbal on 28 Jan 2022
% Demo Code:
A = [2 1 1; 1 -1 -1; 1 2 1] % Coefficient Matrix
X = [3; 0; 0]
Ax = [3 1 1 ; 0 -1 -1;0 2 1 ]
Ay = [2 3 1; 1 0 -1; 1 0 1]
Az = [2 1 3; 1 -1 0; 1 2 0]
detA=det(A)
x = det(Ax)/detA
y = det(Ay)/detA
z = det(Az)/detA

Categories

Find more on Loops and Conditional Statements 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!