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

溫馨提示×

溫馨提示×

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

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

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

發布時間:2020-06-27 08:25:02 來源:網絡 閱讀:390 作者:德特數據 欄目:開發技術

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

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

###3.1.8 矩陣和數組運算比較
在進行矩陣和數組運算的時候,要認識到矩陣和數組類似運算的區別,兩種運算指令形式和實質內涵的異同見表3.3。其中S為標量,A、B為矩陣。
表3.3 矩陣和數組運算對比表
數組運算 矩陣運算
命令 含義 命令 含義
A+B 對應元素相加 A+B 與數組運算相同
A-B 對應元素相減 A-B 與數組運算相同
S.*B 標量S分別與B元素的積 S*B 與數組運算相同
A.*B 數組對應元素相乘 A*B 內維相同矩陣的乘積
S./B S分別被B的元素左除 S\B B矩陣分別左除S
A./B A的元素被B的對應元素除 A/B 矩陣A右除B即A的逆陣與B相乘
B.\A 結果一定與上行相同 B\A A左除B(一般與上行不同)
A.^S A的每個元素自乘S次 A^S A矩陣為方陣時,自乘S次
A.^S S為小數時,對A各元素分別求非整數冪,得出矩陣 A^S S為小數時,方陣A的非整數乘方
S.^B 分別以B的元素為指數求冪值 S^B B為方陣時,標量S的矩陣乘方
A.’ 非共軛轉置,相當于conj(A’) A’ 共軛轉置
exp(A) 以自然數e為底,分別以A的元素為指數求冪 expm(A) A的矩陣指數函數
log(A) 對A的各元素求對數 logm(A) A的矩陣對數函數
sqrt(A) 對A的各元素求平方根 sqrtm(A) A的矩陣平方根函數
f(A) 求A各個元素的函數值 funm(A,’FUN’) 矩陣的函數運算

注意:(1)funm(A,’FUN’)要求A必須是方陣,“FUN”為矩陣運算的函數名。
(2)在執行數組與數組之間的運算的時候,參與運算的數組必須同維,運算所得的結果數組也總與原數組同維。

###3.1.9 關系操作和邏輯操作
在使用MATLAB語言進行程序設計時,經常會涉及到程序流程的控制,此時需要對一些問題作出一些判斷,為此MATLAB提供了關系操作、邏輯計算以及一些相關的運算函數。

(1)關系運算
關系操作符有:<(小于關系)、<=(小于或等于關系)、>(大于關系)、>=(大于或等于關系)、= =(等于關系)、~=(不等于關系)。

關系運算規則為:

  • 若兩個變量都是標量,則結果為真(1)或假(0);
  • 若兩個變量都是數組,則必須大小相同,結果也是同樣大小的數組,數組的元素為0或1;
  • 若一個數組和一個標量,則把數組的每個元素分別與標量比較,結果為與數組大小相同的數組,數組的元素為0或1。
  • 其中<、<=和>、>=,僅對參加比較變量的實部進行比較,而= =和~=,則同時對實部和虛部進行比較。

【例3.20】關系運算
在命令窗口中輸入以下內容,生成矩陣A和矩陣B:
&gt;&gt; A=[1 2 3 4 5;5 3 4 8 5;6 8 7 6 9;2 6 8 2 1;2 7 9 3 9];
&gt;&gt; B=[5 3 4 8 5;6 8 7 6 9;2 6 8 2 1;2 7 9 3 9;4 5 6 7 8];
①判斷矩陣A、B對應的元素是否相同,并將結果返回給矩陣C1。在命令窗口中輸入:
&gt;&gt; C1=A==B %A、B矩陣對應元素相等的返回1,否則返回0
②判斷矩陣A的元素是否大于等于矩陣B對應的元素,并將結果返回給矩陣C2。在命令窗口中輸入:
&gt;&gt; C2=A&gt;=B %A、B矩陣對應元素A大于等于B的返回1,否則返回0
③判斷矩陣A、B對應的元素是否不相同,并將結果返回給矩陣C3。在命令窗口中輸入:
&gt;&gt; C3=A~=B %A、B矩陣對應元素相等的返回0,否則返回1

(2) 邏輯運算
邏輯操作符有:&(與)、|(或)、~(非)和xor(異或)。在邏輯運算中,非0元素表示真(1),0元素表示假(0),邏輯運算的結果為0或1,邏輯運算法則具體見表3.5所示。

表3.5 邏輯運算

a b a&b a or b ~a xor(a,b)
0 0 0 0 1 0
0 1 0 1 1 1
1 0 0 1 0 1
1 1 1 1 0 0

邏輯操作的需要滿足以下運算規則:

  • 若兩個變量都是標量,則結果為0、1的標量;
  • 若兩個變量都是數組,則必須大小相同,結果也是同樣大小的數組;
  • 若是一個數組和一個標量進行邏輯運算,則把數組的每個元素分別與標量比較,結果為與數組大小相同的數組。

