MATLAB計(jì)算與仿真.ppt

上傳人:za****8 文檔編號(hào):15256425 上傳時(shí)間:2020-08-06 格式:PPT 頁數(shù):80 大?。?.04MB
收藏 版權(quán)申訴 舉報(bào) 下載
MATLAB計(jì)算與仿真.ppt_第1頁
第1頁 / 共80頁
MATLAB計(jì)算與仿真.ppt_第2頁
第2頁 / 共80頁
MATLAB計(jì)算與仿真.ppt_第3頁
第3頁 / 共80頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《MATLAB計(jì)算與仿真.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《MATLAB計(jì)算與仿真.ppt(80頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、信息工程學(xué)院,東華理工大學(xué),Matlab計(jì)算與仿真技術(shù),什么是 MATLAB?,MATLAB 代表MATrix LABoratory 它的首創(chuàng)者是美國新墨西哥大學(xué)計(jì)算機(jī)系的系主任Cleve Moler博士,他在教授線性代數(shù)課程發(fā)現(xiàn)其他語言很不方便,篇構(gòu)思開發(fā)了MATLAB。最初采用FORTRAN語言編寫,20世紀(jì)80年代后出現(xiàn)了MATLAB的第二版,全部采用C語言編寫. 1984年Moler博士和一批數(shù)學(xué)家及軟件專家創(chuàng)建了MathWorks公司,專門開發(fā)MATLAB。,MATLAB的發(fā)展歷史,1984年,MATLAB第1版(DOS版) 1992年,MATLAB 4.0版 1994年,MATLA

2、B 4.2版 1997年,MATLAB 5.0版 1999年,MATLAB 5.3版 2000年,MATLAB 6.0版 2001年,MATLAB 6.1版 2002年,MATLAB 6.5版 2004年,MATLAB 7.0版 2008年, MATLAB 7.6版(支持4線程計(jì)算) 2009年, MATLAB 7.8版(支持8線程計(jì)算) 是一種解釋性語言,一種演草紙式的科學(xué)計(jì)算語言,MATLAB 能干什么?,MATLAB可以進(jìn)行: 數(shù)學(xué)計(jì)算、算法開發(fā)、數(shù)據(jù)采集 建模、仿真、原型 數(shù)據(jù)分析、開發(fā)和可視化 科學(xué)和工程圖形應(yīng)用程序的開發(fā),包括圖形用戶界面的創(chuàng)建。 MATLAB廣泛應(yīng)用于: 數(shù)

3、值計(jì)算、圖形處理、符號(hào)運(yùn)算、數(shù)學(xué)建模、系統(tǒng)辨識(shí)、小波分析、實(shí)時(shí)控制、動(dòng)態(tài)仿真等領(lǐng)域。,掌握 MATLAB ,MATLAB的構(gòu)成: MATLAB開發(fā)環(huán)境:進(jìn)行應(yīng)用研究開發(fā)的交互式平臺(tái) MATLAB 數(shù)學(xué)與運(yùn)算函數(shù)庫:用于科學(xué)計(jì)算的函數(shù) MATLAB 語言:進(jìn)行應(yīng)用開發(fā)的編程工具 圖形化開發(fā):二維、三維圖形開發(fā)的工具 應(yīng)用程序接口 (API):用于與其他預(yù)言混編 面向?qū)iT領(lǐng)域的工具箱:小波工具箱、神經(jīng)網(wǎng)絡(luò)工具箱、信號(hào)處理工具箱、圖像處理工具箱、模糊邏輯工具箱、優(yōu)化工具箱、魯棒控制工具箱等幾十個(gè)不同應(yīng)用的工具箱。,MATLAB界面:命令窗口、圖形窗口、編輯窗口、幫助窗口。,常用MATLAB系統(tǒng)命令,

