91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MATLAB編程與應用系列-第3章 矩陣運算(1)

發布時間:2020-06-19 13:46:23 來源:網絡 閱讀:440 作者:德特數據 欄目:開發技術

本系列教程來源于出版設計《基于MATLAB編程基礎與典型應用書籍》,如涉及版權問題,請聯系:156204968@qq.com。 出版社:人民郵電出版社, 頁數:525。

本系列教程目前基于MATLABR2006a,可能對于更高級版本的功能和函數有差異,教程中如有問題,請聯系:156204968@qq.com

本章將介紹與MATLAB矩陣運算有關相關的內容。矩陣運算是MATLAB的基礎,是MATLAB強大計算功能的體現。這一章的內容可以幫助讀者解決一些學習和工作中常遇到的實際問題,讓讀者了解基本的矩陣操作技巧,進而最大化地提高MATLAB程序執行效率。 本章包括以下內容:

  • 矩陣的基本運算
  • 矩陣的分解
  • 線性方程組的求解
  • 稀疏矩陣

3.1 矩陣的基本運算

前一章已經介紹過,二維數組和矩陣在外觀形狀和數據結構上沒有根本的區別,但是矩陣作為一種數學變換,其運算有著嚴格的數學規則。本節將介紹矩陣的基本運算,內容包括基本的四則運算、乘方運算以及各種矩陣函數的運算等。

###3.1.1 加、減運算
矩陣加、減運算符分別為“+”和“-”。對應元素相加、減,即按線性代數中矩陣的“+”,“-”運算進行。

【例3.1】已知矩陣A、B,分別計算A-B和A+B。
在命令窗口中分別輸入以下兩條語句,生成矩陣A和矩陣B。
>> A=[1 2 3 4; 5 6 3 7; 3 3 2 1]; %使用直接矩陣生成法生成矩陣A和矩陣B
>> B=[3 4 5 6; 6 2 1 4; 9 6 5 3];
①求矩陣A-B,在命令窗口輸入以下內容:
>> A-B %求解矩陣減法
運算結果如下:
ans =<br/>-2 -2 -2 -2<br/>-1 4 2 3<br/>-6 -3 -3 -2
②求矩陣A+B,在命令窗口輸入以下內容:
&gt;&gt; A+B %求解矩陣加法
運算結果如下:
ans =<br/>4 6 8 10<br/>11 8 4 11<br/>12 9 7 4

注意:(1)A和B矩陣必須大小相同才可以進行加減運算。
(2)如果A、B中有一個是標量,則該標量與矩陣的每個元素進行運算。

###3.1.2 乘法運算
矩陣乘法的運算符為“*”,按線性代數中矩陣乘法運算進行,即放在前面的矩陣的各行元素分別與放在后面的矩陣的各列元素對應相乘并相加。

(1)兩個矩陣相乘

【例3.2】已知矩陣C和D,計算Z=CD。
在命令窗口中分別輸入以下兩條語句,生成矩陣C和矩陣D。
&gt;&gt; C=[2 4 6 8;3 4 5 6;9 6 3 1]; %生成矩陣C和矩陣D
&gt;&gt; D=[1 2 3;4 5 6;7 8 9;3 6 9];
求Z=C
D,在命令窗口輸入以下內容:
&gt;&gt; Z=C*D %求解矩陣C和D的乘積
矩陣C和矩陣D相乘后的結果如下:
Z =<br/>84 120 156<br/>72 102 132<br/>57 78 99

(2)矩陣的數乘
標量與矩陣的乘法運算是標量與矩陣中的每一個元素進行相乘的運算。

例如在【例3.2】中求A=2C,在命令窗口輸入以下內容:
`>> A=2
C<br/>運算結果如下:<br/>A =
4 8 12 16
6 8 10 12
18 12 6 2`

