MATRIX COFACTOR
古いコメントを表示
I need to know a function to calculate the cofactor of a matrix, thank a lot!
7 件のコメント
Quilee Simeon
2018 年 8 月 21 日
cofactor matrix for a matrix A is just det(A)*inv(A)
Zoe Herrick
2018 年 9 月 14 日
編集済み: Walter Roberson
2018 年 9 月 15 日
det(A)*inv(A) gives the adjugate or classical adjoint of matrix A which is the Transpose of the cofactor matrix.
This wiki article gives a brief layout of this:
Franco Salcedo Lópezz
2019 年 11 月 14 日
Here I leave this code, I hope it helps. Regards..
function v = adj(M,i,j)
t=length(M);
v=zeros(t-1,t-1);
ii=1;
ban=0;
for k=1:t
jj=1;
for m=1:t
if ( (i~=k)&&(j~=m) )
v(ii,jj)=M(k,m);
jj++;
ban=1;
endif
endfor
if(ban==1)ii++;ban=0;endif
endfor
Walter Roberson
2020 年 2 月 6 日
ii++ is not valid MATLAB though. And endif and endfor are not MATLAB either.
Fernando Salinas
2020 年 11 月 10 日
I wrote this in GNU/Octave but I guess it should work on MATLAB
function cofactor = matrizCofactores(A)
[rows, cols] = size(A);
if rows == cols
for i = 1 : rows,
for j = 1 : cols,
Menor = A;
Menor(i,:) = [];
Menor(:,j) = [];
if mod((i+j),2) == 0
cofactor(i,j) = det(Menor);
else
cofactor(i,j) = -det(Menor);
endif
endfor
endfor
endif
endfunction
Natasha St Hilaire
2021 年 10 月 7 日
What is "menor" short for?
Walter Roberson
2021 年 10 月 8 日
I suspect that the English word would be "minor". The Spanish word "menor" can be translated as English "minor" in some situations.
採用された回答
その他の回答 (2 件)
Dr. Murtaza Ali Khan
2019 年 9 月 28 日
A = [
2 4 1
4 3 7
2 1 3
]
detA = det(A)
invA = inv(A)
cofactorA = transpose(detA*invA)
2 件のコメント
Franco Salcedo Lópezz
2019 年 11 月 14 日
編集済み: Franco Salcedo Lópezz
2019 年 11 月 14 日
Here I leave this code, I hope it helps. Regards
function v = adj(M,i,j)
t=length(M);
v=zeros(t-1,t-1);
ii=1;
ban=0;
for k=1:t
jj=1;
for m=1:t
if ( (i~=k)&&(j~=m) )
v(ii,jj)=M(k,m);
jj++;
ban=1;
endif
endfor
if(ban==1)ii++;ban=0;endif
endfor
Walter Roberson
2021 年 10 月 11 日
This is not MATLAB code. It might be Octave.
Francisco Trigo
2020 年 2 月 6 日
0 投票
The matrix confactor of a given matrix A can be calculated as det(A)*inv(A), but also as the adjoint(A). And this strange, because in most texts the adjoint of a matrix and the cofactor of that matrix are tranposed to each other. But in MATLAB are equal. I found a bit strange the MATLAB definition of the adjoint of a matrix.
1 件のコメント
Zuhri Zuhri
2021 年 9 月 28 日
adjoint matrix is the transpose of the cofactor matrix so the above result is correct
カテゴリ
ヘルプ センター および File Exchange で Performance and Memory についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!