天天看點

MATLAB 變量

在函數或工作區之間共享資料、生成有效的變量名稱,或了解成資料在記憶體中所占空間的名字,友善後續通路或調用

變量命名規範

  1. 以字母開頭,後跟字母、數字或下劃線。
  2. 标準函數名以及指令名一般用小寫字母。
  3. MATLAB

    區分大小寫,是以

    A

    a

    不是同一變量。
  4. 變量名稱的最大長度為

    namelengthmax

    指令傳回的值(63個字元)
  5. 變量中不得包含空格,标點符号,加減号
有效名稱示例: 無效名稱示例: 錯誤原因

x6

6x

數字開頭

lastValue

end

關鍵字

n_factorial

n!

符号

預定義變量

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

函數的源檔案:

MATLAB 變量
函數 說明
isvarname 确定輸入是否為有效的變量名稱
persistent 定義持久變量
assignin 為指定工作區中的變量指派
global 将變量聲明為全局變量

思考

分析下列指令執行後的輸出結果。
>> ans=5;
>> 10;
>> ans+10
           

ans=5表示對ans指派為5,第二行的10表示對ans指派為10,因為對ans指派有兩種方式,一種是ans=指派量,第二種是直接輸入指派量。且ans會記錄最後一次的指派,是以ans+10的結果是20

繼續閱讀