除了上面的邏輯操作符外,MATLAB還提供了&&(先決與)邏輯運算符和||(先決或)邏輯運算符。

&&(先決與)邏輯運算符是當該運算符的左邊為1(真)時,繼續執行該運算符右邊的運算,并執行與邏輯運算;否則,不再執行該運算符右邊的運算,并立即給出運算的結果為0(假)。

||(先決或)邏輯運算符是當該運算符的左邊為1(真)時,就不需要繼續執行該符號右邊的運算,并立即得出該邏輯運算結果為1(真);否則,就要繼續執行該符號右邊的運算,并執行或邏輯運算。

【例3.21】邏輯運算
在命令窗口中輸入以下內容,生成矩陣A和矩陣B:
&gt;&gt; A=[1 2 3 4 5;5 3 4 8 5;6 8 7 6 9;2 6 8 2 1;2 7 9 3 9];
&gt;&gt; B=[5 3 4 8 5;6 8 7 6 9;2 6 8 2 1;2 7 9 3 9;4 5 6 7 8];
①若計算A和B之間邏輯與的值,并將結果返回給矩陣C1。在命令窗口中輸入:
&gt;&gt; C1=A&B %計算A和B之間邏輯與的值
②若計算A和B之間邏輯或的值,并將結果返回給矩陣C2。在命令窗口中輸入:
&gt;&gt; C2=A|B %計算A和B之間邏輯或的值
③若計算A的邏輯非,并將結果返回給矩陣C3。在命令窗口中輸入:
&gt;&gt; C3=~A %計算A的邏輯非
④若計算A和B之間邏輯異或,并將結果返回給矩陣C4。在命令窗口中輸入:
&gt;&gt; C4=xor(A,B) %計算A和B之間邏輯異或

【例3.22】先決邏輯運算
在命令窗口中輸入以下變量a、b和c:
&gt;&gt; a=0;
&gt;&gt; b=5;
&gt;&gt; c=10;
①進行先決與操作,在命令窗口中輸入以下內容:
&gt;&gt; (a~=0)&&(b&lt;c)
運算結果如下:
ans =<br/>0
②進行先決與操作,在命令窗口中輸入以下內容:
&gt;&gt; (a~=0)||(b&lt;c)
運算結果如下:
ans =<br/>1

(3)邏輯函數運算

MATLAB中提供的一些函數返回的結果為真(1)和假(0),這樣的函數包括關系邏輯函數、工作狀態判斷函數、特殊數據判斷函數和數據類型函數。表3.6所示為關系邏輯函數以及對應的功能描述。

表3.6 關系邏輯函數

函數名 功能 函數名 功能
all(A) 判斷A的列向量元素是否全非0,全非0則為1 isnan(A) 判斷A的各元素值是否為NAN,是則為1
any(A) 判斷A的列向量元素中是否有非0元素,有則為1 isnumeric(A) 判斷數組A的元素是否全為數值型數組
isequal(A,B) 判斷A、B對應元素是否全相等,相等為1 isreal(A) 判斷數組A的元素是否全為實數,是則為1
isempty(A) 判斷A是否為空矩陣,為空則為1,否則為0 isprime(A) 判斷A的各元素值是否為質數,是則為1
isfinite(A) 判斷A的各元素值是否有限,是則為1 isspace(A) 判斷A的各元素值是否為空格,是則為1
isinf(A) 判斷A的各元素值是否無窮大,是則為1 find(A) 尋找A數組非0元素的下標和值

(4)運算符優先級

MATLAB提供了多種運算符號,各種運算符執行的先后順序是根據其所具有的優先級來決定的。下面列出了各種運算符的優先級順序,由上至下優先級遞減,每行的優先級相同:

a) 括號()
b) '(矩陣轉置)、^ (矩陣冪)和.'(數組轉置)、.^(數組冪)
c) ~(邏輯非)、代數正+、代數負-
d) (乘)、/(左除)、(右除)和.(點乘)、./(點左除)、.(點右除)
e) +、-(加減)
f) 冒號:
g) <、<=、>、>=、~=
h) &(邏輯與)
i) |(邏輯或)
j) &&(先決與)
k) ||(先決或)

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

向AI問一下細節

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

AI

张北县| 岳阳市| 萍乡市| 镇远县| 凤阳县| 崇明县| 黑山县| 莫力| 织金县| 淅川县| 涡阳县| 齐齐哈尔市| 苏尼特右旗| 西宁市| 广安市| 遂川县| 尚义县| 涡阳县| 宜州市| 体育| 河津市| 英德市| 绿春县| 肥乡县| 淮南市| 丹江口市| 广丰县| 大埔县| 乌恰县| 榆树市| 乐安县| 夏邑县| 木兰县| 双鸭山市| 民县| 济南市| 吕梁市| 布尔津县| 垫江县| 铜鼓县| 留坝县|