注意:(1)矩陣相乘的時候,矩陣A的列數必須等于矩陣B的行數,除非其中有一個是標量。
(2)矩陣乘法運算和數組的乘法運算不同,數組的乘法運算符為“.*”,表示數組A和B中的對應元素相乘。A和B數組必須大小相同,除非其中有一個是標量。

###3.1.3 除法運算
在MATLAB中,矩陣除法有兩種運算符“\”和“/”,分別表示矩陣運算左除和右除。如果A或B為非奇異矩陣,則A\B=A<sup>-1</sup>B或A/B=AB<sup>-1</sup>。其中,A<sup>-1</sup>是矩陣A的逆。MATLAB提供了用于求矩陣的逆矩陣的函數inv,因此可以用inv(A)求矩陣A的逆矩陣。一般情況下,x=a\b是方程ax=b的解,而x=b/a是方程xa=b的解,兩種運算的結果不相等。

與矩陣的除法運算相類似,數組也具有除法運算符。運算符“.\”和“./”分別表示數組運算的左除和右除,表示數組相應元素相除。進行數組除法運算時兩數組必須大小相同,除非其中有一個是標量。

【例3.3】已知矩陣X1和X2,分別計算X1/X2、X1\X2。
首先在命令窗口中分別輸入以下兩條語句,生成矩陣X1和X2。
&gt;&gt; X1=[1 2 3;4 5 6;7 8 9];
&gt;&gt; X2=eye(3); %生成對角單位陣
①求X1/X2,在命令窗口輸入:
&gt;&gt;X1/X2 %求解矩陣的右除
矩陣X1/X2的運算結果如下:
ans =<br/>1 2 3<br/>4 5 6<br/>7 8 9
②求X1\X2,在命令窗口輸入:
&gt;&gt;X1\X2 %求解矩陣的左除
矩陣X1\X2的運算結果如下:
Warning: Matrix is close to singular or badly scaled.<br/>Results may be inaccurate. RCOND = 1.541976e-018.
ans =<br/>1.0e+016 *<br/>-0.4504 0.9007 -0.4504<br/>0.9007 -1.8014 0.9007<br/>-0.4504 0.9007 -0.4504

【例3.4】已知方程組$\begin{cases}
2x_1-x_2+3x_3=5\
3x_1+x_2-5x_3=5\
4x_1-x_2+x_3=9\
\end{cases}
$,用矩陣除法來解線性方程組。

將該方程變換成AX=B的形式,其中,
$\bf{A}=\begin{bmatrix} {2}&{-1}&{3}\ {3}&{1}&{-5}\ {4}&{-1}&{1}\ \end{bmatrix}$,$\bf{B}=\begin{bmatrix} {5}\ {5}\ {9} \end{bmatrix}$,求解過程如下。

首先在命令窗口中輸入矩陣A和矩陣B。
&gt;&gt; A=[2 -1 3; 3 1 -5;<br/>4 -1 1];
&gt;&gt; B=[5;5;9]; %輸入矩陣A和B

然后利用矩陣除法計算方程組的解,在命令窗口輸入以下內容:
&gt;&gt; X=A\B %用矩陣除法求解方程組
求解的結果如下:
X=<br/>2<br/>-1<br/>0

在線性方程組$Ax=B$中,m×n階矩陣A的行數m表示方程數,列數n表示未知數的個數。若n=m,$A$為方陣,`A\B=inv(A)B;若m&gt;n,是最小二乘解,X=inv(A'A)(A'B);若m&lt;n,則是令X中的n-m個元素為零的一個特殊解,X=inv(A'A)(A'B)`。

