Matlab語言基礎
1.1 數值數據類型的分類
1.整型
整型數據是不帶小數的數,有帶符號整數和無符號整數之分。表中列出了各種整型數據的取值範圍和對應的轉換函數。
類型 | 取值範圍 | 轉換函數 |
---|---|---|
無符號8位整型 | 0~ 28-1 | uint8 |
無符號16位整型 | 0~ 216-1 | uint16 |
無符號32位整型 | 0~ 232-1 | uint32 |
無符號64位整型 | 0~ 264-1 | uint64 |
帶符號8位整型 | -27~ 27-1 | int8 |
帶符號8位整型 | -215~ 215-1 | int16 |
帶符號8位整型 | -231~ 231-1 | int32 |
帶符號8位整型 | -263~ 263-1 | int64 |
2.浮點型
- 浮點型數據有單精度(single)和雙精度(double)之分,單精度型實數在內存中佔用4個字節,雙精度型實數在內存中佔用8個字節,雙精度型的數據精度更高。在MATLAB中,數據默認爲雙精度型。single函數可以將其他類型的數據轉換爲單精度型,double函數可以將其他類型的數據轉換爲雙精度型。
注意事項:1.single不能與整數進行直接運算。2.double與其他類型的運算結果由其他數據類型決定。
3.複數型
- 復型數據包括實部和虛部兩個部分,實部和虛部默認爲雙精度型。在MATLAB中,虛數單位用i或j表示。例如,6+5i與6+5j表示的是同一個複數,也可以寫成6+5i或6+5j,這裏將i或j看作一個運算量參與表達式的運算。
4.字符與字符串
- 在MATLAB中,字符串是用單撇號括起來的字符序列。MATLAB將字符串當作一個行向量,每個元素對應一個字符,其標識方法和數值向量相同。也可以建立多行字符串矩陣。在MATLAB中,字符串是用單引號括起來的字符序列。例如:
>> xm='University'
。
字符串比較函數用於判斷字符串是否相等,有4種比較方式,函數如下:- ① strcmp(s1,s2):用來比較字符串s1和s2是否相等,如果相等,返回1,否則返回0。
- ② strncmp(s1,s2,n):用來比較前n個字符是否相等,如果相等,返回1,否則返回0。
- ③ strcmpi(s1,s2):在忽略字母大小寫前提下,比較字符串s1和s2是否相等,如果相等,返回1,否則返回0。
- ④ strncmpi(s1,s2,n):在忽略字符串大小寫前提下,比較前n個字符是否相等,如果相等,返回1,否則返回0。
1.2 變量及其操作
- MATLAB中變量不需先聲明再使用,使用時就表示聲明瞭變量,在工作窗可以查變量的變化。
- 在MATLAB中,變量名是以字母開頭,後接字母、數字或下劃線的字符序列,最多63個字符。在MATLAB中,變量名區分字母的大小寫,在變量名中不包含空格和標點符號且不能以MATLAB系統保留變量命名。
MATLAB系統中保留的變量:
變量名 | 意義 |
---|---|
ans | 計算結果的默認賦值變量 |
i,j | 虛數單位 |
pi | 圓周率 |
NaN | 非數 |
inf | 無限大 |
MATLAB變量的操作:
命令 | 使用方法 | 用途 |
---|---|---|
who | who | 顯示在MATLAB工作空間中已經駐留的變量名清單 |
whos | whos | 詳細的顯示在MATLAB工作空間中已經駐留的變量名清單 |
clear | clear+變量名 | 刪除MATLAB工作空間中的變量 |
save | 文件名 [變量名] [-append][-ascii] | 生成MAT文件長久保存變量 |
load | 文件名 [變量名] [-ascii] | 裝入MAT文件 |
1.3 常用的內部函數
函數名 | 功能 | 函數名 | 功能 |
---|---|---|---|
sin/sind |
正弦函數 | abs |
絕對值函數 |
cos/cosd |
餘弦函數 | rem |
求餘 |
tan/tand |
正切函數 | mod |
求模 |
asin/asind |
反正弦函數 | fix |
向零方向取整 |
acos/acosd |
反餘弦函數 | floor |
不大於自變量的最大整數 |
atan/atand |
反正切函數 | ceil |
不小於自變量的最小整數 |
sinh/asinh |
雙曲正弦函數 | round |
四捨五入的到最鄰近的整數 |
cosh/acosh |
雙曲餘弦函數 | sign |
符號函數 |
tan/atanh |
雙曲正切函數 | gcd |
最大公約數 |
sqrt |
平方根函數 | lcm |
最小公倍數 |
log |
自然對數函數 | factor |
返回自變量的全部素數因子 |
log10 |
常用對數函數 | factorial |
階乘 |
log2 |
以2爲底的對數函數 | isprime |
判斷是否爲素數 |
exp |
自然指數函數 | primes |
生成素數的列表 |
pow2 |
2的冪 | perms |
生成所有排列 |
1.4 MATLAB的基礎運算
1.4.1 操作符
名稱 | 符號 | 作用 |
---|---|---|
等號 | = | 將表達式賦值給一個變量 |
空格 | space | 變量分隔符 |
逗號 | , | 變量分隔符 |
句點 | . | 運算中的小數點 |
分號 | ; | 在命令語句結尾,表示不顯示這條語句的執行結果 |
冒號 | : | 可以用來產生數組:m:k:n生成數組[m,m+k,…,n] |
百分號 | % | 註釋語句說明符 |
單引號 | ’ ’ | 字符串標記符 |
單撇號 | ’ | 矩陣轉置 |
方括號 | [ ] | 輸入矩陣標識符 |
圓括號 | ( ) | 矩陣元素引用 |
花括號 | { } | 標誌細胞數組 |
續行號 | … | 用於長表達式的續航 |
1.4.2 關係與邏輯運算符
符號 | 含義 | 符號 | 含義 |
---|---|---|---|
< |
小於 | > |
大於 |
<= |
小於等於 | >= |
大於等於 |
== |
等於 | ~= |
不等於 |
& |
邏輯與 | | |
邏輯或 |
~ |
邏輯非 | xor |
邏輯與非 |
1.4.3 數與矩陣的運算
運算 | MATLAB運算符 | MATLAB表達式 |
---|---|---|
加 |
+ | a+b |
減 |
- | a-b |
乘 |
* | a乘b |
除 |
/或\ | a/b或a\b |
冪 |
^ | a^b |