上海交通大學matlab課件_第1頁
上海交通大學matlab課件_第2頁
上海交通大學matlab課件_第3頁
上海交通大學matlab課件_第4頁
上海交通大學matlab課件_第5頁
已閱讀5頁,還剩41頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、課 程:計算軟件應用上 機 (第10-14周周三下午12:30-14:30,物理實驗樓306室) email: 物理樓1102室內 容:學習計算軟件 Matlab 和 Maple 版本:Matlab7.1(R2009b/7.9),Maple10(Maple13)參考文獻: 2、MATLAB+編程(第二版),Stephen J. Chapman著,科學出版社 (刑樹軍/鄭碧波譯成中文) 3、MATLAB從入門到精通(7.x版),周建興等編,人民郵電出版社 4、 (matlab中文論壇) 1MATLAB (矩陣實驗室的簡稱) = MATrix (矩陣) + LABoratory (實驗室) 主要特

2、點:* 有高性能數值計算的高級算法,特別適合矩陣代數領域;* 有大量事先定義的數學函數,并且有很強的用戶自定義函數的能力;* 有強大的繪圖功能以及具有教育、科學和藝術學的圖解和可視化的二維、三維圖;* 適合個人應用的強有力的面向矩陣(向量)的高級程序設計語言;* 與其他語言編寫的程序結合和輸入輸出格式化數據的能力;* 有在多個應用領域解決難題的工具箱。MATLAB具有用法簡單、靈活、結構性強、延展性好等優點,逐漸成為科技計算、視圖交互系統和程序中的首選語言工具。符號數學工具箱SIMULINK仿真工具箱控制系統工具箱信號處理工具箱圖像處理工具箱通訊工具箱系統辨識工具箱小波分析工具箱神經元網絡工具

3、箱金融工具箱2Maple起源于1988年,是加拿大滑鐵盧大學(University of Waterloo)和Waterloo Maple Software公司注冊的一套為微積分、線性代數和微分方程等高等數學使用的軟件包。是當今世界上最優秀的幾個數學軟件之一,其符號計算能力還是MathCAD和MATLAB等軟件的符號處理的核心。Maple提供了2000余種數學函數,涉及普通數學、高等數學、線性代數、數論、離散數學、圖形學。 Maple適用于解決微積分、解析幾何、線性代數、微分方程、計算方法、概率統計等數學分支中的常見計算問題。 Maple是專門進行數學運算的軟件工具,具有超強的符號運算能力,提

4、供了幾乎包括所有數學領域的專用函數(2k)3Matlab 主要內容最小二乘擬合1、基礎準備2、基本數據類型3、基本運算功能4、數據與函數的可視化5、符號計算6、M文件和程序設計初步7、數值計算4一、基礎準備幫助命令:1、 help exp 得到指數函數命令的詳細信息2、lookfor +完整或不完整的關鍵詞,進行搜索Start now !逗號或分號的區別: 逗號隔開,屏幕有回顯 分號隔開,無回顯Matlab 常用的交互界面5 MATLAB 語言的變量命名規則 (1) 變量名必須以字母打頭,之后可以是任意字母、 數字或下劃線,變量名中不允許使用標點符號; (2) 變量名中的英文字母大小寫是有區別

5、的; (3) 變量名的最大長度是有規定的; 不同版本的系統規定不同:19個字符、31或63個字符等 可調用namelengthmax函數得到系統規定長度MATLAB中變量使用之前,不需要指定變量的數據類型,也不必事先聲明變量。6 1、利用指令who,whos查閱內存變量 who指令獲取當前所有內存變量的名稱列表。 whos指令獲取詳細的內存變量列表,包含變量類型、大小等信息。2、利用指令save、load實現數據文件(*.mat)的存取。save/load %保存/打開文件save/load v1 v2%保存/打開變量v1 v2利用菜單:打開工作空間瀏覽器( WorkSpace ),可以看到所

6、有內存變量的詳細說明,和whos指令效果相同。并且可以通過右鍵點擊變量引出現場菜單,對該變量進行編輯、刪除、重命名、保存、繪圖等操作。 內存變量的操作命令7 (a) 數值 (Numerical) (b) 字符串 (Character) (c) 邏輯 (Logical) (d) 元胞 (Cell) (e) 構架 (Structure) (f) JAVA類 (JAVA) (g) 函數句柄 (Function handle)數值字符串(表達式)ASCII碼str2num, str2double, sscanfint2str, num2str, mat2str, spintfdoublechar二、基

