MATLAB 變數
本教程將討論在 Matlab 中建立變數和將資料儲存在變數中。
MATLAB 變數
變數用於在 Matlab 中儲存資料。當我們建立一個變數時,Matlab 會為該變數分配一些記憶體來儲存資料。
如果我們將資料儲存在變數中,我們可以使用變數名而不是資料。
例如,如果我們想將兩個數字相乘和相加,我們可以將它們儲存在兩個變數中,然後我們可以使用它們的名稱來相乘和相加。
請參閱下面的程式碼。
clc
a = 100;
b = 50;
mul = a*b
add = a+b
輸出:
mul =
5000
add =
150
如果我們在將值儲存到變數後使用分號,Matlab 將不會在命令視窗中顯示該值。在 Matlab 中,我們可以在指令碼檔案和命令視窗中編寫程式碼。
上面的程式碼寫在一個指令碼檔案中。在輸出中,你可以看到只有變數 mul
和 add
顯示在命令視窗中,因為它們末尾不包含分號。你還可以在工作區視窗中檢視變數及其值。
程式碼開頭的 clc
命令用於清除命令視窗。我們可以使用 whos
命令來檢查變數的名稱、大小、位元組以及變數的類或資料型別。
例如,讓我們在上面的程式碼中使用 whos
命令。請參閱下面的程式碼。
a = 100;
b = 50;
mul = a*b;
add = a+b;
whos
輸出:
Name Size Bytes Class Attributes
a 1x1 8 double
add 1x1 8 double
b 1x1 8 double
mul 1x1 8 double
在輸出中,所有變數都具有相同的大小和類別。除非我們關閉 Matlab 或使用 clear
命令從工作區中清除它們,否則儲存在工作區中的變數將保留在那裡。
我們可以在 Matlab 中將各種類或資料型別的資料儲存在變數中,例如使用單引號的字元、使用雙引號的字串、使用大括號的元胞陣列、使用方括號的向量和使用方括號的矩陣。
讓我們建立具有不同資料型別的變數。請參閱下面的程式碼。
a = {1,2};
b = [1 2];
c = 'Char';
d = "String";
e = {'char',"string",5};
whos
輸出:
Name Size Bytes Class Attributes
a 1x2 224 cell
b 1x2 16 double
c 1x4 8 char
d 1x1 150 string
e 1x3 478 cell
我們可以在元胞陣列中儲存不同的資料型別或類變數。
變數名應以包含數字和下劃線的字母開頭。它不應包含句號、算術符號和空格。如果要在一個變數名中寫入多個字串,可以使用下劃線將它們相互分隔。
如果我們在方括號內傳遞由空格分隔的值,它將建立一個行向量。如果我們傳遞以分號分隔的值,Matlab 將建立一個列向量。
同樣的方法,我們可以在 Matlab 中建立矩陣,寫入值用空格隔開建立一行,然後加分號跳轉到第二行。
例如,讓我們在 Matlab 中建立一個行向量、列向量和一個矩陣。請參閱下面的程式碼。
a = [1 2 5]
b = [1;2;5]
c = [1 2; 3 5]
whos
輸出:
a =
1 2 5
b =
1
2
5
c =
1 2
3 5
Name Size Bytes Class Attributes
a 1x3 24 double
b 3x1 24 double
c 2x2 32 double
你可以檢查變數的大小以瞭解它是行向量、列向量還是矩陣。
在使用之前,值應該儲存在變數中。如果我們不給變數賦值表示式值,Matlab 會將值賦值給變數,以後可以使用。
Matlab 中有很多保留關鍵字我們不能用作變數名。要檢查 Matlab 中的保留變數,我們可以使用 iskeyword
命令,該命令將列出所有保留關鍵字。
Matlab 中有一些預定義的表示式,我們可以在我們的程式碼中使用,比如 pi
。
我們可以使用冒號運算子來建立一個大的數字陣列。建立一個數字陣列需要很多時間,比如建立一個從 1 到 100 的整數陣列。在這種情況下,我們可以使用冒號運算子立即建立陣列。
例如,讓我們建立一個從 1 到 100 的陣列。請參見下面的程式碼。
a = 0:1:100;
whos
輸出:
Name Size Bytes Class Attributes
a 1x101 808 double
要建立陣列,我們必須編寫由冒號運算子分隔的初始值、增量和最終值。