MATLAB入門與數(shù)學(xué)建模初步.ppt_第1頁
MATLAB入門與數(shù)學(xué)建模初步.ppt_第2頁
MATLAB入門與數(shù)學(xué)建模初步.ppt_第3頁
MATLAB入門與數(shù)學(xué)建模初步.ppt_第4頁
MATLAB入門與數(shù)學(xué)建模初步.ppt_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、課程簡介與教學(xué)流程,課程性質(zhì):專業(yè)必修課 完成課時(shí):48學(xué)時(shí),68周 考核形式:考試,試卷+上機(jī)編程 選用教材:重慶大學(xué)組編,國家十五規(guī)劃教材 先修課程:數(shù)學(xué)分析/ 高等代數(shù)/ 微分方程 概率論/ 數(shù)學(xué)建模/ 數(shù)值分析/ C語言/ 數(shù)據(jù)結(jié)構(gòu) 實(shí)驗(yàn)環(huán)境:PC機(jī)+Matlab 6.5 上機(jī)安排:周二/周五下午78節(jié)集中課堂教學(xué) 周三晚6:30-9:30分組上機(jī)實(shí)踐 基本原則:出勤、課堂、實(shí)驗(yàn)、成績、考試!,課程簡介與教學(xué)流程,考核形式:考試,試卷+上機(jī)編程,課程簡介與教學(xué)流程,作為課程的延伸,如何學(xué)習(xí)數(shù)學(xué)實(shí)驗(yàn)課程,學(xué)習(xí)基于Matlab的數(shù)學(xué)實(shí)驗(yàn)需要: 1、熟悉Matlab基本操作和指令; 2、熟悉

2、Matlab聯(lián)機(jī)幫助系統(tǒng); 3、熟悉Matlab語言流程控制; 4、具備一定的數(shù)學(xué)基礎(chǔ)和知識(shí)準(zhǔn)備; 5、具備解決實(shí)際的應(yīng)用問題的能力; 6、保障 預(yù)習(xí)-聽課-實(shí)踐 的完整過程;,命令窗口 command window,命令窗口是用戶與Matlab交互的主要場所: 指令輸入和結(jié)果返回都在這里進(jìn)行 基本技巧: 切換輸入法至En并清空變量空間workspace! 賦值“=” 缺省變量“ans” 結(jié)果顯示開關(guān)“;” 指令回調(diào)“” 命令行提示符“ ” 注釋符“%” 表達(dá)式繼行符“” 清除指令 “clear、clc和clf” “error”和“warning”反饋信息,format顯示精度 必備程序:cc

3、.m clc; clear; closereq;,變量空間work的工作機(jī)制,簡單說變量空間就是: 臨時(shí)供Matlab執(zhí)行運(yùn)算使用的一塊內(nèi)存空間, 所以具有“即擦即寫”的特性 系統(tǒng)變量與用戶變量(命名規(guī)則): p215 變量的查看、擦除、保存與載入 who whos clear save load save Saving to: matlab.mat load matlab.mat,聯(lián)機(jī)幫助系統(tǒng)(進(jìn)階鑰匙),提高M(jìn)atlab運(yùn)用水平的必經(jīng)之路: 擅于利用聯(lián)機(jī)幫助系統(tǒng)查詢已知或未知函數(shù)的語法、描述、范例及關(guān)聯(lián) Help與Lookfor的區(qū)別: 前者針對(duì)函數(shù)名;后者針對(duì)關(guān)鍵詞 更直觀更詳盡的查詢方

4、式:幫助窗口 Help demo演示程序 lorenz 洛侖茲混沌吸引子附近軌道的圖象演示 xpklein 克萊因瓶演示,最基本的數(shù)據(jù)對(duì)象:數(shù)組,創(chuàng)建矩陣(2維數(shù)組)的途徑: 輸入矩陣也就是直接定義(元素取值、賦值) 注意列用“,”或“空格”隔開;行用“;”隔開 生成矩陣由函數(shù)生成的矩陣(矩陣函數(shù)) zeros ones eye rand randn 常見1維數(shù)組生成函數(shù):“:”和“l(fā)inspace” p216,數(shù)組(矩陣)的下標(biāo)控制!,對(duì)于1維數(shù)組(行向量或列向量): A(i)表示它的第i個(gè)元素 對(duì)于2維數(shù)組(矩陣): A(i)表示A的按列數(shù)的第i個(gè)元素 A(:)表示A的所有元素逐列構(gòu)成的列