4、help 在線幫助 who 顯示當(dāng)前變量 whos 顯示當(dāng)前變量的詳細(xì)信息 clear 清空工作間的變量和函數(shù) pack 整理工作間的內(nèi)存 load 把文件調(diào)入變量到工作間 save 把變量存入文件中 echo 命令回顯 what 顯示指定的matlab文件 dir 顯示目錄內(nèi)容,基本數(shù)學(xué)運(yùn)算,在MATLAB下進(jìn)行基本數(shù)學(xué)運(yùn)算,只需將運(yùn)算式直接打在提示號(hào) 后面,并按Enter鍵。 MATLAB將計(jì)算 的結(jié)果以ans顯示。 【例】求 的算術(shù)運(yùn)算結(jié)果。 (1)用鍵盤在MATLAB指令窗中輸入以下內(nèi)容 (12+2*(7-4))/32 (2)在上述表達(dá)式輸入完成后,按【Enter】鍵,該

5、就指令被執(zhí)行。 (3)在指令執(zhí)行后,MATLAB指令窗中將顯示以下結(jié)果。 ans = 2 我們也可給運(yùn)算式的結(jié)果設(shè)定一個(gè)變量x: x = (5*2+1.3-0.8)*102/25 x = 42 變量x的值可以在下個(gè)語句中調(diào)用: y= 2*x+1 y = 85,例:計(jì)算,在命令窗口中輸入 sqrt(18)+(7*sin(pi/6))/(5+cos(pi/6)),注意: (1)“” 為命令提示符; (2)字母要區(qū)分大小寫,所有命令和函數(shù)名都必 須用小寫。,變量命名規(guī)則,1.變量名的大小寫敏感。 2.變量的第一個(gè)字符必須為英文字母,而且不能超過31個(gè)字符。 3.變量名可以包含下連

6、字符、數(shù)字,但不能為空格符、標(biāo)點(diǎn) 。 注:數(shù)值型變量和符號(hào)型變量在MATLAB中是不相同的,它們之間不能直接進(jìn)行轉(zhuǎn)化。MATLAB提供了一個(gè)將數(shù)值型轉(zhuǎn)化成符號(hào)型的命令,即sym(syms)。,MATLAB提供基本的算術(shù)運(yùn)算有:,加 (+)、減 (-)、乘 (*)、除 (/)、冪次方 (), 范例為:5+3, 5-3, 5*3, 5/3, 53 MATLAB書寫表達(dá)式的規(guī)則與“手寫算式”差不多相同,但要求所有表達(dá)式都是以純文本形式輸入。 如果一個(gè)指令過長可以在結(jié)尾加上...(代表此行指令與下一行連續(xù)), 例如: 1*2+3*4+5*6+7*8+9*10+11*12+... 13*14+15

7、*16 ans = 744,MATLAB常用數(shù)學(xué)函數(shù),三角函數(shù)和雙曲函數(shù),MATLAB常用數(shù)學(xué)函數(shù),指數(shù)函數(shù),復(fù)數(shù)函數(shù),其他函數(shù),矩陣的MATLAB表示,直接輸入 A=1 2, 3; 4 5 6;7, 8 9 冒號(hào)操作符 a=0:1:10 a=linspace(0,1,10) a=logspace(1,2,10),MATLAB下矩陣的運(yùn)算,矩陣的代數(shù)運(yùn)算 轉(zhuǎn)置 B=A 加減乘 A+B A-B A*B 左除 AB 即AX=B的解X=A-1B 右除 A/B 即XB=A的解X=AB-1 翻轉(zhuǎn) fliplr flipud rot90 乘方 AB 點(diǎn)運(yùn)算 A.*B A./B A.B A.B

8、A. 函數(shù),矩陣的邏輯運(yùn)算,運(yùn)算符 4 5 6; 7 8 9; B(2,: )= B= 1 2 3 7 8 9,矩陣的尺寸,為了判斷矩陣的尺寸,Matlab提供了以下函數(shù): m,n=size(A)%返回矩陣的行數(shù)m和列數(shù)n M=size(A)%在矩陣M中返回矩陣的行數(shù)、列數(shù) len=length(A)%返回矩陣A行數(shù)和列數(shù)中的最大值,特殊矩陣,單位矩陣 eye(n) %生成n維單位陣 eye(m,n) %生成mn的單位陣 eye(m,n) %生成mn的單位陣 eye(size(A)) %生成與 A矩陣同樣大小的單位矩陣 ones zeros,特殊矩陣,全1矩陣

