首页 > 电脑 > matlab中编辑一个函数求行列式的值,不能用det

matlab中编辑一个函数求行列式的值,不能用det

电脑 2023-02-11

如何用matlab编写一个函数计算行列式的值,但是不用det?

不用det函数,如何用matlab编写一个函数计算行列式的值?编写该程序,我们可以利用代数余子式方法求取矩阵行列式值。通过递归的方法进行计算。其实现代码: function d=det1(A) [n,m]=size(A); if n==m if n==1; d=A; elseif n==2, d=A(1,1)*A(2,2)-A(1,2)*A(2,1); else, d=0; A1=A; A1(1,:)=[]; for i=1:n A2=A1; A2(:,i)=[]; d=d+A(1,i)*(-1)^(1+i)*det1(A2); end, end else, error('A rectangu

matlab中编辑一个函数求行列式的值,不能用det,要用代数余子式。急死了!非常感谢。

function a=det_NMatrix(A) N=length(A); %求方阵阶,A必须是方阵 if N==1 a(1)=A(1,1); %若为一阶,输出本身 else for i=1:N A1=A; A1(1,:)=[]; A1(:,i)=[]; %求余子式 a(i)=(-1)^(i+1)*A(1,i)*det_NMatrix(A1); end end a=sum(a); %得行列式值 嘿嘿 做的不是很好,不是很快啊

求化三角形法求行列式值的matlab程序,不用det

function d=det3(A)
n=length(A); U=sym(zeros(size(A))); L=sym(eye(size(A)));
U(1,:)=A(1,:); L(:,1)=A(:,1)/U(1,1);
for i=2:n
for j=2:i-1
L(i,j)=(A(i,j)-L(i,1:j-1)*U(1:j-1,j))/U(j,j);
end
for j=i:n,
U(i,j)=A(i,j)-L(i,1:i-1)*U(1:i-1,j);
end
end
d=prod(diag(U));
end
A=[2 3 5 9;5 9 8 3;0 3 2 4;3 4 5 8]
d1=det(A)
d2=det3(A)【摘要】

求化三角形法求行列式值的matlab程序,不用det【提问】

function d=det3(A)

n=length(A); U=sym(zeros(size(A))); L=sym(eye(size(A)));

U(1,:)=A(1,:); L(:,1)=A(:,1)/U(1,1);

for i=2:n

for j=2:i-1

L(i,j)=(A(i,j)-L(i,1:j-1)*U(1:j-1,j))/U(j,j);

end

for j=i:n,

U(i,j)=A(i,j)-L(i,1:i-1)*U(1:i-1,j);

end

end

d=prod(diag(U));

end

A=[2 3 5 9;5 9 8 3;0 3 2 4;3 4 5 8]

d1=det(A)

d2=det3(A)【回答】

请问这句for i=2:n

for j=2:i-1

L(i,j)=(A(i,j)-L(i,1:j-1)*U(1:j-1,j))/U(j,j);

end

for j=i:n,

U(i,j)=A(i,j)-L(i,1:i-1)*U(1:i-1,j);

end

end

可以解释一下原理吗【提问】

可以用化三角形法用初等变换将行列式化成上三角形下方都为零的形式,matlab程序【提问】

采用高斯消去法化简,化简成行阶梯形。【回答】

三角化简【回答】

有可以不用高斯消去法,只用初等变换使行列式化成行阶梯形的程序吗【提问】

高斯消去法与初等行变换实际是相类似的【回答】

如何用matlab计算行列式的值?

算法如下:

>> A=[1 2 5 810 8 7 64 56 8 231 56 88 3];>> det(A)ans =-341874

det()是求行列式的函数

>> syms a b c d e f g h i>> A=[a b c;d e f ;g h i]A =[ a, b, c][ d, e, f][ g, h, i]>> det(A)ans =a*e*i - a*f*h - b*d*i + b*f*g + c*d*h - c*e*g

扩展资料

代码生成:

HDL Coder:可替代 Simulink HDL Coder 的新产品,添加了直接从 MATLAB 生成 HDL 代码功能

HDL Verifier:可替代 EDA Simulator Link 的新产品,添加了 Altera FPGA 在环支持

MATLAB Coder:可从用户定义的系统对象生成代码并自动生成动态共享库

Embedded Coder:AUTOSAR4.0 兼容性,减少了数据副本,并通过 Simulink Web 视图实现代码生成报告的链接

用于在 MATLAB 和 Simulink 中进行设计的系统工具箱 (System Toolbox)

Computer Vision System Toolbox:Viola-Jones 对象检测、MSER特征检测和 CAMShift 跟踪

Communications System Toolbox:USRP 无线电支持、LTE MIMO 信道模型以及 LDPC、Turbo解码器和其他算法的 GPU 支持

Simulink:从目标硬件(包括 LEGO® MINDSTORMS® NXT 和 BeagleBoard)上的 Simulink 直接运行模型的能力

SimMechanics:具有新的三维可视化功能的第二代多体建模和仿真技术

Real-Time Windows Target:使用 Simulink 标准模式实时执行 Windows® 中的模型

参考资料:百度百科—MATLAB

用matlab求行列式的值

用matlab求行列式的值,可以参考下面的代码:

>> syms a b c d e f g h i

>> A=[a b c;d e f ;g h i]

A =

[ a, b, c]

[ d, e, f]

[ g, h, i]

>> det(A)

ans =

a*e*i - a*f*h - b*d*i + b*f*g + c*d*h - c*e*g

扩展资料:

Matlab常用函数和命令

acot( )反余切(返回弧度)

Asind( )反正弦(返回度数)

acotd( )反余切(返回度数)

tand( )正切(变量为度数)

abs( ) 取绝对值

atan( ) 反正切(返回弧度)

angle( )返回复数的相位角

rank求出矩阵的刺

pinv求伪逆矩阵

A^p对A进行操作

参考资料来源:百度百科-MATLAB


标签:信息技术 matlab 行列式 数学

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18