5、向量 A(i,j)表示A的第i行j列元素 A(:,j)表示A的任意行j列元素構(gòu)成的數(shù)組 A(i,:)表示A的i行任意列元素構(gòu)成的數(shù)組 p220,矩陣的裁減和拼接,裁減:自一個(gè)矩陣中取出若干行(列)構(gòu)成新的矩陣。(前述) 拼接:將若干矩陣聯(lián)接在一起構(gòu)成新矩陣。 拼接實(shí)施原則: 橫拼行相等,符號(hào)“,” 豎拼列相等,符號(hào)“;” p218219,數(shù)組運(yùn)算(留意點(diǎn)運(yùn)算),數(shù)組運(yùn)算要特別注意“點(diǎn)乘,點(diǎn)除,點(diǎn)乘冪” 可以這樣理解: .* ./ .都是“點(diǎn)對(duì)點(diǎn)”(或稱“元素對(duì)元素”)的運(yùn)算。 函數(shù)對(duì)數(shù)組的作用方式也類似于“點(diǎn)對(duì)點(diǎn)”式 比如:sin sqrt p220221,矩陣運(yùn)算(留意左除右除),矩陣運(yùn)算和

6、數(shù)組運(yùn)算大同小異, 需要注意左除“”右除“/”的區(qū)別: 設(shè)A可逆: AX=B A-1AX=A-1B X=AB A左除B XA=B XAA-1=BA-1 X=B/A A右除B 關(guān)系和邏輯運(yùn)算符 = = = = A(14:16,14:16)=ones(3);y=fft2(A);surf(abs(y); %玲瓏剔透球 x,y,z=sphere(30); surf(x,y,z); hold on; axis off ; shading interp; mesh(2*x,2*y,2*z); colormap(hot); hidden off ; axis equal; %以及更多的演示 help/dem

7、os/MATLAB/Graphics/Map of Complex Functions,Matlab強(qiáng)大的數(shù)據(jù)可視化能力,MATLAB也能夠繪制較復(fù)雜的圖形,Matlab基本繪圖/控制指令,figure(n) clf view axis equal axis square axis(x1 x2 y1 y2) hold on/off grid on/off box on/off xlabel(xstr) ylabel(ystr) title(tstr) legend(, ) text(x,y,str) text(3,5,sin(omegat+beta) 舉例: x=-pi:pi/100:pi;

8、y1=sin(x); y2=exp(x); plot(x,y1;y2); grid on; ylabel(sin(x) and exp(x); x=-pi:pi/10:pi; plot(x,cos(x), -ro,x,sin(x), -b*); legend(cos,sin,2); text(2, cos(2),point),Matlab基本繪圖/控制指令,plot(x,y,r-) plotyy(x1,y1,x2,y2) subplot(2,2,1) fplot(fname,lims,tol,options) 自適應(yīng)采樣繪圖函數(shù) fplot(sin(1/x),-1, 1) fplot(cos(

9、tan(pi*x), 0,1,1e-4) ezplot(f, a,b) 隱函數(shù)繪圖函數(shù) ezplot(x3+y3-5*x*y+1/5) ezplot(8*cos(t),4*sqrt(2)*sin(t),0,2*pi),Matlab基本繪圖/控制指令,bar(bar3) pie(pie3) stairs stem(stem3) area,補(bǔ)充:彗星圖 t=-pi:pi/5000:pi; y=tan(sin(t)-sin(tan(t);comet(t,y),Matlab基本繪圖/控制指令,plot3 meshgrid mesh/meshc/meshz surf /surfc contour/con

10、tour3 cylinder sphere hidden off,補(bǔ)充:曲面裁剪 p=peaks; p(30:32,1:49)=nan*p(30:32,1:49); surf(p),Matlab基本繪圖/控制指令,meshgrid 為三維繪圖產(chǎn)生網(wǎng)格坐標(biāo)矩陣 meshgrid Generate X and Y matrices for three-dimensional plots: X,Y = meshgrid(1:3,4:6),MATLAB被稱為“演算紙語言”,MATLAB中各種命令可以完成許多單一的任務(wù),對(duì)于某些較為復(fù)雜的問題,僅靠現(xiàn)有的命令或函數(shù)來解決,往往是難以達(dá)到目的 。為此,要運(yùn)

11、用MATLAB編程語言編制程序,形成M-文件。 M-文件一般包含:數(shù)據(jù)輸入,數(shù)據(jù)處理和結(jié)果輸出三部分,其中數(shù)據(jù)處理是核心。程序編寫調(diào)試完成后,需要存盤,形成永久性文件,可以隨時(shí)對(duì)它進(jìn)行調(diào)用或修改。文件名以字母開頭,但不能用專用變量名,如pi等。MATLAB中每一個(gè)命令都是一個(gè)M-文件。,M文件編輯環(huán)境(主要工具),兩種不同的M文件, M指令文件和M函數(shù)文件的區(qū)別: 前者只是一系列命令(指令)的組合,既不輸入?yún)?shù)也不返回參數(shù),且過程中產(chǎn)生的變量在外部變量空間也起作用; 后者在文件開頭有function聲明,有函數(shù)名,且可被其他函數(shù)調(diào)用,一般有輸入?yún)?shù)和返回參數(shù),過程變量在外部變量空間不起作用(函

12、數(shù)執(zhí)行完畢即消逝) p237238,M文件編輯環(huán)境(主要工具),兩種不同的M文件, M指令文件和M函數(shù)文件的區(qū)別:,M指令文件: jiafa.m x=2; y=3; z=x+y;,M函數(shù)文件: xjiay.m function z=xjiay(x,y) z=x+y;,M-文件中輸入、輸出命令,直接賦值輸入: 提示對(duì)話輸入(input命令) x=2; x=input(請(qǐng)輸入?yún)?shù) x=); A=1,2;3,4; a=input(請(qǐng)輸入字串 a=,s); s= any string!; s=input(Please input s=); 直接輸出: 格式控制輸出(fprintf命令) x fprin

