MATLAB之基本語法與基礎函數

經常使用命令

dir:列出當前目錄下的全部文件數組

clc:清除命令窗函數

clear all:清除環境(從內存中清除全部變量)spa

who:將內存中的當前變量以簡單形式列出3d

close all: 關閉全部的 Figure 窗口orm

變量設置

(1).變量命名blog

MATLAB 的變量名以字母打頭,後最多可跟 19 個字母或數字,如 x,y,ae3 和  d3er45  等都是合法的變量名,不能使用內部函數或命令名做爲變量名。內存

MATLAB 中的變量名區分大小,ab 與  Ab 表示兩個不一樣的變量。ci

(2).變量賦值字符串

l     表達式賦值get

>>a=(100*0.02)/4.0

  a=0.0500

l     矩陣賦值

數值一般按行輸入,行之間用分號隔開。

>> C=[-1,0,0;1,-1,0;0,0,2];(省略最後的分號,MATLAB  會回顯矩陣值)

 

l     經過引用特定的位置能夠單獨改變某個矩陣元素

如 S=[5, 6, 4],用命令  S(2)=8  把矩陣  S  的第二個元素值由  6  改爲  8。

 

l     能夠引用已定義的矩陣,從新定義一個新矩陣。

如 S=[5,6,4],可定義一個新矩陣。

>>B=[3 S 2]

  B=35642

整數操做

l     fix(x):截尾取整

>> fix( [3.12 -3.12])

  ans =3 -3

 

l     floor(x):不超過 x 的最大整數(高斯取整)

>> floor( [3.12 -3.12])

  ans =3 -4

 

l     ceil(x) :大於 x 的最小整數

>> ceil( [3.12 -3.12])

  ans =4 -3

隨機序列經常使用命令

l     rand:均勻分佈隨機矩陣

rand                                   %無變量輸入時只產生一個隨機數

y= rand(n)                         %生成 n×n 隨機矩陣,其元素在(0,1)內

y = rand(m,n)                    %生成 m×n 隨機矩陣,其元素在(0,1)內

例 1.1:產生一個 3×4 隨機矩陣,MATLAB 命令爲:R=rand(3,4)

 

l     randn:正態分佈隨機矩陣

randn                                    %無變量輸入時只產生一個正態分佈隨機數

y = randn(n)                         %生成 n×n 正態分佈隨機矩陣

y = randn(m,n)                     %生成 m×n 正態分佈隨機矩陣

例 1.2:產生均值爲 0.6,方差爲 0.1 的 4 階矩陣

MATLAB 命令爲:>> mu=0.6;sigma=0.1;>> x=mu+sqrt(sigma)*randn(4)。

 

l     randsrc:產生均勻分佈數組

randsrc                                  %無變量輸入時只產生一個隨機數 1 或者-1

y= randsrc(n)                         %生成 n×n 隨機數組,其元素爲 1 或者-1

y = randsrc(m,n)                    %生成 m×n 隨機數組,其元素爲 1 或者-1

例1.3:產生一個 2*3 隨機矩陣,MATLAB 命令爲:R=randsrc(2,3)

矩陣經常使用操做命令

MATLAB  的基本單位是矩陣,掌握矩陣的輸入、各類數值運算以及矩陣函

數是學好 MATLAB 的關鍵。

(1).矩陣的輸入

l     直接輸入建立矩陣

以「[」和「 ]」做爲首尾,同行的元素用「,」或空格隔開,不一樣行的元素用「;」 或按 Enter 鍵來分隔;矩陣的元素能夠是數字也能夠是表達式,若是是數值計算,表達式中不可包含未知變量。

l     用矩陣函數來生成矩陣

MATLAB  提供了大量的函數來建立特殊矩陣,表 1.1 給出 MATLAB 經常使用的矩陣函數。

(2).操做符「:」的說明

j:k表示步長爲 1 的等差數列構成的數組:[j, j+1, j+2,…, k]。

j:i:k表示步長爲 i 的等差數列構成的數組:[j,j+i,j+2*i,…, k]。

