matlab 求一个1*n阶矩阵的所有1*(n-1)阶子矩阵
答案:2 悬赏:40
解决时间 2021-03-24 12:34
- 提问者网友:霸道ぁ小哥
- 2021-03-24 00:53
matlab 求一个1*n阶矩阵的所有1*(n-1)阶子矩阵
最佳答案
- 二级知识专家网友:转身后的回眸
- 2021-03-24 01:47
其实就是一个简单的组合问题:
>> n=5;
>> A=rand(1,n)
A =
0.8147 0.9058 0.1270 0.9134 0.6324
>> I=nchoosek(1:n,n-1);
>> B=A(I)
B =
0.8147 0.9058 0.1270 0.9134
0.8147 0.9058 0.1270 0.6324
0.8147 0.9058 0.9134 0.6324
0.8147 0.1270 0.9134 0.6324
0.9058 0.1270 0.9134 0.6324B的每一行就是一个A的1x(n-1)阶子矩阵。
>> n=5;
>> A=rand(1,n)
A =
0.8147 0.9058 0.1270 0.9134 0.6324
>> I=nchoosek(1:n,n-1);
>> B=A(I)
B =
0.8147 0.9058 0.1270 0.9134
0.8147 0.9058 0.1270 0.6324
0.8147 0.9058 0.9134 0.6324
0.8147 0.1270 0.9134 0.6324
0.9058 0.1270 0.9134 0.6324B的每一行就是一个A的1x(n-1)阶子矩阵。
全部回答
- 1楼网友:飘零作归宿
- 2021-03-24 03:19
matlab中没有直接求伴随矩阵的函数,所以可以通过编写程序实现。可参照:
function b = adj(a)
%求伴随矩阵
%adj matrix adjoint.
% adj(a) is the adjoint matrix of square matrix a.
% it is computed using the cayley-hamilton theorem.
% the inverse of a is: inv(a) = adj(a)/det(a).
%
% matrices that are not invertable still have an adjoint.
%written by paul godfrey, april, 1998
%[email protected]
ce = poly(eig(a));
cesize = max(size(ce));
p = [0 ce(1:(cesize-1))];
s = (-1)^(max(size(a))+1);
b = s*polyvalm(p,a);
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