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

413 ビュー (過去 30 日間)
ENG. Mohamed Ibrahim
ENG. Mohamed Ibrahim 2016 年 3 月 10 日
回答済み: Asif Iqbal 2022 年 1 月 28 日
How to write cramer's rule 3x3 by matlab ?
  1 件のコメント
James Tursa
James Tursa 2016 年 3 月 10 日
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?

サインインしてコメントする。

回答 (3 件)

Explorer
Explorer 2016 年 3 月 10 日
編集済み: Explorer 2016 年 3 月 10 日
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 件のコメント
Robert Strunz
Robert Strunz 2021 年 1 月 15 日
編集済み: Robert Strunz 2021 年 1 月 15 日
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 2021 年 1 月 15 日
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.

サインインしてコメントする。


Faith Ira Daro
Faith Ira Daro 2021 年 11 月 24 日
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 2022 年 1 月 28 日
% 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

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by