- MATLAB與數(shù)學(xué)實驗(第3版)
- 艾冬梅 李艷睛 張麗靜 李曄等編著
- 1773字
- 2024-10-18 17:09:50
1.2 基本運算
MATLAB的產(chǎn)生是由矩陣運算推出的,因此矩陣和數(shù)組運算是MATLAB最基本、最重要的功能.本章主要介紹MATLAB的數(shù)據(jù)類型,以及矩陣和數(shù)組的基本運算.
1.2.1 數(shù)據(jù)類型
MATLAB R2023定義了15種基本的數(shù)據(jù)類型,包括整型、浮點型、字符型和邏輯型等,用戶也可以定義自己的數(shù)據(jù)類型.MATLAB內(nèi)部的所有數(shù)據(jù)類型都是按照數(shù)組的形式進行存儲和運算的.
數(shù)值型包括整數(shù)和浮點數(shù),其中整數(shù)包括有符號數(shù)和無符號數(shù),浮點數(shù)包括單精度型和雙精度型.在默認(rèn)情況下,MATLAB R2023默認(rèn)將所有數(shù)值都按照雙精度浮點數(shù)類型來存儲和操作,用戶如果要節(jié)省存儲空間,可以使用不同的數(shù)據(jù)類型.
1.常數(shù)和變量
1)常數(shù).MATLAB的常數(shù)采用十進制表示,可以用帶小數(shù)點的形式直接表示,也可以用科學(xué)計數(shù)法表示,數(shù)值的表示范圍是10-309~10309.
2)變量.變量是數(shù)值計算的基本單元,使用MATLAB變量時無須先定義,其名稱是第一次合法出現(xiàn)時的名稱,因此使用起來很便捷.
(1)變量的命名規(guī)則
●變量名區(qū)分字母的大小寫.例如“A”和“a”是不同的變量.
●變量名不能超過63個字符,第63個字符后的字符被忽略.
●變量名必須以字母開頭,變量名的組成可以是任意字母、數(shù)字或者下劃線,但不能有空格和標(biāo)點符號.
●關(guān)鍵字(如if、while等)不能作為變量名.
在MATLAB R2023中,所有標(biāo)識符(包括函數(shù)名、文件名)都遵循變量名的命名規(guī)則.
(2)特殊變量
MATLAB有一些自己的特殊變量,是由系統(tǒng)預(yù)先自動定義的,當(dāng)MATLAB啟動時駐留在內(nèi)存中,常用特殊變量如表1-4所示.
表1-4 常用特殊變量

2.整數(shù)和浮點數(shù)
(1)整數(shù)
MATLAB R2023提供了8種內(nèi)置的整數(shù)類型,為了在使用時提高運行速度和存儲空間,應(yīng)該盡量使用字節(jié)少的數(shù)據(jù)類型,使用類型轉(zhuǎn)換函數(shù)可以將各種整數(shù)類型強制相互轉(zhuǎn)換.表1-5中列出了各種整數(shù)類型的數(shù)值范圍和類型轉(zhuǎn)換函數(shù).
表1-5 整數(shù)的數(shù)據(jù)類型轉(zhuǎn)換函數(shù)

(2)浮點數(shù)
浮點數(shù)包括單精度型(single)和雙精度型(double),其中雙精度型為MATLAB默認(rèn)的數(shù)據(jù)類型.表1-6中列出了各種浮點數(shù)的數(shù)值范圍和類型轉(zhuǎn)換函數(shù).
表1-6 浮點數(shù)的數(shù)據(jù)類型轉(zhuǎn)換函數(shù)

3.復(fù)數(shù)
MATLAB用特殊變量“i”和“j”表述虛數(shù)的單位,因此,注意在編程時不要和其他變量混淆.
復(fù)數(shù)的產(chǎn)生可以有幾種方式:
●z=a+b*i或z=a+b*j.
●z=a+bi或z=a+bj(當(dāng)b為常數(shù)時).
●z=r*exp(i*theta),其中相角theta以弧度為單位,復(fù)數(shù)z的實部a=r*cos(theta);復(fù)數(shù)z的虛部b=r*sin(theta).
●z=complex(a,b).
MATLAB中關(guān)于復(fù)數(shù)的運算函數(shù)如表1-7所示.
表1-7 復(fù)數(shù)的運算函數(shù)

