前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matlab矩阵及其运算(五)

matlab矩阵及其运算(五)

作者头像
巴山学长
发布2019-07-15 15:50:55
7520
发布2019-07-15 15:50:55
举报
文章被收录于专栏:巴山学长巴山学长巴山学长

二狗在MATLAB矩阵及其运算(三)篇章中,给大家留下关于自编行列式运算的小程序,本期二狗在此给大家解答一下自编行列式程序思路及代码,再给大家讲一下广逆矩阵的概念,为深入学习广逆矩阵做准备。

承上 :行列式自编程序

以一个四阶行列式为例

我们以第一行的每列展开,N阶矩阵拆分成(N-1)阶矩阵的程序自编。

用rem()函数判断正负号,(1+i)被2整除为+,(1+i)不能被2整除为-

现在转化成了求三个三阶行列的值的问题。三阶行列式采用上述方法分解成二阶行列式,二阶行列式根据上述方法转化为一个具体数,至此完成了行列式的分解。

启下:广逆矩阵概念

在上期matlab矩阵连载中及其运算(四)中,在文末提到的广逆矩阵概念,广逆矩阵这个问题比较大,将会分几期进行讲解,本期给大家讲讲广逆矩阵的概念。

由克拉默法则知道当A∈Cnnxn时,方程组

有唯一解,且其解为X=A-1b,但对于一般的线性方程组

是否也存在类似的结论?即是否存在矩阵Bn,m,使X=Bn,mb

定义:设A∈Cnmxn,如果存在矩阵B∈Cnnxm满足摩尔-彭罗斯方程

(一)ABA=A (二)BAB=B (三)(AB)T=AB (四)(BA)T=BA

一部分或者全部,则称B为A的广逆矩阵。

由定义可知,广义逆矩阵共有

即有十五种广义逆矩阵。

这一点有可能理解不了。为什么会有这么复杂的组合以及这么多的组合,当然二狗毕竟不是研究矩阵方面的专家,15种案例是给不了的,只能给出少数几种,让大家简单对广逆矩阵的复杂性有一定了解,而不是用pinv()就可以求出广逆矩阵。

满足:ABA=A。不满足一、二、三的逆矩阵

满足:ABA=A、BAB=B,不满足等式三、四的逆矩阵

满足:ABA=A、BAB=B、(AB)T=AB、(BA)T=BA

满足ABA=A、BAB=B、(BA)T=BA,不满足等式三的逆矩阵

是不是感觉好复杂,而且每个类型的B是怎么求出来的,不能类型的特性是什么,这将是我们下一期连载的内容。本期让大家知道广逆矩阵的类型较多就可以了,在多讲就怕读者一时间难以消化。

大家记住,在矩阵学习中或者实际应用中如果不仔细看条件,用错逆矩阵很有可能会带来计算麻烦。在广逆矩阵的计算过程中一点要考虑周全,比如说在bp算法反馈中使用符合不同等式的逆矩阵计算对BP误差的减小是否有影响?在文献中使用的逆矩阵通常指的是哪一类型,若是类型不同,会带来什么问题。这些问题二狗是解决不了的,还靠读者自己遇到问题时通过二狗的抛砖引玉,引发思考。

function H_Det =Matrix_Det(H,N)%输入矩阵 阶数
H_Det = 0;
if N==1
    H_Det = H(1,1);
    return;
end
temp = zeros(N-1,N-1);
for i=1:N
    for j=2:N %第二行开始
        for k=1:N-1
            if k>=i
                cln = k+1;
            else
                cln = k;
            end
            temp(j-1,k) = H(j,cln);
        end
    end
    t = Matrix_Det(temp,N-1);%递归
    if rem(1+i,2)==0  %(-1)^(1+i)
        H_Det = H_Det+H(1,i)*t;
    else
        H_Det = H_Det-H(1,i)*t;
    end
end
end

本文作者:过冷水

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 巴山学长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档