如何用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 展开
如下,请指教
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 展开
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)”。就能得出结果。
正常电脑
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)”。就能得出结果。
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询