9、 ones(n) ones(m,n) ones(m,n) ones(size(A)) 全零矩陣 zeros(n) zeros(m,n) zeros(m,n) zeros(size(A)) 隨機(jī)矩陣 rand(n) rand(m,n) rand(m,n) rand(size(A)) 生成的隨機(jī)矩陣的各個(gè)元素值在0和1之間。 對(duì)角陣 diag(n) 對(duì)角陣 魔術(shù)矩陣 magic(n) 魔術(shù)矩陣的所有行元素和、列元素和、對(duì)角線元素和均相等,陣列與矩陣,MATLAB的運(yùn)算事實(shí)上是以陣列 (array) 及矩陣 (matrix) 方式在做運(yùn)算.陣列強(qiáng)調(diào)元素對(duì)元素的運(yùn)算,而矩陣則采用線性代數(shù)的運(yùn)算方式.

10、 宣告一變量為陣列或是矩陣時(shí),須用中括號(hào) 將元素置于其中。陣列為一維元素所構(gòu)成,而矩陣為多維元素所組成. 例如: x=1 2 3 4 5 6 7 8 ;% 一維 1x8 陣列 【例】簡單矩陣的輸入步驟。 (1)在鍵盤上輸入下列內(nèi)容:( 以 ; 區(qū)隔各列的元素) A = 1,2,3; 4,5,6; 7,8,9 (2)按【Enter】鍵,指令被執(zhí)行。 (3)在指令執(zhí)行后,MATLAB指令窗中將顯示以下結(jié)果: A = 1 2 3 4 5 6 7 8 9,陣列的運(yùn)算符號(hào) 除了加減符號(hào)外其余的陣列運(yùn)算符號(hào)均須多加 . 符號(hào)。 陣列運(yùn)算功能 (注意:一定要 多加

11、. 符號(hào)) + 加 - 減 .* 乘 ./ 左除 . 右除 . 次方 . 轉(zhuǎn)置 矩陣的幾種基本變換操作 (1) 通過在矩陣變量后加的方法來表示轉(zhuǎn)置運(yùn)算 a=10,2,12;34,2,4;98,34,6; a ans = 10 34 98 2 2 34 12 4 6,(2) 矩陣求逆 inv(a) ans = -0.0116 0.0372 -0.0015 0.0176 -0.1047 0.0345 0.0901 -0.0135 -0.0045 (3) 矩陣的特征值 u,v=eig(a) u = -0.2960 0.3635 -0.3600 -0.2925 -0.4128 0.7

12、886 -0.9093 -0.8352 0.4985 v = 48.8395 0 0 0 -19.8451 0 0 0 -10.9943,(4) 取出上三角和下三角 triu(a) ans = 10 2 12 0 2 4 0 0 6 tril(a) ans = 10 0 0 34 2 0 98 34 6 (5)LU 分解 l,u=lu(a) l = 0.1020 0.1500 1.0000 0.3469 1.0000 0 1.0000 0 0 u = 98.0000 34.0000 6

13、.0000 0 -9.7959 1.9184 0 0 11.1000,MatLab圖形繪制功能,基本繪圖函數(shù),x=0:0.001:10; % 0到10的1000個(gè)點(diǎn)的x座標(biāo) y=sin(x); % 對(duì)應(yīng)的y座標(biāo) plot(x,y); % 繪圖(可以設(shè)定顯示范圍),畫橢圓,a = 0:pi/50:2*pi; X = cos(a)*3; %參數(shù)方程 Y = sin(a)*2; plot(X,Y); xlabel(x), ylabel(y); title(橢圓),,線條和顏色控制符:,條形圖,當(dāng)資料點(diǎn)數(shù)量不多時(shí),長條圖是很適合的表示方式: close al

14、l; % 關(guān)閉所有的圖形視窗 x=1:10; y=rand(size(x)); bar(x,y),誤差圖,x = linspace(0,2*pi,30); y = sin(x); e = std(y)*ones(size(x)); % std:標(biāo)準(zhǔn)差 errorbar(x,y,e),極坐標(biāo)圖形,theta=linspace(0, 2*pi); r=cos(4*theta); polar(theta, r);,,x=linspace(0,10,50); y=sin(x).*exp(-x/3); stairs(x,y); %階梯圖 x=linspace(0,10,50); y=sin(x).