13、tf(x=%.0f, y=%.5fn,pi,pi); disp(a,b); fprintf(x=%5g, y=%10.5gn,N,pi);,補(bǔ)充: 鼠標(biāo)坐標(biāo)獲取函數(shù) ginput / ginput(n) 圖像讀入函數(shù) imread 聲音讀入函數(shù) wavread,M-文件中輸入、輸出命令,文本文件的寫出和讀入: A=1,2,3;4,5,6;7,8,9; fid=fopen(B.txt,w); fprintf(fid,%4.2f %4.2f %4.2fn,A); fclose(fid); load B.txt; %也可以使用textread函數(shù) 導(dǎo)入含有字符串和數(shù)值的文本文件 info=textr

14、ead(info.txt,%q) email=char(info(3)%元胞對(duì)象字符化 post=numeric(char(info(2)%元胞對(duì)象數(shù)值化,M-文件中選擇控制命令,單項(xiàng)選擇: 格式: if (condition is true) commands; end 作用:若條件成立,則執(zhí)行命令集 commands. 否則,不執(zhí)行。,M-文件中選擇控制命令,求n個(gè)實(shí)數(shù)中最大的數(shù)M. A=100*rand(3,4) m,n=size(A(:); M=A(1); for i=2:m if MA(i) M=A(i); end end fprintf( M=%.4fn ,M);,M-文件中選擇控

15、制命令,多項(xiàng)選擇: 格式: if (condition is true) commands; elseif (condition is true) commands; . . . else commands; end 作用:若條件成立,則執(zhí)行命令集 commands. 否則,不執(zhí)行。,M-文件中選擇控制命令,建立符號(hào)函數(shù)sign(x) x=input(x=); if x0 sn=1; elseif x=0 sn=0; else sn=-1; end disp(answer is ,num2str(sn),M-文件中選擇控制命令,多項(xiàng)選擇: 格式: switch express case con

16、dition commands; . . . otherwise commands; end 作用:若條件成立,則執(zhí)行對(duì)應(yīng)命令集commands,隨后跳出; 否則執(zhí)行otherwise 對(duì)應(yīng)命令集commands 。,M-文件中選擇控制命令,選擇身份信息 %name = tony; name=input(請(qǐng)輸入姓名,s); switch lower(name) case tom,tony disp(The boy is ,name) case linda disp(The girl is ,name) otherwise disp(Unknown!) end,M-文件中循環(huán)控制命令,步進(jìn)循環(huán):

17、 格式: for i=n1:(step):n2 commands; end 作用:重復(fù)執(zhí)行命令集commands. 條件循環(huán): 格式: while (condition is true) commands; end 作用:重復(fù)執(zhí)行命令集commands. 中斷語句break只跳出當(dāng)次循環(huán),不跳出整個(gè)循環(huán),M-文件中循環(huán)控制舉例, 求和:s=1+2+n n=input(請(qǐng)輸入 n=); s=0; for i=1:n s=s+i; fprintf(i=%.0f, s=%.0fn,i,s); end 求和:s=1+2+n3000 s=0;k=1; while s3000 s=s+k; fprintf

18、( k=%.0f, s=%.0fn ,k,s); k=k+1; end,M-文件中試探執(zhí)行命令,試探執(zhí)行: 格式: try commands; catch commands; end 作用:試探性執(zhí)行try后命令集commands,如果執(zhí)行過程中出錯(cuò),則將出錯(cuò)信息賦給系統(tǒng)變量lasterr,并轉(zhuǎn)去執(zhí)行catch后命令集commands。 這種試探性執(zhí)行語句是其他高級(jí)語言所沒有的。,M-文件中試探執(zhí)行舉例, 矩陣乘積:試探矩陣乘法和矩陣點(diǎn)乘 A=1 2 3;4 5 6; B=7 8 9;10 11 12; try C=A*B; disp(適用矩陣乘法); catch C=A.*B; disp(laste

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論