如何用MATLAB计算矩阵的行列式

利用矩阵的Laplace展开定理,而非用det命令求得。请教M程序该如何编写?如下,请指教functiony=detnn(A)y=0;[n,n]=size(A);ifn=... 利用矩阵的Laplace展开定理,而非用det命令求得。请教M程序该如何编写?
如下,请指教
function y=detnn(A)
y=0;
[n,n]=size(A);
if n==3
y=det33(A);
end
for i=1:n
y=y+(-1)^(i+1)*A(1,i)*detnn(A(2:n, [1:(i-1) (i+1):n]));
end
展开
 我来答
巴慕竺美曼
2019-11-01 · TA获得超过1348个赞
知道小有建树答主
回答量:1797
采纳率:100%
帮助的人:8.3万
展开全部
工具:
正常电脑
matlab软件
方法/步骤:
1、矩阵行列式的数学定义
行列式的定义是通过方程组的求解引入的,也可以说是行列式是由求解线性方程组产生的一种算式把!下面就介绍一下行列式的数学表示法。以三阶行列式为例。
2、matlab求行列式指令简介
matlab计算对应矩阵行列式的值的指令为:d=det(a),该指令返回方阵a的行列式,并赋给d。若a仅包含整数项,则该结果d也是一个整数。
下面是matlab给出的帮助信息,我们可以通过help
det

doc
det获取。乳腺图所示:
3、生成一个矩阵
这里先生成一个矩阵,然后有计算行列式时调用。生成矩阵的方法有很多种,如a=[1,2,3;4,5,6;7,8,9],a=[1
2
3
;
4
5
6
;
7
8
9],
或者
a=
1
2
3
4
5
6
7
8
9
此外还有一些其他指令可以生成矩阵,如:zeros(m,n),ones(m,n),eye(m,n),diag(x),rand(m,n)等,这里就在显示了。
4、求解上面两个矩阵的行列式,掉一批能干指令:“h_a=det(a)”和“h_b=det(b)”。就能得出结果。
inplaygo
2009-11-04 · TA获得超过983个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:174万
展开全部
function y=detnn(A)
y=0;
[n,n]=size(A);
if n==1
y=A;
else
for i=1:n
y=y+(-1)^(i+1)*A(1,i)*detnn(A(2:n, [1:(i-1) (i+1):n]));
end
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
佛问兰bX
2009-11-24
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
clear
clc
n0=20;
e=1e0;
r0=(1:n0);
p0=poly(r0);
t=1;
for k=14:2:20
p=p0;
p(n0-k+1)=p(n0-k+1)+e;
r(:,k)=roots(p);
subplot(2,2,t)
plot(real(r(:,k)),imag(r(:,k)),'*')
xlabel('根的实部')
ylabel('根的虚部')
grid on
t=t+1;
end
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式