matlab矩陣及其運算(五)

2021-01-14 matlab愛好者

感謝大家對matlab愛好者公眾號的關注!如果公眾號文章對您有幫助,別忘了點擊分享和「在看」哦!若您對公眾號有什麼意見或建議,請在公眾號中回復或在任意文章底部留言!

二狗在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;endtemp = 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;    endendend

看完還想看 (點擊下方文字直接訪問)

科研小助手推薦 第四期

科研小助手推薦第三期

神經網絡連載(四)

神經網絡連載(三)

神經網絡連載(二)

免費的matlab來了

如何有效保護原始碼 —— .m腳本文件?


成為VIP,享永久免費福利

加入條件:一次性支付350元VIP會員費

加入方式:在公眾號中回復「VIP」獲取

VIP權益:

1、永久免費下載公眾號代碼商城的所有原始碼(包括後續更新)
2、
3、網絡稀缺MATLAB編程資料和科研相關資料
4、10次任意網絡資源協助下載

(所有代碼和相關資源在matlab愛好者VIP群都能直接下載)

本文作者:過冷水

相關焦點

  • matlab矩陣及其運算(三)
    有流量的可以直接戳視頻二狗在用matlab學習編程過程中,發現matlab中有大量矩陣運算,矩陣的知識了解不到位,在學習算法的過程中無法找到合適的解決問題的方法或者出現編程錯誤。好比英語發音規則都不懂,如何說一口流利的英語?地基不牢,地動山搖。這不前兩天二狗做BP算法的時候涉及到矩陣求導,這可難到二狗了,非方陣矩陣的逆矩陣怎麼求?
  • MATLAB的矩陣運算與重構
    數組運算與矩陣運算在MATLAB中,術語矩陣和數組在一般情況下是沒有區別的。嚴格地說,一個矩陣就是一個二維的數組,是用來進行線性代數運算的。MATLAB運用於矩陣上的數學運算符是以線性代數中的矩陣運算法則來進行計算的,而數組運算是基於兩個矩陣對應元素之間的,所以在MATLAB中,數組運算和矩陣運算是有區別的。
  • 線性代數入門——矩陣的轉置運算及對稱矩陣的概念
    本節我們來介紹矩陣的「轉置」運算,主要包括轉置的定義和運算性質,並介紹轉置運算的一些簡單應用,例如列向量的「轉置」記法。再利用轉置的概念給出對稱矩陣的定義,並介紹關於對稱矩陣的一些基本知識。二、轉置運算滿足的運算律。(請讀者結合轉置的定義給出前三條運算律的解釋或證明。)
  • 線性代數入門——伴隨矩陣的定義及其基本性質
    在「行列式」一章中我們介紹過代數餘子式的概念,由此可以定義方陣的伴隨矩陣,它與下一節中要介紹的逆矩陣有密切聯繫。本節我們介紹伴隨矩陣的定義及其基本性質,並介紹一些關於伴隨矩陣的典型例題。三、伴隨矩陣的計算舉例。
  • 線性代數入門——矩陣的按行、列分塊及其簡單應用
    按行、列對矩陣分塊是一種非常重要的分塊方式,由於這裡每一個子塊都是行向量或列向量,因此與以後要學習的向量組、線性方程組等內容有著密切的聯繫。本節我們來介紹矩陣按行、列分塊的基礎知識和一些簡單應用。對分塊矩陣基本知識的介紹見下文:線性代數入門——分塊矩陣的概念及其基本運算性質二、矩陣的按列分塊。(按行分塊後,每個子塊都是一個行向量;按列分塊後,每個子塊都是一個列向量。)
  • 線性代數入門——矩陣乘法的定義及其意義
    上一節中我們介紹了矩陣的加法和數乘運算,本節我們來介紹矩陣與矩陣的乘法運算,矩陣乘法在線性代數中非常重要,而且具有一些「奇怪」的性質,例如不滿足交換律等,我們在後面幾節中還會對矩陣乘法的相關內容做深入介紹。
  • 利用圖片理解矩陣的線性運算
    利用圖片理解矩陣的線性運算 圖片的儲存方式 在計算機中,按照顏色和灰度的多少可以將圖像分為二值圖像、灰度圖像、索引圖像和真彩RGB圖像四種基本類型。
  • 基於一維數組動態處理矩陣運算
    [代碼]基於一維數組動態處理矩陣運算     跳至 [1] [全屏預覽]
  • 協方差矩陣是什麼_協方差矩陣計算公式_如何計算協方差矩陣
    >  協方差矩陣是什麼   在統計學與概率論中,協方差矩陣的每個元素是各個向量元素之間的協方差,是從標量隨機變量到高維度隨機向量的自然推廣。   矩陣中的數據按行排列與按列排列求出的協方差矩陣是不同的,這裡默認數據是按行排列。即每一行是一個observation(or sample),那麼每一列就是一個隨機變量。
  • 基於複數浮點運算的協方差矩陣的FPGA實現
    在充分應用FPGA並行處理能力的同時,為了擴展數據處理的動態範圍,減少數據溢出機率,避免數據截斷所產生的誤差,提高協方差矩陣的運算精度以及擴展該運算的通用性。本文以空間譜估計作為研究背景,研究了複數據運算和浮點運算的特點,提出了一種適用於任何陣列流型、任意陣元的基於複數浮點運算的協方差矩陣的FPGA實現方案。
  • 教程| 基礎入門:深度學習矩陣運算的概念和代碼實現
    矩陣的標量運算和向量的標量運算是一樣的。可以簡單地將標量和矩陣中的每一個元素做運算處理(如加、減、乘、除等)。為了能進行加減運算,兩個矩陣的階必須相等。,矩陣間運算更有意思,不過在深度學習裡並不常見。從最開始的特徵輸入,我們會使用一個個高維向量將特徵輸入到神經網絡中,而每一層的權重作為列向量組成一個權重矩陣。每一層的正向傳播都需要使用矩陣乘法進行計算,而反向傳播更需要理解矩陣運算才能對其運行原理有一個較為深入的理解。本文是矩陣運算的基礎性文章,其不僅對概念的理解很是重要,同時在新手開始學著搭建機器學習系統時更為有用,因為矩陣運算的代碼在實際操作中是我們看懂一段代碼或寫出一段代碼的基礎。
  • 維納濾波原理及其matlab實現
    3.FIR維納濾波器的matlab實現2*pi;xnoise=sqrt(0.05)*randn(1,500);%產生x軸方向噪聲ynoise=sqrt(0.06)*randn(1,500);%產生y軸方向噪聲x=cos(sita)+xnoise;%產生x軸方向觀測信號y=sin(sita)+ynoise;%產生y軸方向觀測信號%產生維納濾波中x方向上觀測信號的自相關矩陣
  • 如何用Matlab/Python/Stata做簡單回歸分析
    來源:金融民工新語 作者:劉新宇 NO.1 |問題描述: (1)簡單的描述性統計:均值、中位數等 (2)求出多個變量的相關係數矩陣
  • [代碼全屏查看]-基於一維數組動態處理矩陣運算
    [代碼] 基於一維數組動態處理矩陣運算 跳至 [1] [2] [3]
  • Python學習第116課——numpy.dot和矩陣相乘的數學運算
    現在先掌握最基礎的東西,然後在numpy中知道怎麼用矩陣相乘的方法去計算就可以了。matrix multiplication(矩陣相乘)就是兩個矩陣形式結構的數據進行運算的方法。同時因為矩陣在空間上是有它的意義的,所以矩陣運算是一個很精妙的東西。
  • 五道可逆矩陣題目你會做幾道呢?
    在線代矩陣中,可逆矩陣是重點中的重點,但是可逆矩陣的性質和計算你都明白麼?小編在本文帶來五道可逆矩陣題目的講解,如果你能夠快速、準確地解決,那麼小編相信,95%以上的可逆矩陣題目你都能正確解答了!例2:抽象的逆矩陣例2是一道抽象的可逆矩陣題目。同樣從既複雜又易化簡的地方入手,如題目中標綠的部分,具體操作如下:因此答案選C。注意上述解答過程中兩處標橙的地方。例3:矩陣運算的考察例3是一道出錯概率比較大的題目。這道題目可能有的同學會選B,有的同學會選C。
  • 業界| 四大機器學習程式語言對比:R、Python、MATLAB、Octave
    它是一個 GNU 項目,與貝爾實驗室的 John Chambers 及其同事開發的 S 語言及環境類似。R 可以視為 S 的一種不同實現。二者存在一些重要差異,但使用 S 寫的很多代碼在 R 下運行時無需修改。
  • 奇異值、奇異矩陣、SVD分解、正交矩陣
    定義:設A為m*n階矩陣,A'表示A的轉置矩陣,A'*A的n個特徵值的非負平方根叫作A的奇異值。記為σi(A)。如果把A『*A的特徵值記為λi(A『*A),則σi(A)=sqrt(λi(A』*A))。奇異矩陣:奇異矩陣是線性代數的概念,就是對應的行列式等於0的矩陣。奇異矩陣的判斷方法:首先,看這個矩陣是不是方陣(即行數和列數相等的矩陣。若行數和列數不相等,那就談不上奇異矩陣和非奇異矩陣)。
  • 2.4——矩陣的行列式與伴隨矩陣
    矩陣是一個數表,而行列式是一個算式,當給定一個方陣,我們就可以求其行列式,再根據矩陣的若干運算,又可引出方陣行列式的若干性質。
  • 高分秘籍在這裡:矩陣運算面面觀
    同學們在學習線代的過程中,矩陣運算是最為重要的基本功:比如逆運算、轉置、伴隨、冪運算等,而這些運算又有非常多並且相近的公式需要大家熟記活用。很多輔導書一股腦地給大家列出一堆相似或相近的公式,同學們被這數量繁多的公式搞的頭皮發麻,到底該用哪一個呢?這個公式得出來的是什麼呢?