How to write cramer's rule 3x3 by matlab ?
Show older comments
How to write cramer's rule 3x3 by matlab ?
1 Comment
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?
Answers (3)
Question: Find the system of Linear Equations using Cramers Rule:
2x + y + z = 3
x – y – z = 0
x + 2y + z = 0
% 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
6 Comments
Batool Alfaraj
on 10 Apr 2018
How did you do the Ax, Ay, Az?
James Tursa
on 10 Apr 2018
By selectively replacing a column of A with X. Ax has 1st column replaced, Ay has 2nd column replaced, Az has third column replaced.
Robert Strunz
on 15 Jan 2021
Is there not a tider way of replacing columns in a matrix than this?
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
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.
This is my solution
%original matrix
x=[2 1 1;1 -1 -1;1 2 1]
res=[3 0 0]
detx=det(x)
sx=length(x)
ans=zeros(1,sx)
sistem=repmat(x,1,1,3);
%replace independent matrix in original matrix
for i=1:1:sx
sistem(:,i,i)=res;
ans(:,i)=det(sistem(:,:,i))/detx;
end
disp(ans)
Faith Ira Daro
on 24 Nov 2021
0 votes
given the linear equations:
3x+2y = -5
-5x+7y=1
solve for the values of x and y using cramers rule
Asif Iqbal
on 28 Jan 2022
0 votes
% 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 Linear Algebra 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!