1.2.2 矩陣和數(shù)組的運算
1.矩陣的輸入
下面介紹幾種矩陣的常用輸入方法.
(1)直接輸入
這是一種最方便、最直接的方法,它適用于對象維數(shù)較少的矩陣.矩陣的輸入應(yīng)遵循以下基本規(guī)則:
●矩陣元素應(yīng)用方括號“[]”括住.
●同行內(nèi)的元素間用逗號“,”或空格隔開.
●行與行之間用分號“;”或回車鍵隔開.
●元素可以是數(shù)值或表達式.
例1-5 直接輸入命令創(chuàng)建矩陣

解 MATLAB命令為:

運行結(jié)果為:

(2)用矩陣編輯器輸入
矩陣編輯器適用于維數(shù)較大的矩陣.在調(diào)用矩陣編輯器之前必須先定義一個變量,無論是一個數(shù)值還是一個矩陣均可.輸入步驟如下:
●在命令行窗口創(chuàng)建變量A.
●在工作區(qū)可以看到多了一個變量A,雙擊變量A就可打開矩陣編輯器.
●選中元素可以直接修改元素的值,修改完畢后單擊關(guān)閉按鈕,這時變量就被定義并保存了.
(3)用矩陣函數(shù)生成矩陣
除了逐個輸入元素生成所需矩陣外,MATLAB還提供了大量的函數(shù)來創(chuàng)建一些特殊的矩陣.
1)生成對角矩陣:
●A=diag(v,k)生成主對角線方向上的第k(整數(shù))層元素是向量v的矩陣.規(guī)定:當(dāng)k=0時,它表示矩陣的主對角線;當(dāng)k>0時,它表示主對角線的平行位置上方的第k層;當(dāng)k<0時,它表示主對角線的平行位置下方的第|k|層.
●v=diag(A,k)提取矩陣A中主對角線方向上第k(整數(shù))層元素,得到的是向量v.
2)魔方矩陣(矩陣中每行、每列及兩條對角線上的元素和都相等):magic(n)生成n階魔方矩陣,其中n為大于2的正整數(shù).
3)隨機矩陣:rand(m,n)隨機生成服從均勻分布的m×n矩陣,其元素為0~1之間的數(shù).
此外,還有零矩陣、單位矩陣、元素全為1的矩陣等特殊矩陣,函數(shù)功能見表2-5.
表1-8 常用的矩陣函數(shù)及其功能

例1-6 利用函數(shù)生成矩陣

解 MATLAB命令為:

運行結(jié)果為:

例1-7 (1)生成一個3階魔方矩陣A;(2)生成一個4階單位矩陣B.
解 MATLAB命令為:

運行結(jié)果為:

例1-8 輸入矩陣

解 MATLAB命令為:

運行結(jié)果為:

例1-9 隨機生成含有5個元素的行向量.
解 MATLAB命令為:

運行結(jié)果為:

例1-10 隨機生成數(shù)值在10~30之間的含有5個元素的行向量.
解 MATLAB命令為:

運行結(jié)果為:

例1-11 生成三對角矩陣

解 MATLAB命令為:

運行結(jié)果為:

(4)通過文件生成
有時需要處理一些沒有規(guī)律的數(shù)據(jù),如果在命令行窗口輸入,清除后再次使用時需要重新輸入,這就增加了工作量.為解決此類問題,MATLAB提供了兩種解決方案:一種方案是直接將數(shù)據(jù)作為矩陣輸入到M文件中;另一種方案是將數(shù)據(jù)作為變量保存到MAT文件中.
用M文件保存矩陣的方法是在M文件編輯器中按照正常輸入矩陣的方法輸入數(shù)據(jù),然后將其保存成M文件.使用時在命令行窗口直接輸入文件名即可.
例1-12 用M文件保存矩陣

解 在M文件編輯器中輸入以下矩陣,保存成文件shuju1.m:

在命令行窗口直接輸入文件名將顯示矩陣信息:

(5)數(shù)組生成
數(shù)組作為特殊的矩陣,即1×n矩陣或n×1矩陣,除了可以作為普通的矩陣輸入外,還有其他生成方式.
1)使用from:step:to生成數(shù)組,當(dāng)step省略時,表示步長step=1.當(dāng)step為負數(shù)時,可以創(chuàng)建降序的數(shù)組.
例1-13 使用from:step:to創(chuàng)建數(shù)組.
解 MATLAB命令為:

運行結(jié)果為:

2)使用linspace和logspace函數(shù)生成數(shù)組.linspace用來生成線性等分?jǐn)?shù)組,logspace用來生成對數(shù)等分?jǐn)?shù)組.logspace函數(shù)可以用于對數(shù)坐標(biāo)的繪制.
命令格式如下:

2.矩陣和數(shù)組的算術(shù)運算
矩陣的運算規(guī)則是按照線性代數(shù)運算法則定義的,但是有著明確而嚴(yán)格的數(shù)學(xué)規(guī)則,而數(shù)組運算是按數(shù)組的元素逐個進行的.
(1)矩陣運算
矩陣的基本運算包括加法(+)、減法(-)、乘法(×)、左除()、右除(/)和乘冪(^)等.另外還有其他運算,如求矩陣A的轉(zhuǎn)置(transpose(A))、A的行列式(det(A))、A的秩(rank(A))等,本書后面的章節(jié)將對這些運算進行詳細介紹.
(2)數(shù)組運算
數(shù)組運算又稱點運算,其加、減、乘、除和乘方運算都是對兩個尺寸相同的數(shù)組進行元素對元素的運算.設(shè)數(shù)組為
α=[a1,a2,…,an],β=[b1,b2,…,bn]
則對應(yīng)的具體運算為

例1-14 數(shù)組運算示例.

例1-15 計算sin(kπ/2)(k=±2,±1,0)的值.
解 MATLAB命令為:

運行結(jié)果為:

從以上示例可以看出,數(shù)組運算是對應(yīng)元素的運算.
3.關(guān)系運算和邏輯運算
MATLAB常用的關(guān)系操作符有<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、==(等于)、~=(不等于).關(guān)系運算的結(jié)果是邏輯值1(true)或0(false).常用的邏輯運算符是&(與)、|(或)、~(非)和xor(異或).
例1-16 已知矩陣,對它們進行簡單的關(guān)系與邏輯運算.
解 MATLAB命令為:

運行結(jié)果為:

1.2.3 字符串
MATLAB處理字符串的功能也非常強大,字符串用單引號('')括起的一串字符表示.
1.字符串的輸入
1)直接賦值:用單引號('')括起字符來直接賦值創(chuàng)建字符串.
●輸入英文字符:

●輸入中文字符:

●使用兩個單引號輸入字符串中的單引號:

2)多個字符串組合.
●用“,”連成長字符串:

●用“;”構(gòu)成m×n的字符串矩陣,每行字符串元素的個數(shù)可以不同,但每行字符的總數(shù)必須相同,否則系統(tǒng)報錯.

2.字符串常用操作
MATLAB R2023可以對字符串進行查找、比較、運行等操作.
例1-17 使用字符串函數(shù)運算.
解 MATLAB命令為:


運行結(jié)果為:

常用的字符串函數(shù)如表1-9所示.
表1-9 常用的字符串函數(shù)

- 水域生態(tài)學(xué)實驗指導(dǎo)
- 海上貨物運輸與運輸工具保險
- DSP原理及應(yīng)用
- 建筑藝術(shù)賞析
- 動物細胞培養(yǎng)技術(shù)
- 工業(yè)工程
- 新編企業(yè)會計綜合實訓(xùn)
- 數(shù)值計算方法(第4版)
- 陳振明《公共管理學(xué)》(第2版)筆記和考研真題詳解
- 2020年管理類聯(lián)考綜合能力考試過關(guān)寶典—寫作分冊
- 中國古代文學(xué)史(一)
- 野生大熊貓棲息地保護的數(shù)學(xué)方法
- 程序化基礎(chǔ)護理技術(shù)
- 2020年全國法律碩士《398法碩聯(lián)考專業(yè)基礎(chǔ)(非法學(xué))刑法學(xué)部分》過關(guān)必做習(xí)題集(含歷年考研真題)【視頻講解】
- 工程經(jīng)濟學(xué)