7、本數據類型8特點:1)基本組成部分是結構(Structure),以下標區分各個結構。2)結構必須劃分成“域”后才能使用。3)結構不能直接存放數據,數據必須存放在結構下面的“域”中。4)結構的域可以存放任意類型、任意大小的數組(數值數組、字符串數組、符號對象、元胞等)。5)不同結構的同名域中可以存放不同類型的內容。6)結構數組可以是任意維的,可以利用下標尋址。構 架 數 組9*直接對域賦值法產生“單構架”,即1*1構架數組Green_=一號房 %構架的域由(構架名).(域名)標識Green_house.volume=2000立方米Green_house.temperature

8、=31.2,30.4,31.6,28.7,29.7,31.1Green_house.humidity=62.1,59.5,57.7,61.5,62.0,61.9Green_house.humidity %顯示humidity域中內容ans = 62.1000 59.5000 57.7000 61.5000 62.0000 61.9000Example1: 求x+y=4, 2x+3y=11的解Green_house.parameter.temperature=10數值類型分類方法一: 雙精度型 (系統默認類型) 單精度型 帶符號整數 無符號整數分類方法二: 標量 數組 矩陣 分類方法三: 實數

9、復數 z1=1+2i z2=3+4 * jreal(x) %取出復數的虛部imag(x) %取出復數的實部conj(x) %復數共軛111、通過直接輸入矩陣的元素構造矩陣:用中括號 把所有矩陣元素括起來同一行的不同數據元素之間用空格或逗號間隔用分號(;)指定一行結束可分成幾行進行輸入,用回車符代替分號數據元素可以是表達式,系統將自動計算結果矩 陣 的 構 造12函 數功 能eye(m,n)生成m行n列單位矩陣zeros(m,n)生成m行n列全0矩陣ones(m,n)生成m行n列全1矩陣 產生空矩陣rand(m,n)生成m行n列均勻分布的隨機陣randperm產生隨機排列linspace產生線性

10、等分的向量(矩陣)特殊矩陣2、利用冒號的作用,生成等間隔的向量,默認間隔為1。例如:A=1:3;B=1:0.5:3A=linspace(first value,last value,number) 13矩陣下標與子矩陣提取A(m, n)% 提取第m行,第n列元素A(:, n)% 提取第n列元素A(m, :)% 提取第m行元素A(m1:m2, n1:n2)% 提取第m1行到第m2行和第n1列到 第n2列的所有元素A(m:end, n)% 提取從第m行到最末行和第n列的子塊A(:) %得到一個長列矢量,按矩陣的列進行排列例: 修改矩陣A中元素的數值reshape(A,m,n) %m*n=numbe

11、rExample214MATLAB的基本運算可分為三類 算術運算 關系運算 邏輯運算三、基本運算功能15運 算符 號運 算符 號加+減-乘*數組相乘.*左除數組左除.右除/數組右除./冪次方數組冪次方.基本算術運算符矩陣的算術運算1、矩陣乘法:*(乘)2、矩陣除法:/ (右除)、 (左除)3、矩陣的乘方:(乘方)4、矩陣轉置: (轉置運算符)向量的運算1、點積:dot 函數2、叉積:cross 函數不按照線性代數的規則按照線性代數的規則Example316關 系 運 算運 算符 號運 算符 號大于小于=小于等于 x=1 2 3 5 7 7.5 8 10; y=2 6.5 7 7 5.5 4 6

12、 8; plot(x,y)程序如下:xy123577.586.5775.5468102Example421色彩字符顏色線型字符線型格式標記符號數據點形式標記符號數據點形式y黃-實線(默認).點右三角形圖形顏色、標記和線型參數表22例、對給定數據繪制圖形 程序如下:xy123577.586.5775.5468102plot(x,y, *) 用“*”號標記的點,中間無連線plot(x,y, g:d)菱形標記的黑色點線 x=1 2 3 5 7 7.5 8 10; y=2 6.5 7 7 5.5 4 6 8; plot(x,y)23圖形窗口的分割 subplot(m,n,p)將當前圖形窗口分成mn個繪

