MATLAB自带变量名以及行列式det函数的实现

一、自带变量名汇总

  1. pi——圆周率π
  2. inf或Inf——正无穷大
  3. -inf或-Inf——负无穷大
  4. i——虚数单位
  5. eps(x)——abs(x)到与与x精度相同的下一个较大浮点数的正距离

二、det函数的实现

     

       MATLAB实现代码如下:

A = [2,1,3;
     4,6,5;
     7,8,9;];
B = 2;
C = [1,2,3;
    4,5,6;];
mydet(A)
det(A)
mydet(B)
det(B)
mydet(C)
function D = mydet(A)
[r,c] = size(A); %求出矩阵的行和列
if r~=c
    error('输入的矩阵不是方阵'); %报错,跳出函数
end
if r==1
    warning('一阶方阵'); %提醒,不跳出函数
    D = A(1,1);
    return
end
D = 0; %初始化
for i = 1:r
    if i==1
        subA = A(2:r,2:r);
    elseif i==r
        subA = A(2:r,1:r-1);
    else
        subA = [A(2:r,1:i-1),A(2:r,i+1:r)];
    end
    D = D+(-1)^(i+1)*A(1,i)*det(subA); %拉普拉斯定理+递归算法
end
end

运行结果如下图:

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值