版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 Matlab學(xué)習(xí)筆記 MATLAB與科學(xué)計(jì)算 王正盛 國(guó)防工業(yè)出版社一.MATLAB入門4who、whos和永久變量4顯示格式4圖形4二.MATLAB數(shù)值計(jì)算51.常用命令:52.矩陣的保存和獲取53.矩陣的運(yùn)算和數(shù)組的運(yùn)算54.線性方程組55.多項(xiàng)式66.數(shù)值積分67.一般非線性方程組求解68.微分方程的數(shù)值求解7三MATLAB的符號(hào)計(jì)算71.符號(hào)變量和符號(hào)表達(dá)式72.微積分運(yùn)算73.解方程84.化簡(jiǎn)和代換85.MATLAB的符號(hào)表達(dá)式命令8四.MATLAB的圖形和可視化91.二維圖形92圖形標(biāo)記93.特殊坐標(biāo)和圖形94.其他命令95.填充命令106.三維圖形107.符號(hào)繪圖108.其他1
2、0五.MATLAB程序設(shè)計(jì)101.概述:102.命令文件113.程序文件11六.MATLAB圖形用戶界面(GUI)設(shè)計(jì)11七.基于MATLAB的大規(guī)模矩陣計(jì)算111.稀疏矩陣11八.基于MATLAB的最優(yōu)化問題求解121.線性規(guī)劃問題122.非線性問題123.二次規(guī)劃問題12九.基于MATLAB的數(shù)據(jù)插值和擬合121.一維數(shù)據(jù)插值122.二維數(shù)據(jù)插值133.曲線擬合13十.基于MATLAB的圖像處理初步131.圖像分類132.圖像的讀取和顯示13一.MATLAB入門who、whos和永久變量who 變量名 %檢查內(nèi)存變量。Whos %檢查駐留變量的詳細(xì)情況。MATLAB自定義的永久變量:eps
3、 %計(jì)算機(jī)中的最小正數(shù) inf %無窮大pi %圓周率 NaN %不定量flops %浮點(diǎn)運(yùn)算次數(shù) i,j%虛數(shù)單位顯示格式MATLAB中以短格式(5個(gè)有效數(shù)字)顯示計(jì)算結(jié)果,可以用format命令改變數(shù)字顯示格式1. 變量的存儲(chǔ)和調(diào)用1) 存儲(chǔ)當(dāng)前工作空間中的變量Save %將所有的變量存入文件MATLAB.mat中Save mydate %將所有變量存入指定文件Save mydate x y z %將指定的變量存入指定的文件中2) 將數(shù)據(jù)文件的變量載入當(dāng)前的工作空間將save換作load即可圖形1 二維圖形繪制命令Plot(x,y);2.三維圖形繪制命令Mesh(z);2. 用戶目錄的建立
4、在命令窗口輸入:cd c:mydir二.MATLAB數(shù)值計(jì)算1.常用命令:Reshape命令X=1:1:6; %產(chǎn)生6個(gè)元素的行向量Reshape(x,2,3); %利用X行向量產(chǎn)生一個(gè)2*3的向量diag命令:ar=rand(4,4) %產(chǎn)生一個(gè)4*4的0-1均勻隨機(jī)向量d=diag(ar) %用ar的主對(duì)角元形成向量dD=diag(d)%利用d構(gòu)成對(duì)角矩陣DSize:獲取矩陣的行數(shù)和列數(shù)2.矩陣的保存和獲取1)利用m文件利用文件編輯器編輯矩陣AM=1 2 3;4 5 6;7 8 9保存為在自己的目錄下名的matrix.m在MATLAB命令窗口中只要輸入matrix就可以調(diào)用AM矩陣2)通過
5、mat文件Mat文件是MATLAB中保存數(shù)據(jù)的一種標(biāo)準(zhǔn)格式二進(jìn)制文件,通過save和load執(zhí)行,如前所述3) 利用外部數(shù)據(jù)文件裝入到指定矩陣中假如磁盤中已有名為c:mydirdate.dat的二進(jìn)制數(shù)據(jù)文件,利用load c:mydirdate.dat命令可以在MATLAB工作空間中產(chǎn)生一個(gè)名為date的矩陣3.矩陣的運(yùn)算和數(shù)組的運(yùn)算矩陣運(yùn)算是按矩陣的運(yùn)算法則進(jìn)行的;數(shù)組運(yùn)算無論何種操作都是對(duì)元素逐個(gè)進(jìn)行的,數(shù)組運(yùn)算需要在運(yùn)算符前加點(diǎn)號(hào)。4.線性方程組1)采用求逆運(yùn)算:x=inv(A)*b;2)采用左除運(yùn)算:x=Ab;說明:只有在A是方陣時(shí)可以采用求逆運(yùn)算;求逆運(yùn)算沒有左除運(yùn)算好;一般都用左
6、除運(yùn)算吧在解欠定方程時(shí),解得結(jié)果是所有結(jié)果中范最小的一個(gè)5.多項(xiàng)式1. 多項(xiàng)式的創(chuàng)建1) 多項(xiàng)式系數(shù)向量直接輸入法2) 利用指令:p=poly(AR);AR為多項(xiàng)式的根或者特征多項(xiàng)式常用多項(xiàng)式的運(yùn)算指令:R=roots(P)%求多項(xiàng)式的根PA=polyval(p;S)%按數(shù)組運(yùn)算規(guī)則計(jì)算多項(xiàng)式值。P是多項(xiàng)式,S為矩陣PA=polyvalm(p;S)%按向量運(yùn)算規(guī)則計(jì)算多項(xiàng)式值。r,p,k=residue(b,a)%部分分式展開。b,a分別是分子,分母多項(xiàng)式的系數(shù)向量。R,p,k分別是留數(shù)、極點(diǎn)、直項(xiàng)向量。P=polyfit(x,y,n)%用n階多項(xiàng)式擬合x,y向量給定的數(shù)據(jù)。6.數(shù)值積分S=q
7、uad(fname,j積分下限,積分上限,tol,trace) %trace為1用圖形展示積分過程,精確度缺省時(shí)取0.001S=quad8(fname,j積分下限,積分上限,精確度,trace)7.一般非線性方程組求解1) 單變量非線性方程求解先建立方程fname.m文件調(diào)用fzero求解Z=fzero(fname,x0,tol,trace)%x0為起始搜索點(diǎn),一個(gè)函數(shù)可能有多個(gè)根,但結(jié)果只取離x0最近的根2)求解非線性方程組先建立方程組的m文件調(diào)用fsolve函數(shù)求解X=fsolve(fname,x0) %x0是對(duì)解的猜測(cè)值function q=myxyz(p)x=p(1);y=p(2);z
8、=p(3);q(1)=sin(x)+y2+log(z)-7;q(2)=3*x+2*y-z3+1;q(3)=x+y+z-5;調(diào)用x=fsolve('myxyz',1 1 1) 8.微分方程的數(shù)值求解t,x=ode23(fnanme,to,tf,x0,tol,trace)t,x=ode45(fnanme,to,tf,x0,tol,trace)先建立微分方程fname.m文件調(diào)用ode23或ode45函數(shù)。function yp=funt(t,y)yp=(y2-t-2)/4/(t+1);調(diào)用t,y=ode23('funt',0,10,2)注:該指令是針對(duì)一階微分方程設(shè)
9、計(jì)的。因此對(duì)于高階微分方程,必須演化成形如x=f(x,t)的一階微分方程。三MATLAB的符號(hào)計(jì)算1.符號(hào)變量和符號(hào)表達(dá)式sym x %定義一個(gè)符號(hào)變量findsym(g)%確認(rèn)符號(hào)表達(dá)式中的符號(hào)變量syms x,y,z %定義一組符號(hào)變量注:事實(shí)上,sym和syms在定義符號(hào)變量時(shí)除了個(gè)數(shù)的差別外,還有定義的結(jié)果也不同,注意在MATLAB中體會(huì)。f=sym(1+sin(x)subs(f,old,new)%用新的符號(hào)變量代替舊的符號(hào)變量,可以是一個(gè)變量也可以是一個(gè)數(shù)組。 2.微積分運(yùn)算1)微分diff(f,t,n) %函數(shù)f對(duì)t求導(dǎo),如果t缺省,則字符表上最接近x的符號(hào)變量求導(dǎo);n表示求導(dǎo)次數(shù)
10、2)積分int(f,t,t0,tf) %函數(shù)f對(duì)x在t0到tf上求積分3)求極限limit(f,t,a,left或者right) %當(dāng)t趨于a時(shí),f的極限,當(dāng)a缺省時(shí),a為0,left或者right表示左右極限。4)求級(jí)數(shù)和symsum(s,t,a,b) %t從a到b時(shí)s的級(jí)數(shù)和5)求泰勒級(jí)數(shù)taylor(f,x,a)%函數(shù)f對(duì)符號(hào)變量x在a點(diǎn)附近的泰勒級(jí)數(shù),a缺省時(shí)為0,詳見help。命令欄輸入taylortool可以調(diào)用泰勒?qǐng)D形展開界面。3.解方程1)代數(shù)方程solve(f,t) %解代數(shù)方程f=0或者solve(f(x)=g(x))也可以利用solve解方程組,詳見help2)解微分方程
11、dsolve(s,s1,s2,x) %s1、s2、時(shí)初始條件3)線性代數(shù)MATLAB中大多數(shù)用于數(shù)值線性代數(shù)的計(jì)算命令,都可以用于符號(hào)變量線性代數(shù)運(yùn)算4.化簡(jiǎn)和代換collect(s)%合并同類項(xiàng)expand(s)%將乘積形式化為和式simplify(s)%利用恒等式化簡(jiǎn)hornor(s) %將多項(xiàng)式化為嵌套式此外還有simple5.三種變換:傅立葉變換fourier(f,trans_var,eval_point) 反變換:ifourier()拉普拉斯變換laplace(f,trans_var,eval_point) 反變換:ilaplace()z變換ztrans(f,trans_index,
12、eval_point) 反變換:iztrans()5.MATLAB的符號(hào)表達(dá)式命令help symbolic四.MATLAB的圖形和可視化1.二維圖形plot(x,y) %最簡(jiǎn)單最常用的二維繪圖命令fplot(fname,lims,tol) %自適應(yīng)二維函數(shù)繪圖命令,在函數(shù)變化率大的部分密集采樣繪圖,提高圖形真實(shí)性。2圖形標(biāo)記title(圖形名稱) %給圖形命名xlabel(x軸坐標(biāo)) ylabel(y軸坐標(biāo)名)text(x,y,標(biāo)記) %在坐標(biāo)點(diǎn)(x,y)處加標(biāo)記legend(圖例1,圖例2,····)axis(x,y的坐標(biāo)范圍)axis(on) %顯
13、示坐標(biāo) axis(off)另外繪圖命令中還可以對(duì)圖形的坐標(biāo),顏色,線型進(jìn)行設(shè)定,詳見help3.特殊坐標(biāo)和圖形loglog(x,y)%雙對(duì)數(shù)坐標(biāo)semilogy(x,y) %以x軸為對(duì)數(shù)坐標(biāo)polar(theta,rho) %極坐標(biāo)stair(x,y) %階梯圖形bar(x,y) %條形圖stem(x,y)%火柴桿狀圖pie(x)%繪制餅狀圖 pie3(x)%繪制三維餅狀圖ribbon(x,y,c)%繪制帶狀圖,c是顏色4.其他命令subplot(a,b,n) %將繪圖區(qū)分為a*b區(qū),選擇其中的n區(qū)hold %在原來視圖中繪圖plotyy(x1,y1,x2,y2)%在同一坐標(biāo)系中左右使用不同的
14、坐標(biāo)5.填充命令fill(x1,y1,x2,y2,c) %用c顏色填充由(x1,y1)、(x2,y2)···確定的多邊形erea(x,y,r) %用r色填充由x,y函數(shù)確定邊界的區(qū)域6.三維圖形1)繪圖命令plot3(x,y,z) %最基本的三維圖形函數(shù),函數(shù)除了增加第三維坐標(biāo)外,功能和plot相同mesh(x,y,z) %繪制三維網(wǎng)格圖。在不需要特別精細(xì)的三維曲面結(jié)果時(shí)使用。surf(x,y,z) %繪制三維曲面圖,各線條之間的補(bǔ)面用顏色填充2)視點(diǎn)view(方位角,俯視角)或者view(x,y,z) %x,y,z觀察點(diǎn)坐標(biāo)3)等高線contour(x,y,z,
15、n) %以z為高程值,x,y為橫縱坐標(biāo)的平面等值線圖,n缺省值為10 contour3(x,y,z,n) %三維等值線圖meshc(x,y,z) %繪制帶等值線圖的網(wǎng)線圖其他相關(guān)的還有pcolor()、meshz()、surfc()等,詳見help。7.符號(hào)繪圖ezplot(f,a,b)%二維符號(hào)繪圖ezplot3(f,a,b) %三維符號(hào)繪圖ezmesh()、ezsurf()%三維符號(hào)繪圖8.其他1)球面繪圖sphere(n) %繪制單位球面,且球面上的網(wǎng)格線條數(shù)為ncylinder(r,n) %軸線定位z軸r表示柱面的母線,是向量;n表示柱面上網(wǎng)格線條數(shù)五.MATLAB程序設(shè)計(jì)1.概述:1
16、)MATLAB有兩種工作方式:一種是交互式的命令行工作方式;一種是m文件的程序工作方式。2)m文件有兩種:一種是命令文件,相當(dāng)于將命令行的命令先集中寫好存在m文件中;一種是函數(shù)文件。2.命令文件1)數(shù)據(jù)的輸入輸出result = input(prompt) %提示輸入一個(gè)量disp(X) % isplay text or arraypause(n)%暫停n秒,n缺省時(shí)暫停至敲任意鍵結(jié)束。3.程序文件function 輸出形參表=fname(輸入形參表)函數(shù)體MATLAB中的程序設(shè)計(jì)同樣著重掌握if語句,while語句,for語句和switch語句等,同時(shí)MATLAB中沒有花括弧,每一條if或者
17、while語句都需要用end結(jié)束。六.MATLAB圖形用戶界面(GUI)設(shè)計(jì)太難,暫時(shí)跳過七.基于MATLAB的大規(guī)模矩陣計(jì)算1.稀疏矩陣 表 MATLAB提供的創(chuàng)建稀疏矩陣函數(shù)表sparseconverts a full matrix to sparse form by squeezing out any zero elements.S = sparse(A)S = sparse(i,j,s,m,n)spdiagsextracts all nonzero diagonals from the m-by-n matrix A.B = spdiags(A,d)A = spdiags(B,d,m,
18、n)A = spdiags(B,d,A)spconvertconverts a matrix D with rows containing i,j,s or i,j,r,s to the corresponding sparse matrix. S = spconvert(D)findlocates all nonzero elements of array X, and returns the linear indices of those elements in vector indind = find(X)ind = find(X, k)row,col,v = find(X, .)spe
19、yeorm an m-by-n sparse matrix with 1s on the main diagonalS = speye(m,n)fullconverts a sparse matrix S to full storage organizationA = full(S)八.基于MATLAB的最優(yōu)化問題求解1.線性規(guī)劃問題x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) %求解線性規(guī)劃問題,注意f為列向量2.非線性問題1)有約束一元函數(shù)x = fminbnd(fun,x1,x2,options) %x1,x2是取值范圍2)無約束多元函數(shù)x =
20、fminsearch(fun,x0,options) %x0是初始值向量x = fminunc(fun,x0,options) 注:當(dāng)函數(shù)結(jié)束大于2時(shí),使用fminnuc比fminsearch更有效,但當(dāng)所選函數(shù)高度不連續(xù)時(shí),使用fminsearch效果較好3)有約束多元函數(shù)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) %nonlcon通過指定函數(shù)柄來使用非線性約束,如:x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,mycon) %mycon是定義好的非線性等式和不等式約束,缺省時(shí)用代替。3.二次規(guī)劃問題x = quad
21、prog(H,f,A,b,Aeq,beq,lb,ub,x0) % This MATLAB function returns a vector x that minimizes 1/2*x'*H*x + f'*x.九.基于MATLAB的數(shù)據(jù)插值和擬合1.一維數(shù)據(jù)插值1)vq = interp1(x,v,xq,method) %x、v是數(shù)據(jù)值,xq是要求點(diǎn),method是具體算法method有四種:linear分段線性插值,缺省值 cubic分段三次多項(xiàng)式插值 spline三次樣條插值,即在每個(gè)分段區(qū)間內(nèi)構(gòu)造一個(gè)三次多項(xiàng)式,使其插值函數(shù)滿足插值條件,還要求在各個(gè)節(jié)點(diǎn)出具有光滑的條件 nearest最鄰近區(qū)域插值2)三次樣條插值 yy = spline(x,Y,xx) pp = spline(x,Y) %調(diào)用結(jié)果用yyi=ppvsl(pp,xxi)2.二維數(shù)據(jù)插值1)插值基點(diǎn)為網(wǎng)格節(jié)點(diǎn)(即節(jié)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療器械公司屋頂搭建施工合同
- 礦泉水廠施工合同文本
- 電商客服人員聘用合同書
- 物流行業(yè)稅務(wù)籌劃
- 健身教練操作工招聘協(xié)議
- 橋梁擴(kuò)建電纜頂管施工合同
- 學(xué)校體育館鋼結(jié)構(gòu)樓梯施工合同
- 保齡球器材租賃合同模板
- 水上婚禮婚禮樂隊(duì)游艇租賃合同
- 特色小鎮(zhèn)房產(chǎn)評(píng)估師聘用合同
- 《梯形的面積》(課堂PPT)
- 天然氣脫硫(課堂運(yùn)用)
- 幼兒園教師師德師風(fēng)考核表(共2頁)
- 《施工組織設(shè)計(jì)專項(xiàng)施工方案資料》古建筑油漆彩畫施工方案
- 城鎮(zhèn)職工醫(yī)療保險(xiǎn)運(yùn)行中的問題分析及措施
- 阿拉丁神燈介紹ppt[共27頁]
- 人教版英語選擇性必修一Unit 1 People of Achievement(Reading and Thinking)教案(2課時(shí))
- 學(xué)校食堂五常法管理制度
- 畢業(yè)設(shè)計(jì)500kv變電站設(shè)計(jì)
- 講故事社團(tuán)活動(dòng)教案
- 五四制新青島版二年級(jí)科學(xué)上冊(cè)14《身邊的動(dòng)植物資源》課件
評(píng)論
0/150
提交評(píng)論