13、圖區,即每行n個,共m行,區號按行優先編號,且選擇第p個繪圖區作為當前活動區。在每一個繪圖區允許以不同的坐標系單獨繪制圖形。subplot(2,1,1)subplot(2,1,2)subplot(2,2,1) subplot(2,2,2)subplot(2,2,3) subplot(2,2,4)24Plot titley axislabelx axislabelTextTick-mark label二維繪圖的圖例標注說明Data symbolLegendTick-mark25 圖形保持 hold on/offtitle(圖形名稱)xlabel(x軸說明)ylabel(y軸說明)text(x,y

14、, 圖形說明)gtext 將標注加到圖形任意位置legend(圖例1, 圖例2,) 圖形標注注:可使用LaTeX格式的控制字符,這樣就可以在圖形上添加希臘字母、數學符號及公式等內容axis(xmin xmax ymin ymax zmin zmax)axis函數功能豐富,常用的格式還有:axis equal:縱、橫坐標軸采用等長刻度。axis square:產生正方形坐標系(缺省為矩形)。axis auto:使用缺省設置。axis off:取消坐標軸。 坐標控制 網格線 grid on/off 邊框線 box on/off26例、在同一坐標內,分別用不同線型和顏色繪制曲線y1=0.2e-0.5

15、xcos(4px),y2=2e-0.5xcos(px),標記交叉點。程序如下:x=linspace(0,2*pi,1000);y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);k=find(abs(y1-y2)1e-2); %查找y1與y2相等點(近似相等)的下標x1=x(k); %取y1與y2相等點的x坐標y3=0.2*exp(-0.5*x1).*cos(4*pi*x1); %求y1與y2值相等點的y坐標plot(x,y1,x,y2,k:,x1,y3,bp); %y1缺省藍色實線, % y2黑色點線,y3藍色五角星Exam

16、ple527程序:title(x from 0 to 2pi); %加圖形標題xlabel(Variable x); %加x軸說明ylabel(Variable y); %加y軸說明text(3.8,-0.2, uparrow); %在指定位置添加向上箭頭text(3.6,-0.3, y1=0.2e-0.5xcos(4px) ); %在指定位置添加圖形說明text(2.2,0.7, leftarrow y2=2e-0.5xcos(px);legend(y1 , y2 ) %加圖例box on; %加坐標邊框grid on; %加網格線axis equal %坐標軸采用等刻度在上例中添加圖形說明

17、、坐標軸、圖形說明、圖例、坐標邊框。28調用格式為:plotyy(x1,y1,x2,y2) - x1,y1對應一條曲線,x2,y2對應另一條曲線; - 橫坐標的標度相同; - 縱坐標有兩個,用于x1,y1數據對, 右縱坐標用于x2,y2數據對。具有兩個縱坐標標度的圖形例、用不同標度在同一坐標內繪制曲線y1=0.2e-0.5xcos(4px) 和y2=2e-0.5xcos(px)程序如下:x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2);Example629f

