日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++求矩阵的秩_Matlab:矩阵的秩,简化梯形矩阵和线性方程组

發布時間:2025/3/19 c/c++ 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++求矩阵的秩_Matlab:矩阵的秩,简化梯形矩阵和线性方程组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方藍字關注?無距書鄉?獲取持續更新

在開始今天的正式內容之前,先補充一個創建矩陣的方法——由向量組合成矩陣。A=[1;2;3],B=A+3,C=B+3,A, B, C 均為列向量,矩陣D由向量A, B,C 構成,D=[A B C],則D是一個3x3的矩陣。示例如下:

矩陣的秩

矩陣的秩是矩陣中線性無關的行向量的數目。在matlab中求矩陣的秩用rank()命令,如:求前述矩陣D的秩,通過觀察的方法,矩陣的第三行減去第二行后都為1,第二行減去第一行后都為1。此時,矩陣的第二行和第三行都為1,兩行線性相關可以消除其中一行,觀察可知矩陣的的秩為2,下面用matlab 驗證一下。示例如下:

下面我們來隨機生成一個矩陣E并求rank(E)。示例如下:

矩陣E的秩為5,說明矩陣E的各行均線性無關。

下面我們對矩陣E做一個簡單的改造,將矩陣E的第五行換成第一行和第二行的和,此時矩陣E的第五行就可以用第一行和第二行線性表示了,即第五行可以通過行變換化為全零,此時rank(E)應該等于4。在matlab中驗證一下:

簡化梯形矩陣

在筆算求矩陣的秩時,通常都會對矩陣做梯形簡化,方便觀察矩陣的秩,在解線性方程組時也會做這樣的簡化。matlab中使用rref()命令來獲得簡化梯形矩陣。示例如下:

通過簡化后的梯形矩陣,很容易就能觀察到矩陣D的秩為2。

再來看看矩陣E,示例如下:

通過簡化后的梯形矩陣,很容易就能觀察到矩陣E的秩為4。此處默認將非零行的第一個非零元素化為1,所以后面出現了實數。

線性方程組

有了前面內容的鋪墊,現在可以很方便的求解線性方程組的解了,并觀察解的性質。給定如下方程組:

將方程組的系數矩陣記作M,?等式右邊的向量記作b。則:

看看系數矩陣M的秩:

rank(M)=2,滿秩,說明方程組有唯一解。通過消元法,可以很容易解得x1=2,x2=5,這個在中學就學習過。

這里從線性代數的角度來求解這個方程組,一是Cramer 法則求解,二是高斯消元法,分述如下:

1. Cramer 法則:

首先計算系數矩陣的行列式detM;再用向量b替換M的第一列,并計算其行列式detM1,則 x1=detM1/detM;?同理,用b替換M的第二列,計算detM2,則 x2=detM2/detM。下面,在matlab中完成上述計算過程并驗證結果。

如上圖所示,x1=2,x2=5,結果與筆算一樣。這里舉例用了二元方程組,對于變量個數多余2的時候,matlab的簡便性就更突出了。

2.?高斯消元法

高斯消元法是將系數矩陣M和列向量b組合在一起,做行變換得到簡化梯形矩陣,再求解。仍然用上面的方程組做實驗:

令:Mb=[M b]

經過梯形簡化后,方程組變為如下形式:

一眼就能觀察出來,x1=2,x2=5。比高斯消元法還要簡單。

再補充一個三元線性方程組:

系數矩陣仍記作M,等式右邊的向量記作b。

先計算rank(M):

rank(M)=3,滿秩,方程組有唯一解。

先用Cramer 法則求解:

計算各個行列式的值:

計算x1,x2,x3的值:

再看看高斯消元法求解:

經過梯形簡化后,方程組變為如下形式:

可以很方便的得到 x1=8,x2=15,x3=6。

解線性方程組是科學計算中的一個很重要很基本的部分,除了上面介紹的方法,關于線性方程組的解法還有很多種,后面會陸續介紹。對于那些不是線性的方程組,在經過簡化后,也可以化作線性方程組來求解。所以,線性方程組的解法是科學計算的一個基石。

這么簡單實用的工具,不來用一下嗎!

長按識別二維碼關注我

點個贊,攜手共進

回復“ishare”加入社區

總結

以上是生活随笔為你收集整理的c++求矩阵的秩_Matlab:矩阵的秩,简化梯形矩阵和线性方程组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。