15、*exp(-x/3); stem(x,y); %針狀圖,符號(hào)表達(dá)式畫圖,在許多的場合,將表達(dá)式可視化是有利的。MATLAB提供了函數(shù)ezplot來完成該任務(wù)。 y= 16*x2+64*x+96 y= 16*x2+64*x+96 ezplot(y),三維曲線和曲面,1空間曲線繪制函數(shù)plot3( ) 格式一:plot3(x,y,z) 功能:若x、y、z為相同長度的向量,則根據(jù)向量x、y、z繪制空間三維曲線。如果x、 y、z為同階矩陣,則繪制對(duì)應(yīng)列的多條曲線。 格式二:plot3(x, y, z, s) 功能:按字符串s設(shè)置的線型、顏色、標(biāo)記符號(hào)繪制三維空間曲線。字符串s的設(shè)置與 plot命

16、令的設(shè)置相同。 2三維網(wǎng)線圖函數(shù)mesh、meshc和meshz MATAL提供的函數(shù)mesh用來繪制三維網(wǎng)線圖。 格式一:mesh(X,Y,Z) 功能:根據(jù)矩陣X、Y和Z繪制彩色的空間三維網(wǎng)線圖。X、Y和Z中對(duì)應(yīng)的元素為三維 空間上的點(diǎn),點(diǎn)與點(diǎn)之間用線連接。其中網(wǎng)線的顏色隨著網(wǎng)點(diǎn)高度的改變而改變。 格式二:mesh(x,y,Z) 功能:n維向量x、m維向量y和mn矩陣Z繪制網(wǎng)線圖,節(jié)點(diǎn)的坐標(biāo)為 (x(j),y(i),Z(i,j)),網(wǎng)線的顏色隨著網(wǎng)點(diǎn)高度的改變而改變。,三維曲面圖函數(shù)surf及surfc,格式一:surf(X, Y, Z, C) 功能:繪制由四個(gè)矩陣所指定的帶色參數(shù)

17、的網(wǎng)狀表面圖。視角是由view所指定。軸的刻度決定于X,Y及Z的范圍,或當(dāng)前對(duì)軸的設(shè)定;顏色范圍由C指定。 格式二:surf(X,Y,Z) 功能:將C設(shè)為與Z相等,則顏色與網(wǎng)的高度成正比。,三維螺旋線,t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) grid,,空間中的曲線,t=linspace(0,20*pi, 501); plot3(t.*sin(t), t.*cos(t), t); %注意用點(diǎn)乘 .* t=linspace(0, 10*pi, 501); plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t

18、), -t);,立體網(wǎng)狀圖,x=linspace(-2, 2, 25); % 在x軸上取25點(diǎn) y=linspace(-2, 2, 25); % 在y軸上取25點(diǎn) xx,yy=meshgrid(x, y); % xx和yy都是21x21的矩陣 zz=xx.*exp(-xx.2-yy.2); % 計(jì)算函數(shù)值,zz也是21x21的矩陣 mesh(xx, yy, zz); % 畫出立體網(wǎng)狀圖,網(wǎng)狀圖填補(bǔ),x=linspace(-2, 2, 25); % 在x軸上取25點(diǎn) y=linspace(-2, 2, 25); % 在y軸上取25點(diǎn) xx,yy=meshgrid(x, y); % xx

19、和yy都是21x21的矩陣 zz=xx.*exp(-xx.2-yy.2); % 計(jì)算函數(shù)值,zz也是21x21的 矩陣 surf(xx, yy, zz); % 畫出立體曲面圖,peaks函數(shù),peaks函數(shù),可產(chǎn)生一個(gè)凹凸有致的曲面,包含了三個(gè)局部極大點(diǎn)及三個(gè)局部極小點(diǎn),其方程式為: x,y,z=peaks; waterfall(x,y,z);,等高線圖,meshc同時(shí)畫出網(wǎng)狀圖與等高線: x,y,z=peaks; meshc(x,y,z); surfc同時(shí)畫出曲面圖與等高線: x,y,z=peaks; surfc(x,y,z);,剔透玲瓏球,X0,Y0,Z0=sphere(30);

