MATLAB主要命令匯總 1,、常用信息 • help:在線幫助(顯示在命令窗),。 • helpwin:在線幫助(獨立窗口顯示)。 • ver:MATLAB及工具箱的版本信息,。 2,、管理工作區(qū)命令 • who:顯示當(dāng)前變量。 • whos:顯示當(dāng)前變量具體信息,。 • clear:從內(nèi)存中清楚變量和函數(shù),。 • quit:退出MATLAB。 3,、管理命令和函數(shù) • what:顯示當(dāng)前目錄下的MATLAB 文件,。 • edit:編輯M文件。edit(建立編輯新文 件);edit+文件名(編輯已有的文件),。 • which:找出函數(shù)和文件的位置,。 • type:顯示M文件內(nèi)容。Type+文件名,。 • Inmem:顯示內(nèi)存中的函數(shù),。 4、操作系統(tǒng)命令 • dir:顯示目錄,。 • pwd:顯示當(dāng)前工作目錄,。 • delete:刪除文件。Delete+文件名,。 • web:打開頁面瀏覽器加載文件,。 5、數(shù)據(jù)類型 • double:雙精度類型 • sym:符號型 • Inline:內(nèi)聯(lián)對象 • char:字符數(shù)組或字符串,。 • uint8:無符號8位整數(shù)(unsigned integer) 6,、數(shù)據(jù)基本操作 • max:最大元素。向量為數(shù),,矩陣為向量 • min:最小元素,。類似max. • mean:求平均值。mean(a),a為向量時得到向量平均值,,結(jié)果為一個數(shù),;a為矩陣時,,進行每列平均,得到一個向量,。 • sum:元素和,。 sum(a),a為向量時得 到該向量各元素之和,結(jié)果為一個數(shù),;a為矩陣時,,進行每列求和,得到一個向量,。 • prod:元素積,。prod(a)當(dāng)a為向量和 矩陣時的情況,類似于max(a),。 • cumsum:元素累和,。cumsum(a),a可為向量,也可為矩陣,。 • cumprod:元素累積,。a可為向量, 也可為矩陣,。 7,、基本矩陣函數(shù) • zeros:零矩陣函數(shù)。 • ones:全1矩陣,。 • eye:單位矩陣,。 • rand:隨機數(shù)、向量,、矩陣. • linspace:線性等分向量,。 8、基本數(shù)組操作 • size:矩陣大小,。 • length:數(shù)組長度,。 • isempty:判斷是不是空矩陣。 • isequal: 判斷數(shù)組是否相等,。 isequal(a,b),。 • isnumeric:判斷是否為數(shù)值矩陣。 • reshape:矩陣重置,。 • tril:抽取下三角部分,。 • triu:抽取上三角部分。 • fliplr:左右方向翻轉(zhuǎn)矩陣(flip:翻轉(zhuǎn)),。 • flipud:上下方向翻轉(zhuǎn)矩陣,。 • rot90:逆時針把矩陣旋轉(zhuǎn)90度。 9,、專用變量和常量 • ans:最新答案,。 • pi:圓周率,。 • i,j:復(fù)數(shù)單位。 • inf:無窮大,。 • NaN:不定數(shù),。 • isnan:判斷不定數(shù)。 • isinf:判斷無窮大元素,。 • isfinite:判斷有限大元素,。 10、指數(shù),、對數(shù)函數(shù) • exp:e指數(shù)函數(shù),。 • pow2:以2為底的冪函數(shù)。 • sqrt:平方根函數(shù),。 11,、舍入函數(shù)和剩余函數(shù) • fix:朝零方向舍入為整數(shù),。 • floor:朝負(fù)方向舍入為整數(shù),。 • ceil:朝正方向舍入為整數(shù)。 • round:四舍五入為整數(shù),。 • sign:符號函數(shù),。 • mod:無符號求余函數(shù)。mod(3,2)=1 • rem:帶符號求余函數(shù),。 12,、復(fù)數(shù)函數(shù) • abs:求模。 • conj:求共軛函數(shù)(conjugate),。 • angle:相角函數(shù),。 • imag:復(fù)矩陣虛部。 • real:復(fù)矩陣實部,。 • isreal:實矩陣判斷函數(shù),。 12、矩陣函數(shù) • norm:矩陣或向量范數(shù),。 • normest:向量,、矩陣2范數(shù)。 • rank:矩陣的秩,。 • det:矩陣行列式的值,。 • trace:矩陣的跡(主對角線元素之和)。 • inv:矩陣逆,。 13,、特征多項式、特征值 • poly:特征多項式,。 • poly2sym:多項式表示,。 • eig:特征值和特征向量,。 • eigs:特征值。 14,、矩陣函數(shù) • expm:矩陣指數(shù),。 • logm:矩陣對數(shù)。 • sqrtm:矩陣平方根,。 15,、坐標(biāo)轉(zhuǎn)換 • cart2sph:轉(zhuǎn)換直角坐標(biāo)為球坐標(biāo)。 • cart2pol:轉(zhuǎn)換直角坐標(biāo)為極坐標(biāo),。 • pol2cart:轉(zhuǎn)換極坐標(biāo)為直角坐標(biāo),。 • sph2cart:轉(zhuǎn)換球坐標(biāo)為直角坐標(biāo)。 16,、坐標(biāo)軸控制 • axis:控制坐標(biāo)軸范圍,。 • grid on/off:柵格線保持、取消,。 • hold on/off:圖形保持/取消,。 • box on/off:圖形四周都顯示/常規(guī)坐標(biāo)軸。 例1,、 • [x,y]=meshgrid(0:0.5:10); • z=y.*sin(x.^2)+cos(y); • surf(x,y,z) • v=[-20,10,-20,10,-10,50];%坐標(biāo)軸范圍控制 • axis(v)%注意該語句必須在圖形顯示語句的后面 說明:二維圖形是類似的,。 例2、axis(‘控制字符串’):可以選擇 不同的字符串完成對坐標(biāo)軸的操作,。 控制字符串有: (1)auto:自動模式,,使得圖形的坐標(biāo)范圍滿足圖中一切圖元素。 (2)axis:將當(dāng)前坐標(biāo)設(shè)置固定,,使 用hold命令后,,圖形仍以此作為坐標(biāo)界限。 (3)manual:以當(dāng)前的坐標(biāo)限定繪制,。 (4)tight:將坐標(biāo)限控制在指定的數(shù)據(jù)范圍內(nèi),。 (5)equal:使坐標(biāo)軸分度相等。 (6)off:取消對坐標(biāo)軸的一切設(shè)置,,包括系統(tǒng)的自動設(shè)置,。 (7)on:恢復(fù)對坐標(biāo)軸的一切設(shè)置。 • [x,y]=meshgrid(-1:0.1:1,-1:0.1:1); • z=x.^2+y.^2; • surf(x,y,z) • box on 17,、基本二維圖形 • plot:線性繪圖,。 • loglog:雙對數(shù)坐標(biāo)圖。 • semilogx:半對數(shù)(x)坐標(biāo)圖,。 • semilogy:半對數(shù)(y)坐標(biāo)圖,。 • polar:極坐標(biāo)圖。 • subplot:分割圖窗 • refline(slope,intercept):加參考線 18,、圖形注解 • legend:圖形標(biāo)簽. • xlable:x軸標(biāo)簽,。 • ylable:y軸標(biāo)簽,。 • title:圖形題目。 • text:文字注解,。 19,、特殊二維圖形 • bar:條形圖。 • barh:水平柱圖,。 • ezplot:符號函數(shù)圖,。 • fplot:繪制字符串指定的函數(shù)名的函數(shù)圖。如fplot(‘sin(x)’,[2,3]),。 • pie:餅圖,。 • plotmatrix:繪矩陣點圖。 • stem:2維火柴桿圖,。 • stem3:3維火柴桿圖,。 20、等高線圖和向量圖 • contour:等高線圖,。 • contour3:三維等高線圖,。 • quiver:向量圖。 例 [x,y] = meshgrid(-2:.2:2,-1:.15:1); z = x .* exp(-x.^2 - y.^2); [px,py] = gradient(z,2); contour(x,y,z), hold on quiver(x,y,px,py) hold off 21,、特殊三維圖形 • comet3:三維彗星軌線(comet(x,y)畫二維彗星線),。 t = -10*pi:pi/500:10*pi comet3(sin(t),cos(t),t) • meshc(x,y,z):畫出三維網(wǎng)格與等高線 圖,類似sutfc,。 • meshz(x,y,z):增加邊界面屏蔽。 • stem3:三維火柴干圖,。 • 例 a=rand(3),; stem3(a); 22,、固體模型 • cylinder:生成圓柱,。格式為[x,y,z]= cylinder(r,n),r為母線半 徑,N為顯示的母線條數(shù) mesh(x,y,z)或surf(x,y,z)顯示單位 高度柱面,。 t = -1*pi:pi/20:1*pi; r=5+cos(t); [x,y,z]=cylinder(r,30) surf(x,y,z) • sphere: 生成單位球面,。例 [x,y,z]=sphere(40) %40為子午線條 數(shù),sphere默認(rèn)為20條,。 mesh(x,y,z)或surf(x,y,z) %畫球面 axis(‘equal’) %坐標(biāo)軸刻度相同 例,、繞地球運動的飛行物 • [x,y,z]=sphere(50); • mesh(x,y,z); • hold on • v=[-6,6,-6,6,-6,6]; • axis(v); • axis('off') • t= 0:pi/1000:200*pi; • x=6*sin(t); • y=2*cos(t); • z=zeros(size(t)); • comet3(x,y,z) 23、四維表現(xiàn)圖 對于三維圖形自變量是二維的,,對于三個自變量的函數(shù)w=fx,y,z),其其圖形應(yīng)該是四維的,,由于我們所處的空間和思維的局限性,在計算機屏幕上只能表現(xiàn)出三維空間,。為了表現(xiàn)四維圖像,,可利用三維實體的四維切片色圖,,用三維實體上的顏色來描述函數(shù)值的變化情況。 • MATLAB中用slice函數(shù)來完成 ?。?)slice(x,y,z,w,sx,sy.sz):繪制向量sx,sy,sz中的點沿x,y,z軸方向的切片圖,,v的大小決定了每一點的顏色。 ?。?)slice(x,y,z,w,x1,,y1,z1):按數(shù)組x1,y1,z1切片(按坐標(biāo)軸單位),。 ?。?)slice(w,x1,y1,z1):按數(shù)組x1,,y1,z1切片(按x,y,z的網(wǎng)格單位進行切片,。 (4)slice(w,sx,,sy,sz):按x,y,z的網(wǎng)格單位進行切片,。 例、程序如下: [x,y,z]=meshgrid(-2:0.2:2,-2:0.25:2,-2:0.16:2); w=x.^2+y.^2+z.^2; %slice(x,y,z,a,x,y,z) x1=1:15; y1=1:10; z1=1:10 subplot(2,2,1),slice(x,y,z,w,1,1,[0,1]); subplot(2,2,2),slice(w,1,1,[0,1]); subplot(2,2,3),slice(x,y,z,w,x1,y1,z1);hold on subplot(2,2,4),slice(w,x1,y1,z1); colorbar %色軸,,它可以標(biāo)注顏色與數(shù)值之間的關(guān)系 24,、數(shù)據(jù)文件 (1)Save(‘x1’,‘變量1’,, ‘變量2’,,…):把變量1,變量2,,…的數(shù)據(jù)保存到名字為x1.mat的數(shù)據(jù)文件中,;當(dāng)變量缺省時,保存所有變量的數(shù)據(jù),。數(shù)據(jù)文件自己起名字,,變量為程序中的已賦值的變量。 請看下面例子 w=' x=[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1]; y=[0.002,0.114,0.189,0.316,0.394,0.434,0.427,0.409,0.379,0.327,0.254]; a=x'*y; save(‘x save(‘x save('x3','w','x') %保存w,x變量的數(shù)據(jù) save(‘x %用load(‘文件名’)可把數(shù)據(jù)文件調(diào)入內(nèi)存,。 25,、時間函數(shù) (1)calendar:返回當(dāng)前日歷 (2)calendar(year, month):反回指定的年月日歷。 (3) calendar(data):返回公元0000年算起的天數(shù)(data)的日歷,。 (4)cputime:以秒返回cpu當(dāng)前時間,。 (5)tic,toc啟用、關(guān)閉計時器,。 (6)clock: [year month day hour minute seconds] %計算運行程序所用的時間 • t1=clock • …. • t2=clock • etime(t2,t1)%elapsed time from t1 to t2或者 • tic%打開計時器 • … • toc%關(guān)閉計時器,,且顯示所用的時間 • 或者 • T1=cputime • … • T2=cputime • E=T2-t1 說明:通過計算程序所用的時間可以來 衡量解決同樣的一個問題的所編寫的不 同程序的優(yōu)劣。 例1、 • t1=clock; • for k=1:m • x0=[1;0]; • T=0.2; • m=1000; • f=inline('[-sin(t);cos(t)]'); • x1=x0+f((k-1)*T)*T; • x0=x1; • x(k)=x1(1); • y(k)=x1(2); • end • comet(x,y) • t2=clock; • t=etime(t2,t1) • t1=clock; • x0=[1;0]; • T=0.2; • m=1000; • f=inline('[-sin(t);cos(t)]'); • for k=1:m • x1=x0+f((k-1)*T)*T; • x0=x1; • x(k)=x1(1); • y(k)=x1(2); • end • comet(x,y) • t2=clock; • t=etime(t2,t1) |
|