官术网_书友最值得收藏!

2.3 數據計算

強大的計算功能是MATLAB軟件的特點,數據計算是MATLAB軟件的基礎。MATLAB包括各種各樣的數據類型,主要包括數值、字符串、向量、矩陣、單元型數據及結構型數據。

MATLAB還提供了豐富的運算符,包括算術運算符、關系運算符和邏輯運算符三種,能滿足用戶的各種應用需求。

2.3.1 變量

1.變量

變量是任何程序設計語言的基本元素之一,MATLAB語言當然也不例外。變量是指在運行時其值可以被改變的量。變量是可以多次賦值的,因此變量常用于保存程序中的臨時數據。

與其他的程序設計語言相同,在MATLAB語言中也存在變量作用域的問題。

(1)局部變量

在未加特殊說明的情況下,MATLAB語言將所識別的一切變量視為局部變量,即僅在其使用的M文件內有效。

(2)全局變量

若要將變量定義為全局變量,則應當對變量進行說明,即在該變量前加關鍵字global。一般來說,全局變量均用大寫的英文字符表示。

變量在使用前,必須在代碼中進行聲明,即創建(定義)該變量。

例2-2:定義變量。

解:MATLAB程序如下。

2.變量賦值

變量在賦值過程中,如果賦值變量已存在,則MATLAB將使用新值代替舊值,并以新值類型代替舊值類型。在MATLAB中變量的命名應遵循如下規則。

●變量名必須以字母開頭,之后可以是任意的字母、數字或下畫線。

●變量名區分字母的大小寫。

●變量名不超過31個字符,第31個字符以后的字符將被忽略。

MATLAB賦值語句有兩種格式:變量=表達式和表達式。

其中,表達式是用運算符將有關運算量連接起來的句子。一般情況下,運算結果在命令行窗口中顯示出來,若不想讓MATLAB每次都顯示運算結果,只需在運算式最后加上分號(;)即可。

變量的初始化包括下面兩種。

(1)用賦值語句初始化

如“x=1”。

(2)用input函數從鍵盤輸入

如“x=input(‘請輸入數據’)”。

例2-3:數值賦值。

解:MATLAB程序如下。

例2-4:給x賦值。

解:MATLAB程序如下。

3.預定義的變量

MATLAB語言本身也具有一些預定義的變量,也可以稱之為常量,表2-5給出了MAT-LAB語言中經常使用的一些特殊變量。

與常規的程序設計語言不同的是,MATLAB并不要求事先對所使用的特殊變量進行聲明,也不需要指定特殊變量類型,MATLAB語言會自動依據所賦予這些變量的值或對變量所進行的操作來識別變量的類型。

例2-5:顯示圓周率pi的值。

解:MATLAB程序如下。

這里“ans”是指當前的計算結果,若計算時用戶沒有對表達式設定變量,系統就自動將當前結果賦給“ans”變量。

在定義變量時應避免與常量名相同,以免改變這些常量的值。如果已經改變了某個常量的值,可以通過“clear+常量名”命令恢復該常量的初始設定值。當然,重新啟動MATLAB也可以恢復這些常量值。

表2-5 MATLAB中的特殊變量

例2-6:顯示實數與復數的值。

解:MATLAB程序如下。

例2-7:重定義變量pi值。

解:MATLAB程序如下。

4.變量函數

MATLAB中還有許多常用的變量函數。

在MATLAB中,who函數用于列出工作區中的變量,它的調用格式見表2-6。

表2-6 who調用格式

在MATLAB中,whos函數用于列出工作區中的變量及大小和類型,其調用格式與who函數相同,這里不再贅述。

在MATLAB中,exist函數用于檢查變量、腳本、函數、文件夾或類的存在情況,它的調用格式見表2-7。

表2-7 exist調用格式

例2-8:檢查變量的定義情況。

解:MATLAB程序如下。

2.3.2 數據的顯示格式

一般而言,在MATLAB中數據的存儲與計算都是以雙精度進行的,但有多種顯示形式。在默認情況下,若數據為整數,就以整數表示;若數據為實數,則以保留小數點后4位的精度近似表示。

用戶可以改變數字顯示格式。控制數字顯示格式的命令是format,其調用格式見表2-8。

表2-8 format調用格式

例2-9:控制數字顯示格式。

解:MATLAB程序如下。

表2-9 style類型格式

(續)

在MATLAB中,rat函數將數字以有理數(分數)形式輸出,作用類似于format rat,其調用格式見表2-10。

表2-10 rat調用格式

例2-10:有理式顯示預定義變量。

解:MATLAB程序如下。

2.3.3 算術運算符

MATLAB語言的算術運算符見表2-11。

其中,算術運算符加減乘除及乘方與傳統意義上的加減乘除及乘方類似,用法基本相同,而點乘、點乘方等運算有其特殊的一面。點運算是指元素點對點的運算,即矩陣內元素對元素之間的運算。點運算要求參與運算的變量在結構上必須是相似的。

表2-11 MATLAB語言的算術運算符

例2-11:計算18÷7+15×6-8值。

解:MATLAB程序如下。

MATLAB常用的基本數學函數及三角函數見表2-12。

表2-12 基本數學函數與三角函數

例2-12:計算開方函數。

解:MATLAB程序如下。

當表達式比較復雜或重復出現的次數太多時,更好的辦法是先定義變量,再由變量表達式計算得到結果。

例2-13:復數計算函數。

解:MATLAB程序如下。

2.3.4 關系運算符

關系運算符主要用于對矩陣與數、矩陣與矩陣進行比較,返回表示二者關系的由數0和1組成的矩陣,0和1分別表示不滿足和滿足指定關系。

MATLAB語言的關系運算符見表2-13。

表2-13 MATLAB語言的關系運算符

例2-14:計算關系運算符的值。

解:MATLAB程序如下。

2.3.5 邏輯運算符

MATLAB語言進行邏輯判斷時,所有非零數值均為真,而零為假。在邏輯判斷結果中,判斷為真時輸出1,判斷為假時輸出0。

MATLAB語言的邏輯運算符見表2-14。

表2-14 MATLAB語言的邏輯運算符

在算術、關系、邏輯三種運算符中,算術運算符優先級最高,關系運算符次之,而邏輯運算符優先級最低。在邏輯運算符中,“非”的優先級最高,“與”和“或”有相同的優先級。

主站蜘蛛池模板: 北碚区| 洱源县| 鹤岗市| 新闻| 阳西县| 石河子市| 新民市| 姜堰市| 莒南县| 孟州市| 鹤壁市| 佛冈县| 新乡县| 黑山县| 读书| 彰化县| 昌都县| 来宾市| 随州市| 肇州县| 定襄县| 错那县| 法库县| 南郑县| 商水县| 巴里| 托克逊县| 禹城市| 六盘水市| 淮阳县| 镇雄县| 疏勒县| 锦州市| 铜鼓县| 武隆县| 平乡县| 仙游县| 英吉沙县| 霍山县| 都匀市| 巴彦县|