20、 %產(chǎn)生單位球面的三維坐標(biāo) X=2*X0;Y=2*Y0;Z=2*Z0; %產(chǎn)生半徑為2的球面的三維坐標(biāo) surf(X0,Y0,Z0); %畫單位球面 shading interp %采用插補(bǔ)明暗處理 hold on; mesh(X,Y,Z); hold off %畫外球面 hidden off %產(chǎn)生透視效果 axis off %不顯示坐標(biāo)軸,彗星狀軌跡圖,【*例】簡單二維示例。(請(qǐng)指令窗中運(yùn)行以下指令) n=10; t=n*pi*(0:0.0005:1); x=sin(t);y=cos(t); plot(x,y

21、,g); hold on;comet(x,y,0.02); hold off,衛(wèi)星返回地球的運(yùn)動(dòng)軌線示意,R0=1; %以地球半徑為一個(gè)單位 a=12*R0;b=9*R0;T0=2*pi;%T0是軌道周期 T=5*T0;dt=pi/100;t=0:dt:T; f=sqrt(a2-b2);%地球與另一焦點(diǎn)的距離 th=12.5*pi/180;%衛(wèi)星軌道與x-y平面的傾角 E=exp(-t/20);%軌道收縮率 x=E.*(a*cos(t)-f);y=E.*(b*cos(th)*sin(t));z=E.*(b*sin(th)*sin(t)); plot3(x,y,z,g)%畫全程軌線

22、 X,Y,Z=sphere(30);X=R0*X;Y=R0*Y;Z=R0*Z; %獲得單位球坐標(biāo) grid on,hold on,surf(X,Y,Z),shading interp%畫地球 x1=-18*R0;x2=6*R0;y1=-12*R0;y2=12*R0;z1=-6*R0;z2=6*R0; axis(x1 x2 y1 y2 z1 z2) %確定坐標(biāo)范圍 view(117 37),comet3(x,y,z,0.02),hold off%設(shè)視角、畫運(yùn)動(dòng)軌線,求解線性方程組,MATLAB語句實(shí)現(xiàn): a=2,3,-1;8,2,3;45,3,9; b=2;4;23; x=inv(a

23、)*b,求多項(xiàng)式方程的根,roots(p) solve(p) 例. 求方程 的所有根 p=1 -4 9 -10 r=roots(p) 或 s1=sym(x3-4*x2+9*x-10); solve(s1),求方程組的根和超越方程解,x,y= solve(x+y=1,x-11*y=5,x,y),求超越方程 的根,其中p,r為常數(shù),ff=sym(p*sin(x)=r) solve(ff,x),求極限,syms x; y1=(1+4*x)(1/x); y2=(exp(x)-1) /x; limit(y1,x,0) limit(y2,x,0),求導(dǎo)數(shù)與偏導(dǎo)數(shù),syms

24、 x; f=3*x3+5*x+1; diff(f,1),syms x y; %對(duì)x偏導(dǎo)數(shù) z=x2*sin(2*y); B=diff(z,x),求解不定積分,syms x b; f=cos(b*x); f1=int(f,x) f1 = 1/b*sin(b*x) ezplot(f1),求定積分多重積分,syms x ; y=(x2+sin(x))/(1+x2); int(y,x,-1,1),syms x y ; int(int(x2+y2+1,y,x,x+1),x,0,1),求微分方程通解和特解,dsolve(Dy=1+y2, x) dsolve(Dy=1+y2, y(0)=1 ,x

25、),dsolve(x2*D2y+x*Dy+(x2-1/2)*y=0,y(pi/2)=2,Dy(pi/2)=-2/pi,x),MATLAB語言編程介紹,MATLAB中各種命令可以完成許多單一的任務(wù),對(duì)于某些較為復(fù)雜的問題,僅靠現(xiàn)有的命令或函數(shù)來解決,往往是難以達(dá)到目的 。為此,要運(yùn)用MATLAB編程語言編制程序,形成M-文件。 程序是使計(jì)算機(jī)完成各項(xiàng)運(yùn)算的命令集,運(yùn)行一個(gè)編制好的程序,計(jì)算機(jī)會(huì)從第一條命令行開始,一行接一行地執(zhí)行相應(yīng)的命令,直到終止。 程序一般包含:數(shù)據(jù)輸入,數(shù)據(jù)處理和結(jié)果輸出三部分,其中數(shù)據(jù)處理是核心。程序編寫調(diào)試完成后,需要存盤,形成永久性文件,可以隨時(shí)對(duì)它進(jìn)行調(diào)用或修改。文

