MATLAB基礎函數命令


1. 常用命令

dir:列出當前目錄下的所有文件

clc:清除命令窗

clear all:清除環境(從內存中清除所有變量)

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

close all: 關閉所有的 Figure 窗口

2. 變量設置

(1).變量命名

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

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

(2).變量賦值

l  表達式賦值

>>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=3 5 6 4 2

3. 整數操作

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

4. 隨機序列常用命令

l  rand:均勻分布隨機矩陣

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

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

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

l  randn:正態分布隨機矩陣

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

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

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

l  randsrc:

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

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

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

5. 矩陣常用操作命令

MATLAB 的基本單位是矩陣,掌握矩陣的輸入、各種數值運算以及矩陣函數是學好 MATLAB 的關鍵。

(1).矩陣的輸入

直接輸入創建矩陣

  以“[”和“ ]”作為首尾,同行的元素用“,”或空格隔開,不同行的元素用“;”或按 Enter 鍵來分隔;

  矩陣的元素可以是數字也可以是表達式,如果是數值計算,表達式中不可包含未知變量。

用矩陣函數來生成矩陣

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

表 1.1 Matlab常用矩陣函數

函數名稱

函數功能

zero(m,n)

m 行 n 列零矩陣

eye(n)

n 階方矩陣

ones(m,n)

m 行 n 列元素為 1 的矩陣

rand(m,n)

m 行 n 列隨機矩陣

randn(m,n)

m 行 n 列正態隨機矩陣

magic(n)

n 階魔方矩陣

(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).矩陣的運算

 

A+B:矩陣加法

A-B:矩陣減法

A*B:矩陣乘法

A’:A 的轉置

k*A:數 k 乘以 A

det(A):A 的行列式

rank(A):A 的秩

 

(5).數組

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

特殊數組的創建

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

數組運算

數組運算除作為 1×n 的矩陣應遵循矩陣的運算規則外,MATLAB 中還為數組提供了一些特殊的運算: 乘法為:.*   ,乘冪為:.^ 。數組運算強調元素對元素的運算。

6.位操作

bitand:按位與

  C=bitand(A,B)命令將返回兩個非負整數數組 A 和 B 的相應元素按位與操作的結果。

  為了確保 A 和 B 的元素都是整數,可以使用 ceil、fix、floor 和 round函數來生成 A 和 B。

bitor:按位或

  C=bitor(A,B)命令將返回兩個非負整數數組 A 和 B 的相應元素按位或操作的結果。

  為了確保 A 和 B 的元素都是整數,可以使用 ceil、fix、floor 和 round 函數來生成 A 和 B。

bitxor:按位異或

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

l bitset:設置指定位的值

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

l bitget:獲取指定位的值

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

7. 繪圖操作

1)圖形標注

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

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

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

  legend (‘string1’,’string2’,…)—— 添加圖例,其順序對應於繪圖指令中的順序 axis ([xmin,xmax,ymin,ymax])—— 控制坐標軸的刻度范圍

2)二維圖形

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 可達到較好的繪圖效果。

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

  功能在同一圖形窗口繪制多條不同顏色曲線,曲線關系為

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

(3)二維特殊圖形

bar

Hist 表示生成直方圖

  M=hist(N)表示將 N 中的最大最小值找出來,然后,平均取十個等間隔點,看以每個間隔點為中心,向兩邊各擴展 1/2 間隔的范圍內,包括 N 的元素個數,因此 M 返回值都是 1*10 大小。

8.文件操作

1fopen 打開文件

  fopen 函數的調用格式為:

  fid= fopen(文件名,打開方式)

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

2 fclose 關閉文件

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

3二進制文件的讀寫操作

fread 讀二進制文件

  fread 函數可以讀取二進制文件的數據,並將數據存入矩陣。其調用格式為:

  [A,COUNT]=fread(fid,size, precision)。

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

fwrite 寫二進制文件

  fwrite 函數按照指定的數據類型將矩陣中的元素寫入到文件中。其調用格式為:

  COUNT=fwrite (fid, A, precision),

  其中 COUNT 返回所寫的數據元素個數,fid為文件句柄,A 用來存放寫入文件的數據,precision 用於控制所寫數據的類型,其形式與 fread 函數相同。

9.M文件的建立與使用

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

1)命令文件

  命令文件的一般形式為:<M 文件名>

  如a1.m, pp.m 等都是合法的 M 文件名。

  M 文件有兩種運行方式:一是在命令窗口直接輸入文件名,按 Enter 鍵; 二是在編輯窗口打開菜單 Tools,再單擊 Run。

  M 文件保存的路徑一定要在搜索路徑上,否則 M 文件不能運行。

比如用 M 命令文件繪制 lena.bmp 圖像。

  第一步:打開 MATLAB 命令窗口,單擊【File】|【New】|【Mfile】,打開編輯窗口;

  第二步:在編輯窗口中輸入:

    clc;

    clear;

    [fn, pn] = uigetfile('*.bmp', '請選擇圖像文件'); [x, map] = imread(strcat(pn, fn), 'bmp'); imshow(x);

  第三步:保存 M 文件,並且保存在搜索路徑上,文件名為 showlena.m;

  第四步:運行 M 文件。在命令窗口輸入 showlena,並按 Enter 鍵;或在編輯窗

  口打開菜單 Tools,再選擇 Run 命令。

2)函數文件

M函數文件的一般形式為:

  function <因變量>=<函數名>(<自變量>)

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

第一步:打開 MATLAB 命令窗口,單擊【File】|【New】|【Mfile】打開編輯窗口;

第二步:在編輯窗口逐行寫下列語句;

  function y=a(x)

  imshow(x);

第三步:保存 M 函數文件,並且保存在搜索路徑上,文件名為 showimage.m;

第四步:命令窗口執行下列語句:

  [fn, pn] = uigetfile('*.bmp', '請選擇圖像文件');

  [x, map] = imread(strcat(pn, fn), 'bmp'); a(x);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM