MatLab(Matrix Laboratory),一種以矩陣計(jì)算為基礎(chǔ)的交互式程序語(yǔ)言,專門針對(duì)科學(xué),工程計(jì)算以及繪圖的需求。函數(shù)眾多。
主要從事網(wǎng)頁(yè)設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、成都響應(yīng)式網(wǎng)站建設(shè)、程序開(kāi)發(fā)、微網(wǎng)站、成都小程序開(kāi)發(fā)等,憑借多年來(lái)在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)絡(luò)營(yíng)銷經(jīng)驗(yàn),集策劃、開(kāi)發(fā)、設(shè)計(jì)、營(yíng)銷、管理等多方位專業(yè)化運(yùn)作于一體,具備承接不同規(guī)模與類型的建設(shè)項(xiàng)目的能力。
常用命令
Esc恢復(fù)命令輸入的空白狀態(tài)
上下鍵:調(diào)出上一行下一行命令
exit/quit退出并關(guān)閉Matlab
figure/figure(2)
logo顯示MatLab的Logo
clc清屏
help sqrt
demo
formatcompact
formatloose
cleari, j
clearall
who或whos,檢查工作空間中的變量及其階數(shù)
語(yǔ)句的結(jié)尾可用回車符或逗號(hào),此時(shí)會(huì)立即顯示運(yùn)算結(jié)果。如果不希望顯示結(jié)果,就以分號(hào)結(jié)尾。此時(shí)運(yùn)算仍然執(zhí)行,指示不顯示。
若賦值時(shí),只剩下右側(cè)的表達(dá)式,而沒(méi)有被賦值的變量,則Matlab會(huì)自動(dòng)給出一個(gè)臨時(shí)變量ans,把運(yùn)算結(jié)果暫存在ans中。
基本語(yǔ)法
Matlab中的變量或常量都代表矩陣,標(biāo)量應(yīng)看作1*1階矩陣。
a=[1 23; 4 5 6; 7 8 9],同一行元素之間以逗號(hào)或空格分開(kāi),不同的行以分號(hào)分開(kāi)。
變量的元素用圓括號(hào)()中的數(shù)字(下標(biāo))來(lái)注明,二維的下標(biāo)以逗號(hào)分開(kāi)。
如果賦值元素的下標(biāo)超出了原來(lái)矩陣的大小,矩陣的行列會(huì)自動(dòng)擴(kuò)展
給全行賦值,可用冒號(hào) a(5, :)=[5, 4, 3] //[]用來(lái)表示矩陣
b =a([2, 4], [1, 3]) //把a(bǔ)的第2,4行及第1,3列交點(diǎn)上的元素取出,構(gòu)成一個(gè)新矩陣b
a([2,4, 5], :)=[] //抽去a中的第2,4,5行,利用空矩陣[]的概念,空矩陣不同于零矩陣
a(2,4) //a矩陣的a[2][4]元素
復(fù)數(shù)用i或j來(lái)表示 c=3+5i
z =[1, 3;5, 7]+[2, 4;6, 8]*i // ‘*’不可省略
w=z' //共軛轉(zhuǎn)置
w=conj(z) //共軛
w=conj(z)' //轉(zhuǎn)置
基本矩陣
zeros(m,n), ones(m, n), rand(m, n), linspace(a, b, n), eye(n) //linspace(a, b, n)在a與b之間均勻地產(chǎn)生n個(gè)點(diǎn)值,形成1*n維向量; eye產(chǎn)生單位矩陣
大矩陣可由若干個(gè)小矩陣組成,但必須行列數(shù)正確,恰好填滿全部元素
元素顯示不精確時(shí),可用顯示單個(gè)元素的命令來(lái)得到它的精確值,或改用長(zhǎng)格式(format long)來(lái)顯示整個(gè)矩陣
[n,m]=size(z) //獲得矩陣階數(shù),若要自己編寫(xiě)矩陣A和B相加減,必須先求nA,mA,nB,mB,并檢驗(yàn)是否滿足nA=nB,mA=mB。作相乘時(shí),正好相反
x=[1,2, 3]; y=x-1
l=length(X) //一維數(shù)組,length不分行和列
inv(z) //求逆矩陣,z必須為n階方陣
x=inv(D)*B=D\B //把D的逆矩陣左乘B,記作D\, 稱之為左除。
x=B*inv(D)=B/D //把D的逆矩陣右乘B,記作/D, 稱之為右除。
*, \, /, ^, expm, logm, sqrtm是將矩陣作為一個(gè)整體進(jìn)行運(yùn)算的
+, -, sqrt, exp, log是對(duì)矩陣中的元素分別進(jìn)行的(按元素群運(yùn)算)
矩陣結(jié)構(gòu)形式的提取與變換
fliplr矩陣左右翻轉(zhuǎn)fliplr(A),flipud矩陣上下翻轉(zhuǎn)flipud(A),reshape階數(shù)重組, 元素總數(shù)不變r(jià)eshape(A, 2, 6)
rot90矩陣整體反時(shí)針旋轉(zhuǎn)90度rot90(A), diag提取或建立對(duì)角陣diag(A), tril取矩陣的左下三角部分tril(A),triu取矩陣的右上三角部分triu(A), :將元素按列取出排成一列B=A(:)'
元素群運(yùn)算
數(shù)組賦值
1) 用兩個(gè)冒號(hào)組成等增量語(yǔ)句,格式:t=[初值:增量:終值],增量為1 時(shí)可以省略
2) 用linspace函數(shù),格式:linspace(初值,終值,點(diǎn)數(shù))
元素群運(yùn)算也就是矩陣中所有元素按單個(gè)元素進(jìn)行運(yùn)算。為了與矩陣作為整體的運(yùn)算符號(hào)相區(qū)別,要在運(yùn)算符*,/,\,^前加一點(diǎn)符號(hào)‘.’,以表示在作元素群運(yùn)算。參與運(yùn)算的兩個(gè)矩陣必須是同階的。非方陣不能按整體作矩陣乘冪運(yùn)算的。
Eg :
x=[0:0.1:pi/4]’;
disp(‘ x sin(x) cos(x) tan(x) ’)
disp([x,sin(x),cos(x),tan(x)])
邏輯判斷
1 數(shù)學(xué)及邏輯運(yùn)算符(~=不等于)
2 邏輯字符檢查(all, any, find, isnan, isreal, isstr)
3 位運(yùn)算
4 集合運(yùn)算
流程控制語(yǔ)句
1 if語(yǔ)句
1) if(expression) section, end
2) if(expression1) section1, elsesection2, end
3) if(expression1) section1, elseifexpression2 section2, else section3, end
2while語(yǔ)句
while(expression)section, end
3 for 語(yǔ)句
for k=初值:增量:終值 語(yǔ)句組A, end
4 switch語(yǔ)句
switch表達(dá)式(標(biāo)量或字符串)
case 值1
語(yǔ)句組A
case 值2
語(yǔ)句組B
… …
Otherwise
語(yǔ)句組N
end
基本繪圖方法
Graph3d,Graph4d,Graphics,specgraph函數(shù)庫(kù)
基本作圖函數(shù)說(shuō)明:
Plot繪制連續(xù)波形 stem繪制離散波形 subplot一個(gè)窗口內(nèi)繪制多副圖
axis定義x,y軸最大最小值 hold保留目前曲線 grid畫(huà)網(wǎng)格線 xlabel/ylabel為x/y軸加上說(shuō)明
title為圖形加上標(biāo)題 text在圖上加文字說(shuō)明 gtext用鼠標(biāo)拖動(dòng)來(lái)確定標(biāo)注文字的位置
1直角坐標(biāo)中的兩維曲線
1) plot(y)輸入一個(gè)數(shù)組的情況
2) plot(x,y)輸入兩個(gè)數(shù)組的情況
如果數(shù)組x和y具有相同長(zhǎng)度,命令plot(x,y)將繪出以x元素為橫坐標(biāo),y元素為縱坐標(biāo)的曲線。
2線形,點(diǎn)型,顏色
Y***m品紅c青r紅g綠b藍(lán)w白k黑
.,o,x,+,-,*,: 虛線,-.點(diǎn)劃,- -長(zhǎng)劃
Eg: plot(x1, y1, ‘:y’), plot(x2,y2,’+r’)
3多條曲線的繪制
1) plot(t, [y1, y2, …]) 要求所有輸出量有同樣的長(zhǎng)度和同樣的自變量向量,不便于用戶自行設(shè)定線型和顏色
2) hold命令 坐標(biāo)選擇要得當(dāng),注意及時(shí)解除保持狀態(tài)hold off
3) 在plot后使用多輸入變量
plot(x1, y1,’+g’, x2, y2,’:r’ …)
4) plotyy命令
plotyy(t,y,t2,y2)
屏幕控制
1 圖形窗的控制
figure創(chuàng)建圖形窗 gcf獲取當(dāng)前圖形窗的句柄 clf清除當(dāng)前圖形窗 shg顯示圖形
refresh刷新圖形 close關(guān)閉圖形窗 close all關(guān)閉所有圖形窗
2 軸系的控制
axes在任意位置創(chuàng)建坐標(biāo)系 gca獲取當(dāng)前坐標(biāo)系的句柄 cla清除當(dāng)前坐標(biāo)系 ishold保持當(dāng)前圖形狀態(tài)為真
3 圖形對(duì)象
line創(chuàng)建直線 surface創(chuàng)建曲面 patch創(chuàng)建圖形填充塊 light創(chuàng)建照明 p_w_picpath創(chuàng)建圖像
4 圖形句柄操作
5工具
6 其他
subplot(n,m,p):將圖形窗口分為n*m個(gè)子圖,在第p個(gè)子圖處繪制圖形
其他二維繪圖命令
虛數(shù)的繪圖
坐標(biāo)比例和尺寸的設(shè)定---axis命令
圖形窗口中的直接編輯
M文件及程序調(diào)試
M文件分兩種:一種是主程序文件(script file),由用戶為解決特定的問(wèn)題而編制的;另一種是子程序,也稱為函數(shù)文件(function file),它必須由其他文件調(diào)用
主程序文件
1) 用clear,close all等語(yǔ)句開(kāi)始,清除掉工作空間中原有的變量和圖形,以避免其它已執(zhí)行程序殘留數(shù)據(jù)對(duì)本程序的影響。前幾行通常是注釋,說(shuō)明此程序的用途。注釋必須以%開(kāi)始。在MatLab中輸入help filename時(shí),屏幕上會(huì)將該文件中以%起頭的最前面幾行的內(nèi)容顯示出來(lái)。
2) 程序主體。注意避免中文的字符,否則會(huì)引起死機(jī)
3) 文件名不要用漢字。避免出現(xiàn)漢字路徑名。
人機(jī)交互命令
估值并執(zhí)行,流程控制語(yǔ)句,程序,函數(shù)和變量,變?cè)芾恚畔@示,人機(jī)交互命令
pause(n)程序執(zhí)行到此處,暫停n秒,再繼續(xù)執(zhí)行。如果沒(méi)有括號(hào)參數(shù),則等待用戶輸入任意鍵后才繼續(xù)執(zhí)行。
keyboard程序執(zhí)行到此處暫停,在屏幕上顯示字符K,并把程序的輸入和執(zhí)行權(quán)交給用戶。如果需要系統(tǒng)恢復(fù)運(yùn)行原來(lái)的程序,只需輸入字符串return。在M文件中設(shè)置該命令,有利于進(jìn)行程序調(diào)試,以及臨時(shí)修改變量?jī)?nèi)容。
Ctrl+C強(qiáng)行停止程序運(yùn)行的命令
函數(shù)文件
由function起頭,后跟的函數(shù)名必須與文件名相同
有輸入輸出變?cè)?變量),可進(jìn)行變量傳遞
除非用global聲明,程序中的變量均為局部變量,不保存在工作空間中