18、plot(fname,lims,tol,選項) 其中fname為函數名,以字符串形式出現,lims為x,y的取值范圍,tol為相對允許誤差,其系統默認值為2e-3。選項定義與plot函數相同。對函數自適應采樣的繪圖函數例、 用fplot函數繪制f(x)=cos(tan(px)的曲線。命令如下:fplot(cos(tan(pi*x), 0,1,1e-4)Example7x=linspace(0,1,1000);y=cos(tan(pi*x);ploty(x,y);30其他二維圖形繪制語句31plot函數用法十分相似三維曲線圖 plot3(x1,y1,z1,選項,xn,yn,zn,選項n) 例、繪

19、制三維曲線。t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot3(x,y,z);title(Line in 3-D Space);xlabel(X);ylabel(Y);zlabel(Z);grid on;Example832三維曲面圖* 數據的準備(i) 確定自變量取值范圍和取值間隔x=x1:dx:x2;y=y1:dy:y2(ii) “格點”的生成(iii) 計算“格點”上的函數值,Z=f(X,Y)X,Y=meshgrid(x,y);mesh(X,Y,Z,C) %畫網格曲面,將數據點在空間中描出 并連成網格; C指定用色su

20、rf(X,Y,Z,C) %畫完整曲面,將數據點所表示曲面畫出* 繪制三維曲面: surf函數和mesh函數33例、 繪制三維曲面圖z=sin(x+sin(y)-x/10 x,y=meshgrid(0:0.25:4*pi);z=sin(x+sin(y)-x/10;mesh(x,y,z);axis(0 4*pi 0 4*pi -2.5 1);Example934透視、鏤空、裁切、色圖、燈光、照明、材質、透明度* 圖形效果:三維柱面: x,y,z= cylinder(R,n)* 標準三維曲面 球面: x,y,z=sphere(n)MATLAB還有一個peaks 函數,稱為多峰函數,常用于三維曲面的演

21、示。* 其他三維圖形繪制bar3函數繪制三維條形圖stem3函數繪制離散序列數據的三維桿圖pie3函數繪制三維餅圖fill3函數等效于三維函數fill,可在三維空間內繪制出填充過的多邊形35X0,Y0,Z0=sphere(30) % 產生單位球面的三維坐標surf(X0,Y0,Z0) % 畫單位球面X=2*X0;Y=2*Y0;Z=Z0*2; % 產生半徑為2的球面的三維坐標shading interp %采用插補明暗處理hold onmesh(X,Y,Z)colormap(hot) %采用hot色圖,copper,springhold offhidden off %產生透視效果axis equ

22、al %等坐標軸axis off %不顯示坐標軸light(position,-3,-1,3,style,local)36* 視點控制和圖形的轉動 視點控制 view rotate(h,direction,alpha,origin); % h對象,direction=q,j/x,y,z,alpha右手法則旋轉,origin方向軸支點圖形的交互編輯-圖形窗view(az,el); %方位角az,俯視角el, 單位度,缺省設置(-37.5,30)view(vx,vy,vz); %視點的直角坐標 圖形轉動rotate (繞方向軸旋轉一個角度)zy x-y視點az方位角el仰角37動態圖形(i) 彗星

23、狀軌跡圖:動態地展示質點的運動軌跡comet(x,y,p) %二維圖comet3(x,y,z,p) %三維圖p為決定彗星長度的參量,缺省值0.1(ii) 色圖的變換spinmap %使色圖周期旋轉約3秒鐘spinmap(t) %使色圖周期旋轉約t秒鐘spinmap(inf) %無限制旋轉,ctrl+c結束spinmap(t,inc) %inc缺省值2,控制快慢38(iii) 動畫制作MATLAB提供getframe、moviein和movie函數進行動畫制作。 getframe函數可截取一幅畫面信息(稱為動畫中的一幀),一幅畫面信息形成一個很大的列向量。顯然,保存n幅圖面就需一個大矩陣。 mo

24、viein(n)函數用來建立一個足夠大的n列矩陣。該矩陣用來保存n幅畫面的數據,以備播放。之所以要事先建立一個大矩陣,是為了提高程序運行速度。 movie(m,n)函數播放由矩陣m所定義的畫面n次,缺省時播放一次。39程序如下X,Y,Z=peaks(30); surf(X,Y,Z)axis(-3,3,-3,3,-10,10)axis off;shading interp;colormap(hot);m=moviein(20); % 建立一個20列大矩陣for i=1:20 view(-37.5+24*(i-1),30) % 改變視點 m(:,i)=getframe; % 將圖形保存到m矩陣en

25、d movie(m,2); % 播放畫面2次例、繪制peaks函數曲面并且將它繞z軸旋轉Example1040實驗數據分析與處理Matlab提供了polyfit 函數進行最小二乘的曲線擬合 p=polyfit(x,y,n) %對x和y進行n維多項式的最小二乘擬合,輸出結果為含有n+1個元素的行向量,該向量以維數遞減的形式給出擬合多項式的系數。 regress 函數進行多元線性回歸 求和(sum)與求積(prod) 求平均值(mean)和標準方差(std)、中值(median)與相關系數(corrcoef)41例:用二次多項式擬合下列數據X= 0.1 0.2 0.15 0.0 -0.2 0.3y= 0.95 0.84 0.86 1.06 1.50 0.72程序如下x=0.1 0.2 0.15 0.0 -0.2 0.3y=0.95 0.84 0.86 1.06 1.50 0.72p=polyfit(x,y,2) xi=-0.2:0.01:0.3;yi=polyval(p,xi); %利用擬合出的系數向量和x自變量進行應變量y的回歸plot(x,y,o,xi,yi,k);title(polyfit)Example1142coef=y*x/(x*x);scatter(x,y, *);xi=0.5:0.01:3yi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論