A(i:j)表示 A(i),A(i+1),…,A(j)。

(3).對矩陣元素的操做

設 A 是一個矩陣,則在 MATLAB 中用以下符號表示它的元素:

A(i,j)表示矩陣 A 的第 i 行第 j 列元素。

A(:,j)表示矩陣 A 的第 j 列。

A(i,:)表示矩陣 A 的第 i 行。

A(:,:)表示 A 的全部元素構造 2 維矩陣

A(:)表示以矩陣 A 的全部元素按列構成的一個列矩陣。

A(i)表示矩陣 A(:)的第 i 個元素。

[]表示空矩陣。

(4).矩陣的運算

(5).數組

在 MATLAB 中數組是一行或者一列的矩陣,對矩陣輸入、修改和保存都適用於數組,同時 MATLAB 還提供了一些建立數組的特殊指令。

l     特殊數組的建立

linspace(a,b,n) 給出區間[a,b]的 n 個等分點數據

例 1.7:給出區間[0,1]  的 6 個等分點數據。

 

MATLAB 命令爲:>> linspace(0,1,6)

 

l     數組運算

位操做

l     bitand:按位與

C=bitand(A,B)命令將返回兩個非負整數數組 A 和 B 的相應元素按位與操做的結果。爲了確保 A 和 B 的元素都是整數,可使用 ceil、fix、floor 和 round函數來生成 A 和 B。

例 1.9:>>C=bitand(1,2)

結果爲:C=0

 

l     bitor:按位或

C=bitor(A,B)命令將返回兩個非負整數數組 A 和 B 的相應元素按位或操做的結果。爲了確保 A 和 B 的元素都是整數,可使用 ceil、fix、floor 和 round 函數來生成 A 和 B。

例 1.10:>>C=bitor(1,2)

結果爲:C=3

 

l     bitxor:按位異或

C=bitxor(A,B)返回兩個非負整數數組 A 和 B 的相應元素進行按位異或的結果,爲了確保 A 和 B 的元素都是整數,可使用 ceil、fix、floor 和 round 函數來生成 A 和 B。

例 1.11:>>C=bitxor(1,2)

結果爲:C=3

 

l     bitset:設置指定位的值

C=bitset(A,bit,v)命令將 A 中元素第 bit 位設爲 v,其中 v 必須爲 0 或 1,A 中的元素必須爲非負整數,bit 必須爲 1 到 A 中元素浮點整數表示法的位數之間的一個數字。

例 1.12:>>C=bitset(1,2,1)

結果爲:C=3

 

l     bitget:獲取指定位的值

C=bitget(A,bit)命令將返回 A 中元素用 bit 指定位的值,A 中的元素必須爲非負整數,bit 必須爲 1 到 A 中元素浮點整數表示法位數之間的一個數字。

例 1.12:

>>C=bitget(1,2)

結果爲:C= 0

繪圖操做

(1)圖形標註

title(‘string’,’屬性名’,’屬性值’,…) ——  給圖形加標題

xlabel (‘string’,’屬性名’,’屬性值’,…) ——  給 x 軸加標註

ylabel (‘string’,’屬性名’,’屬性值’,…) ——  給 y 軸加標註

legend (‘string1’,’string2’,…)——  添加圖例,其順序對應於繪圖指令中的順序

axis ([xmin,xmax,ymin,ymax])——  控制座標軸的刻度範圍

(2)二維圖形

l     plot(x,y)

功能:以向量 x,y 爲軸,繪製曲線。 

注:  plot(x,y)命令可用來繪製函數 f(x)圖形,  此時可經過向量 x 經常使用命令 x=a:h:b的形式得到  f(x)函數在繪圖區間[a,b]上的自變量點向量數據,對應的函數向量值取爲 y=  f(x)。步長 h 能夠任意選取,通常步長越小,曲線越光滑,可是步長過小,會增長計算量,運算速度也要下降。一般步長 h 取值 0.1 可達到較好的繪圖效果。

 

 l     plot(x1,y1,x2,y2,x3,y3…)