26、件 名以字母開頭,但不能用專用變量名,如pi等。 MATLAB中每一個(gè)命令都是一個(gè)M-文件。,MATLAB程序類型,腳本文件 函數(shù)文件,function y=mean(x) % MEAN Average or mean Value % For vectors,Mean(x) is the mean value of X % For matrices, Mean(x) is a row vector containing % the mean value of each column m,n=size(x) if m==1 m=n; end y=sum(x)/m;,M-文件中輸入、輸出命令,

27、直接賦值輸入: 提示對(duì)話輸入(input命令) x=2; x=input(請(qǐng)輸入?yún)?shù) x=); a=1,2;3,4; a=input(請(qǐng)輸入矩陣 a=); s= any string!; s=input(Please input s=); 直接輸出: 格式控制輸出(fprintf命令) x fprintf(x=%.0f, y=%.5fn,pi,pi); disp(a,b); fprintf(x=%5g, y=%10.5gn,N,pi);,M-文件中循環(huán)控制命令(for命令),格式: for i=n1:(step):n2 com

28、mands; end 作用:重復(fù)執(zhí)行命令集commands.,例2:求奇數(shù)和:s=1+3+5++(2k-1) n=input(請(qǐng)輸入 n=); s=0; for i=1:2:n s=s+i; fprintf(i=%.0f, s=%.0fn,i,s); end,例1:求和: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,例3:求階乘:p=12 3 n=n! n=input(請(qǐng)輸入 n= ); p=1; for i=1:

29、n p=p*i; fprintf( i=%.0f, p=%.0fn ,i,p); end,例4:求e:e=1+1+1/2!+1/3!++1/n! n=input(請(qǐng)輸入 n= ); p=1;e=1; for i=1:n p=p*i; p1=1/p; e=e+p1; fprintf( i=%.0f, p=%.0f, e=%.8f n ,i,p,e); end,例5:求pi:pi/4=1-1/3+1/5-1/7+1/9-1/11+ n=input(請(qǐng)輸入 n= ); pi=0;k=-1; for i=1:2:n k=(-1)*k; p