###3.1.4 乘方運算
矩陣乘方的運算符為“^”,規定只有方陣才能進行乘方運算。可分為下列幾種情況。
(1)當A為方陣,P為大于0的整數時,$A^p$表示A的P次方,即A自乘P次;P為小于0的整數時,$A^p$表示A-1的P次方。P為矩陣時不能運算,會出錯。
(2)當A為方陣,p為非整數時,則$A^p=V\begin{bmatrix} {d{11}^p}&{}&{}\ {}&{\ddots}&{}\ {}&{}&{d{nn}^p}\ \end{bmatrix}V^{-1}$,其中,$V$為$A$的特征向量,$\begin{bmatrix} {d{11}}&{}&{}\ {}&{\ddots}&{}\ {}&{}&{d{nn}}\ \end{bmatrix}$為特征值對角矩陣。如果有重根,以上指令不成立。
(3)標量的矩陣乘方P^A,標量的矩陣乘方定義為$P^A=V\begin{bmatrix} {p^{d{11}}}&{}&{}\ {}&{\ddots}&{}\ {}&{}&{p^{d{nn}}}\ \end{bmatrix}V^{-1}$,式中V,D取自特征值分解AV=AD。
(4)標量的數組乘方P.^A,標量的數組乘方定義為$P.^A=\begin{bmatrix} {p^{a{11}}}&{\cdots}&{p^{a{1n}}}\ {\vdots}&{\ddots}&{\vdots}\ {p^{a{m1}}}&{\cdots}&{p^{a{mn}}}\ \end{bmatrix}$,數組乘方A.^P,表示A的每個元素的P次乘方。

【例3.5】已知矩陣$x_1$,分別計算矩陣乘方運算$x_1^2$、$x_1^{-1}$、$2^{x_1}$的值。
在命令輸入窗口中,輸入以下矩陣x1。
&gt;&gt; x1=[1 2 3;4 5 6;7 8 9];
在矩陣x1的基礎上分別進行矩陣的乘方運算,具體如下:
①計算x1^2,在命令窗口中輸入以下內容:
&gt;&gt; x1^2
x1^2的運算結果如下:
ans =<br/>30 36 42<br/>66 81 96<br/>102 126 150
②計算x1^-1,在命令窗口中輸入以下內容:
&gt;&gt; x1^-1
x1^-1的運算結果如下:
Warning: Matrix is close to singular or badly scaled.<br/>Results may be inaccurate. RCOND = 1.541976e-018.
ans =<br/>1.0e+016 *<br/>-0.4504 0.9007 -0.4504<br/>0.9007 -1.8014 0.9007<br/>-0.4504 0.9007 -0.4504
③計算2^x1,在命令窗口中輸入以下內容:
&gt;&gt; 2^x1
2^x1的運算結果如下:
ans =<br/>1.0e+004 *<br/>0.7962 0.9782 1.1603 1.8029 2.2154 2.6276<br/>2.8097 3.4523 4.0950

在例3.5的已知條件基礎上進行數組的乘方運算,分別計算2.^x1、x1.^x2。
在命令輸入窗口中輸入矩陣x2:
&gt;&gt; x2=eye(3);
①計算2.^x1,在命令窗口中輸入:
&gt;&gt; 2.^x1
結果如下:
ans =<br/>2 4 8<br/>16 32 64<br/>128 256 512
②計算數組的乘方x1.^x2,在命令窗口中輸入:
&gt;&gt; x1.^x2
乘方運算的結果如下:
ans =<br/>1 1 1<br/>1 5 1<br/>1 1 9

作者:德特數據
聯系方式:156204968@qq.com

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

瓦房店市| 鄂温| 鹤庆县| 邢台市| 大埔区| 贵港市| 福建省| 教育| 大悟县| 玉龙| 高淳县| 边坝县| 南汇区| 定南县| 重庆市| 巴彦淖尔市| 安陆市| 陆川县| 宝鸡市| 武定县| 尼玛县| 忻城县| 鱼台县| 舞钢市| 泗洪县| 镇宁| 桐梓县| 犍为县| 凭祥市| 五台县| 射阳县| 永靖县| 怀远县| 嵩明县| 巢湖市| 长宁县| 衢州市| 平乐县| 竹北市| 新民市| 龙州县|