matlab 學習之路
1、MATLAB的語言的變數和常量
MATLAB的語言變數名應該有一個子母引導,後面可以跟字母、數字、下劃線等。在MATLAB中變數名是區分大小寫的。在 在MATLAB語言中還為特定的常數保留了一些名稱,雖然這些常量可以重新賦值,但建議在程式設計時應該儘量避免這些變數重新賦值。
eps-機器的的浮點運算誤差限。PC機上eps的預設值為2.2204x10-16, 若某個量的絕對值小雨eps,則可以認為這個量為0.
i和j-若i或j的量不被改寫,則它們表示純虛數量j.如果想恢復該變數,則可以用語句i=sqrt(-1)設定,及對-1求平方根。
Inf-無窮大的MATLAB表示,也可以寫成inf。在MATLAB程式執行時,即使遇到了除0的運算,也不會總之程式的執行,而只是給出了一個除0的警告,並將結果賦成Inf.
NaN-不定式,通常由0/0運算、inf/inf及其他可能的的運算得出。
pi-圓周率π的雙精度浮點表示。
lasterr-存放最新一次的錯誤資訊。若無,此變數為空字串。
lastwarn-存放最新的警告資訊。若無,此變數為空字串。
在 MATLAB 7.0 中有 15 種基本資料型別。每種基本的資料型別均以矩陣的形式出現,該矩陣可以是最小的 0×0 矩陣到任意大小的 n 維矩陣。
在 MATLAB 7.0 中整數型別包含 4 種有符號整數和 4 種無符號整數。有符號整數可以用來表示負數、零和正整數,而無符號整數則只可以用來表示零和正整數。MATLAB 7.0 支援1、2、4 和 8 位元組的有符號整數和無符號整數
MATLAB 7.0有雙精度浮點數和單精度浮點數兩種浮點數。 雙精度浮點數為MATLAB 7.0預設的資料型別。如果某個資料沒有被顯式地指定資料型別,那麼MATLAB 7.0 會用雙精度浮點數來儲存它。
複數包含獨立的兩部分,即實部和虛部。虛部的單位是-1 的開平方根,在 MATLAB 7.0中可以用 i 或者 j 來表示。
S=3+4*i或者S=complex(3,4)
MATLAB 7.0 中規定用 inf、-inf 來表示正無窮大和負無窮大。除法運算中除數為 0 或者運算結果溢位都會導致 inf 或-inf 的結果
邏輯型別用 1 和 0 來表示 true 和 false 兩種狀態。可以用函式 logical()來得到邏輯型別的數值。 函式 logical()可以把任何非零的數值轉換為邏輯 true (即 1) , 把數值 0 轉換為邏輯 false(即 0)。
s=logical(-1)
MATLAB 7.0 中規定用資料型別char 來表示一個字元。 一個 char 型別的 1×n 陣列則可以稱為字串 string。MATLAB7.0 中 char 型別都是以 2 位元組的 unicode 字元來儲存的
S=‘hello world’
S=’a’
S=char(‘a’) == S=char(65)
S=char(‘hello world’)==S=char([65,66])
函式控制代碼是 MATLAB 7.0 中用來提供間接呼叫函式的資料型別。函式控制代碼可以轉遞給其他函式以便該函式控制代碼所代表的函式可以被呼叫。函式控制代碼還可以被儲存起來,以便以後利用。
Sd=s(1)
結構體陣列是一種由“資料容器”組成的 MATLAB 7.0 陣列,這種“資料容器”稱為結構體的屬性(field)和其他的資料型別一樣,結構體也是一種陣列。一個單獨的結構體就是一個 1×1 的結構體陣列。使用者可以構造任意維數和形狀的結構體陣列,當然也包含多維結構體陣列。
構造一個結構體陣列有如下兩種方法:
• 利用賦值語句;
• 利用函式 struct()來進行定義。
由上述語句使結構體陣列 Personel 的維數變為 1×2。當用戶擴充套件結構體陣列時, MATLAB
7.0 對未指定資料的屬性自動賦值成空矩陣,使其滿足以下規則:
• 陣列中的每個結構體都具有同樣多的屬性名;
• 陣列中的每個結構體都具有相同的屬性名。