功能:在同一圖形窗口繪製多條不一樣顏色曲線,曲線關係爲

y1=f(x1),y2=f(x2),y3=f(x3)

 (3)二維特殊圖形

 l     bar

例 1.15:

>> x=1:5;

>> bar(x),title('直方圖')

 

 l     Hist 表示生成直方圖

M=hist(N)表示將 N 中的最大最小值找出來,而後,平均取十個等間隔點,看以每一個間隔點爲中心,向兩邊各擴展 1/2 間隔的範圍內,包括 N 的元素個數,所以 M 返回值都是 1*10 大小。
例 1.16:>> b1=[0,1,2,3,4,5,6,7,8,9];b2=[4,5,7];

>>M=hist(b2)

>>M=hist(b1)

文件操做

1fopen  打開文件

fopen 函數的調用格式爲:fid= fopen(文件名,打開方式)

其中文件名用字符串形式,表示待打開的數據文件。常見的打開方式有:‘r’表示對打開的文件讀數據,‘w’表示對打開的文件寫數據,‘a’表示在打開的文件末尾添加數據。fid  用於存儲文件句柄值,句柄值用來標識該數據文件,其餘函數可利用它對該數據文件進行操做。文件數據格式有兩種形式,一種是二進制文件,另外一種是文本文件。在打開文件時須要進一步指定文件格式類型,即指定是二進制文件仍是文本文件。

2  fclose  關閉文件

文件讀、寫等操做完成後,應及時關閉。關閉文件用 fclose 函數,調用格式爲:sta=fclose(fid),該函數關閉 fid 所表示的文件。sta 表示關閉文件操做的返回代碼,若關閉成功,返回 0,不然返回–1。

3)  二進制文件的讀寫操做

l     fread 讀二進制文件

fread  函數能夠讀取二進制文件的數據,並將數據存入矩陣。其調用格式爲:[A,COUNT]=fread(fid,size, precision)。

其中 A 用於存放讀取的數據,COUNT 返回所讀取的數據元素個數。fid 爲文件句柄,size 爲可選項,若不選用則表示讀取整個文件內容,若選用則它的值可爲如下選項:N 表示讀取  N 個元素到一個列向量;Inf 表示讀取整個文件;[M,N]表示讀數據到 M×N 的矩陣中,數據按列存放。precision 表明讀寫數據的類型。

 

l     fwrite  寫二進制文件

fwrite  函數按照指定的數據類型將矩陣中的元素寫入到文件中。其調用格式爲:COUNT=fwrite  (fid,  A,  precision),其中 COUNT 返回所寫的數據元素個數,fid爲文件句柄,A 用來存放寫入文件的數據,precision 用於控制所寫數據的類型,其形式與 fread 函數相同。

M 文件的創建與使用

M 文件有命令文件和函數文件兩種形式,這兩種文件的擴展名相同,都是.m。當用戶要運行的命令較多時,直接從鍵盤上逐條輸入較爲繁瑣,可利用命令文件來解決多行輸入問題。用戶可將一組相關命令編輯在同一個命令文件中,運行時只需輸入文件名字,MATLAB  就會自動按順序執行文件中的命令。函數文件是另外一種形式的 M 文件,它的第一句可執行語句是以 function 引導的定義語句,在函數文件中的變量都是局部變量。

1)命令文件

命令文件的通常形式爲:<M 文件名>.m    如 a1.m, pp.m 等都是合法的 M 文件名。M 文件有兩種運行方式:一是在命令窗口直接輸入文件名,按 Enter 鍵;  二是在編輯窗口打開菜單 Tools,再單擊 Run。M 文件保存的路徑必定要在搜索路徑上,不然 M 文件不能運行。

例 1.17:用 M 命令文件繪製 lena.bmp 圖像。

 

(2)函數文件

M 函數文件的通常形式爲:function <因變量>=<函數名>(<自變量>)

M 函數文件能夠有多個因變量和多個自變量,當有多個因變量時用[]括起來。

相關文章
相關標籤/搜索