30、i=pi+k*1/i; fprintf( i=%.0f, pi=%.8f n ,i,4*pi); end,M-文件中條件循環(huán)命令(while命令),格式: while (condition is true) commands; end 作用:重復(fù)執(zhí)行命令集commands.,例6:求和:s=1+2++n<3000 s=0;k=1; while s<3000 s=s+k; fprintf( k=%.0f, s=%.0fn ,k,s); k=k+1; end,例7:求e:e=1+1+1/2!+1/3!+ (1/n!=1.0e-8 p=p*i;

31、 r=1/p; e=e+r; fprintf( i=%.0f, r=%.9f, e=%.9f n ,i,r,e); i=i+1; end,M-文件中選擇控制命令(if命令),單項(xiàng)選擇控制 格式: if (condition is true) commands; end 作用:若條件成立,則執(zhí)行命令集 commands. 否則,不執(zhí)行。,例8:求n個(gè)實(shí)數(shù)中最大的數(shù)M. a=input(請(qǐng)輸入數(shù)組 an= ); m,n=size(a); M=a(1); for i=2:n if M

32、 fprintf( M=%.5f, a(%.0f)=%.5f n ,M,i,a(i)); end,M-文件中選擇控制命令(if命令),多項(xiàng)選擇控制 格式: if (condition is true) commands; elseif (condition is true) commands; else commands; end 作用:若條件成立,則執(zhí)行命令集 commands. 否則,不執(zhí)行。,例9:建立符號(hào)函數(shù)sign(x) x=input(x=); if x0 sn=1; elseif x==0 sn=0; else

33、sn=-1; end fprintf(x=%.5f, sn=%.0fn,x,sn);,Matlab編程 (續(xù)),程序設(shè)計(jì)技術(shù) 循環(huán)向量化計(jì)算模式 目的: 向量計(jì)算替代循環(huán)模式 實(shí)例: i初始化 tic tic for t=0:0.01:100 t=0.0:0.01:100 i=i+1; y(i)=sin(t) y=sin(t) end toc toc 耗時(shí)7.58 耗時(shí)0.01,,,,Matlab編程 (續(xù)),程序設(shè)計(jì)技術(shù)(續(xù)) 陣列預(yù)分配空間 目的: 避免循環(huán)過程空間分配的耗時(shí) 實(shí)例: y(k)=0.75y(k-1)-0.125y(k-2

34、)+2u(k) clear all,tic T=0.001; t=0:T:16 u=sin(2*pi*t); % y=zeros(size(u)) y(1)=2*u(1); y(2)=0.75*y(1)+2*u(2);,,耗時(shí)0.562(%)/ 0.0160,for k=3:fix(16/T)+1 y(k)= 0.75*y(k-1)-... 0.125*y(k-2)+2*u(k) end toc,Matlab編程 (續(xù)),程序設(shè)計(jì)技術(shù)(續(xù)) 內(nèi)存使用/管理 目的: 提高內(nèi)存使用效率 主要的命令 clear % 清楚變量 pack

35、% 將變量寄宿在磁盤 quit % 退出Matlab環(huán)境 save % 將變量數(shù)據(jù)存入文件 load % 將文件數(shù)據(jù)加載進(jìn)入工作空間,Matlab編程 (續(xù)),Matlab程序調(diào)試 主要工具: m編輯器內(nèi)嵌debugger功能 程序錯(cuò)誤 語法或格式錯(cuò)誤: 顯式且容易定位 功能或計(jì)算錯(cuò)誤: 算法錯(cuò)誤 糾錯(cuò)技巧 顯示中間變量的內(nèi)容 利用Keyboard語句,查看函數(shù)工作空間的變量內(nèi)容 設(shè)置斷點(diǎn)或單步執(zhí)行方式,MATLAB幫助系統(tǒng),幫助窗口進(jìn)入幫助窗口可以通過以下3種方法:(1) 單擊MATLAB主窗口工具欄中的Help按鈕。(2) 在命令窗口中輸入helpwin、

36、helpdesk或doc。(3) 選擇Help菜單中的“MATLAB Help”選項(xiàng)。,,幫助命令 MATLAB幫助命令包括help、lookfor以及模糊查詢。1help命令在MATLAB 命令窗口中直接輸入help命令將會(huì)顯示當(dāng)前幫助系統(tǒng)中所包含的所有項(xiàng)目,即搜索路徑中所有的目錄名稱。同樣,可以通過help加函數(shù)名來顯示該函數(shù)的幫助說明。,,2lookfor命令help命令只搜索出那些關(guān)鍵字完全匹配的結(jié)果,lookfor命令對(duì)搜索范圍內(nèi)的M文件進(jìn)行關(guān)鍵字搜索,條件比較寬松。lookfor命令只對(duì)M文件的第一行進(jìn)行關(guān)鍵字搜索。若在lookfor命令加上-all選項(xiàng),則可對(duì)M文件進(jìn)行全文搜索。,,3模糊查詢MATLAB 6.0以上的版本提供了一種類似模糊查詢的命令查詢方法,用戶只需要輸入命令的前幾個(gè)字母,然后按Tab鍵,系統(tǒng)就會(huì)列出所有以這幾個(gè)字母開頭的命令。,,1.4.3 演示系統(tǒng)在幫助窗口中選擇演示系統(tǒng)(Demos)選項(xiàng)卡,然后在其中選擇相應(yīng)的演示模塊,或者在命令窗口輸入Demos,或者選擇主窗口Help菜單中的Demos子菜單,打開演示系統(tǒng)。,,1.4.4 遠(yuǎn)程幫助系統(tǒng)在MathWorks公司的主頁()上可以找到很多有用的信息,國內(nèi)的一些網(wǎng)站也有豐富的信息資源。,

展開閱讀全文
溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!