在函數或工作區之間共享資料、生成有效的變量名稱,或了解成資料在記憶體中所占空間的名字,友善後續通路或調用
變量命名規範
- 以字母開頭,後跟字母、數字或下劃線。
- 标準函數名以及指令名一般用小寫字母。
-
區分大小寫,是以MATLAB
和A
不是同一變量。a
- 變量名稱的最大長度為
指令傳回的值(63個字元)namelengthmax
- 變量中不得包含空格,标點符号,加減号
有效名稱示例: | 無效名稱示例: | 錯誤原因 |
---|---|---|
| | 數字開頭 |
| | 關鍵字 |
| | 符号 |
預定義變量
在
MATLAB
的工作空間中,有些系統自身定義的變量,即預定義變量。介紹幾個常用的預定義變量。
預定義變量 | 作用 |
---|---|
ans | 預設指派變量,存儲為聲明變量結果 |
pi | 圓周率π的近似值 |
i、j | 虛數機關 |
inf | 無窮大 |
nargin | 函數輸入參數個數 |
nargout | 函數輸出參數個數 |
NaN | 不定量 |
realmax | 最大正浮點數 |
realmin | 最小正浮點數 |
eps | MatLab中最小整數 |
關鍵字
變量
skeyword
函數擷取MatLab關鍵字
變量類型
MATLAB中的變量類型有:
logical
、
char
、
numeric
、
cell
、
struct
以及由他們組成的數組或矩陣。
變量管理
檢視變量
顯示已駐留的變量名清單
who指令
:駐留變量的名稱
whos指令
:顯示駐留變量名稱、大小、所占位元組數、資料類型等資訊
>> a = [1 2 3;4 5 6];
>> who a
您的變量為:
a
>> whos a
Name Size Bytes Class Attributes
a 2x3 48 double
與函數名稱沖突
定義變量時應避免建立與函數同名的變量,例如
i
、
j
、
mode
、
char
、
size
和
path
。一般情況下,變量名稱優先于函數名稱,即視與函數同名的為變量而非函數。
使用
exist
或
which
函數檢查拟用名稱是否已被使用。如果不存在與拟用名稱同名的變量、函數或其他工件,
exist
将傳回
。例如:
exist check_name
ans =
0
如果無意建立了名稱存在沖突的變量,需用
clear
函數将該變量從記憶體中删除。
記憶體變量檔案
退出 MATLAB 後,工作區變量不會保留。可用于儲存 MATLAB 工作區變量的二進制格式檔案叫做記憶體變量檔案,其擴充名為
.mat
。
save指令
:建立記憶體變量檔案,儲存目前工作區變量至指定檔案夾下
load指令
:裝入記憶體變量檔案,将記憶體變量檔案中的資料還原到工作區
save myfile.mat % 将工作區中的所有變量存儲到myfile.mat檔案中
save
load myfile.mat
注意:如果将 save 的檔案名相同,MATLAB 會自動覆寫原檔案
變量中的常用函數-- exist、which
我們可以使用
which
指令檢視内置函數源代碼檔案的位置,與
edit
指令結合可以檢視内置函數的源代碼。
運作下面語句可以打開 MATLAB 内置的
mean
函數的源檔案:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLyUDN0EmNmJmN4kDMykzYhJDMmRjMihTMidjYkhTYiVzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
函數 | 說明 |
---|---|
isvarname | 确定輸入是否為有效的變量名稱 |
persistent | 定義持久變量 |
assignin | 為指定工作區中的變量指派 |
global | 将變量聲明為全局變量 |
思考
分析下列指令執行後的輸出結果。
>> ans=5;
>> 10;
>> ans+10
ans=5表示對ans指派為5,第二行的10表示對ans指派為10,因為對ans指派有兩種方式,一種是ans=指派量,第二種是直接輸入指派量。且ans會記錄最後一次的指派,是以ans+10的結果是20