matlab入門第三講_第1頁
matlab入門第三講_第2頁
matlab入門第三講_第3頁
matlab入門第三講_第4頁
matlab入門第三講_第5頁
已閱讀5頁,還剩93頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、三維圖形三維圖形1. 空間曲線空間曲線2. 空間曲面空間曲面plot3(x,y,z,s) 空空 間間 曲曲 線線 1. 一條曲線一條曲線 例例 在區(qū)間0,10畫出參數(shù)曲線 x=sint,y=cost, z=t. 解解 t=0:pi/50:10*pi; plot3(sin(t),cos(t),t)n維向量,分別表示曲維向量,分別表示曲線上點集的橫坐標、縱線上點集的橫坐標、縱坐標、函數(shù)值坐標、函數(shù)值指定顏色、指定顏色、線形等線形等 plot3(x,y,z)2. 多條曲線多條曲線例 畫多條曲線觀察函數(shù)Z=(X+Y)2. (這里meshgrid(x,y)的作用是產(chǎn)生一個以向量x為行、向量y為列的矩陣)

2、其中x,y,z是都是mn矩陣,其對應的每一列表示一條曲線.解 x=-3:0.1:3;y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; plot3(X,Y,Z)-4-202412345020406080三維曲面圖的繪制函數(shù)三維曲面圖的繪制函數(shù)ezsurf的格式為:的格式為: ezsurf(f,xmin,xmax,ymin,ymax) 功能:功能:繪制符號表達式繪制符號表達式f代表的代表的x、y二元函數(shù)的二元函數(shù)的在在xmin,xmax,ymin,ymax范圍內(nèi)的三維曲范圍內(nèi)的三維曲面面。 ezsurf (x,y,z,smin,smax,tmin,tmax) 功能:

3、功能:繪制在繪制在smin,smax,tmin,tmax范圍內(nèi)范圍內(nèi)x = x(s,t), y = y(s,t)和和z = z(s,t)的三維曲面。的三維曲面。三維網(wǎng)格圖三維網(wǎng)格圖 meshmesh:三維網(wǎng)格圖的繪制函數(shù):三維網(wǎng)格圖的繪制函數(shù) mesh(z)mesh(z) mesh(x,y,z) mesh(x,y,z) 功能:繪制三維網(wǎng)功能:繪制三維網(wǎng)格格圖。當只有參數(shù)圖。當只有參數(shù)z時,以時,以z矩陣的行下標作為矩陣的行下標作為x坐標軸,把坐標軸,把z的列下標的列下標當作當作y坐標軸;坐標軸;x和和y分別為分別為x和和y坐標軸的自坐標軸的自變量。變量。 當有當有x,y和和z參數(shù)時,繪制出由坐

4、標參數(shù)時,繪制出由坐標(x(xijij, , y yijij, z, zijij) )確定的三維網(wǎng)格圖形。確定的三維網(wǎng)格圖形。 三維網(wǎng)格圖的函數(shù)為三維網(wǎng)格圖的函數(shù)為ezmesh,調(diào)用格式為:,調(diào)用格式為: ezmesh (f,xmin,xmax,ymin,ymax) 功能:功能:繪制符號表達式繪制符號表達式f代表的代表的x和和y二元函數(shù)二元函數(shù)的在的在xmin,xmax,ymin,ymax范圍內(nèi)的三維范圍內(nèi)的三維網(wǎng)格圖。網(wǎng)格圖。 ezmesh (x,y,z,smin,smax,tmin,tmax) 繪制在繪制在smin,smax,tmin,tmax范圍內(nèi)范圍內(nèi)x = x(s,t), y = y

5、(s,t)和和z = z(s,t)的三維網(wǎng)格圖。的三維網(wǎng)格圖。ezmesh是畫符號函數(shù)的mesh是畫數(shù)值形式的函數(shù)符號函數(shù)能夠處理的信號有限,表達式太復雜的函數(shù)就畫不出來。用數(shù)值解法就可以解所有函數(shù)繪制三維網(wǎng)格圖syms x y;f=x2-2*y2;ezmesh(f,-2ezmesh(f,-2,2,-2,2)-505-505-80-60-40-2002040 xx2-2 y2y 三維曲面三維曲面網(wǎng)格坐標矩陣網(wǎng)格坐標矩陣 meshgridmeshgrid:網(wǎng)格坐標矩陣的生成函數(shù)網(wǎng)格坐標矩陣的生成函數(shù) X,YX,Ymeshgrid(x,y)meshgrid(x,y)功能:由向量功能:由向量x和和y

6、產(chǎn)生在產(chǎn)生在x-y平面的各網(wǎng)格平面的各網(wǎng)格點坐標矩陣(點坐標矩陣(X,Y)。其中向量)。其中向量x為為1m的的行向量,向量行向量,向量y為為1n的行向量,產(chǎn)生的的行向量,產(chǎn)生的網(wǎng)格點坐標矩陣(網(wǎng)格點坐標矩陣(X,Y)的元素為)的元素為坐標對坐標對( (X ij ij, ,Y ij ij),i=1,.,m,j=1,.,n),i=1,.,m,j=1,.,n。用矩陣運算生成的方式產(chǎn)生平面區(qū)域內(nèi)的網(wǎng)格用矩陣運算生成的方式產(chǎn)生平面區(qū)域內(nèi)的網(wǎng)格坐標矩陣的語句:坐標矩陣的語句:x=a:dx:b;y=c:dy:d;x=a:dx:b;y=c:dy:d;X,Y=meshgrid(x,y)X,Y=meshgrid(

7、x,y)。注意向量注意向量x x和和y y相同時,相同時,meshgridmeshgrid函數(shù)也可函數(shù)也可以寫成以寫成X,YX,Ymeshgrid(x)meshgrid(x)。例如例如 語句語句x=1 2 3 4;y=5 6 7;U,V=meshgrid(x,y)U,V=meshgrid(x,y)功能功能: :將將x(1m)向量和向量和y(1n)向量轉(zhuǎn)換為向量轉(zhuǎn)換為(nm)的矩陣。的矩陣??湛?間間 曲曲 面面例 畫函數(shù)Z=(X+Y)2 的圖形. 解 x=-3:0.1:3; y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; surf(X,Y,Z) shading

8、 flat %將當前圖形變得平滑%shading flat:對小片或整段網(wǎng)格線著同一種顏色。(1) surf(x,y,z)畫出數(shù)據(jù)點(x,y,z)表示的曲面數(shù)據(jù)矩陣.分別表示數(shù)據(jù)點的橫坐標、縱坐標、函數(shù)值-4-2024123450204060801. 在圖形上加格柵、圖例和標注在圖形上加格柵、圖例和標注 (1)GRID ON: 加格柵在當前圖上 GRID OFFGRID OFF: 刪除格柵處理圖形處理圖形(2)hh = xlabel(string):在當前圖形的x軸上加圖例stringhh = ylabel(string): 在當前圖形的y軸上加圖例stringhh = title(strin

9、g): 在當前圖形的頂端上加圖例stringhh = zlabel(string): 在當前圖形的z軸上加圖例string例例 在區(qū)間0,2畫sin(x)的圖形,并加注圖例“自變量 X”、“函數(shù)Y”、“示意圖”, 并加格柵. x=linspace(0,2*pi,30); y=sin(x); plot(x,y) xlabel(自變量X) ylabel(函數(shù)Y) title(示意圖) grid on (3) hh = gtext(string) 命令gtext(string)用鼠標放置標注在現(xiàn)有的圖上.運行命令gtext(string)時,屏幕上出現(xiàn)當前圖形,在圖形上出現(xiàn)一個交叉的十字,該十字隨鼠

10、標的移動移動,當按下鼠標左鍵時,該標注string放在當前十交叉的位置. 但該命令主要用于二維圖上。三維的用命令text.例例 在區(qū)間0,2畫sin(x),并分別標注“sin(x)” ”cos(x)”.解解 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,z) gtext(sin(x);gtext(cos(x)text(x,y,z, XXXXX )xyz是要標注文字的位置坐標,XXXX是文字內(nèi)容。 (4)(4)legend(str1 ,str2 ,)legend(str1 ,str2 ,) 功能功能:在當前圖上輸出圖例,并用說明性字符

11、在當前圖上輸出圖例,并用說明性字符串串str1, str2str1, str2等作為標注。等作為標注。 legend off legend off 功能功能:從當前圖形中清除圖例。從當前圖形中清除圖例。參數(shù)字符串的含義如下表所示:參數(shù)字符串含義 0 盡量不與數(shù)據(jù)沖突,自動放置在最佳位置 1 放置在圖形的右上角 2 放置在圖形的左上角 3 放置在圖形的左下角 4 放置在圖形的右下角 -1 放置在圖形視窗的外右邊例:x=0:0.2:12; plot(x,sin(x),-,x,1.5*cos(x),:) legend(First,Second,-1); %強行將注釋視窗放在圖形視窗的外右邊。0246

12、81012-1.5-1-0.500.511.5 firstsecond解解 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,z) gtext(sin(x);gtext(cos(x) legend(y,z)2. 定制坐標定制坐標Axis(xmin xmax ymin ymax zmin zmax)定制圖形坐標將坐標軸返回到自動缺省值Axis autox、y、z的最大、最小值axis (square)將當前圖形的坐標系統(tǒng)設置為方形。axis (equal)將當前圖形的坐標軸設成相等。axis (off) 關(guān)閉坐標系統(tǒng)。axis (on)

13、顯示坐標系統(tǒng)。box 坐標形式在封閉式和開啟式之間切換指令。box on 命令使坐標形式呈封閉形式box off 命令坐標形式呈開啟形式。 例例 在區(qū)間0.005,0.01顯示sin(1/x)的圖形. x=linspace(0.0001,0.01,1000); y=sin(1./x); plot(x,y) axis(0.005 0.01 1 1)123456789x 10-3-1-0.8-0.6-0.4-0.200.20.40.60.813. 圖形保持圖形保持(1) hold on hold off例例 將y=sin(x)、y=cos(x)分別用點和線畫出在同一屏幕上.解解 x=linspac

14、e(0,2*pi,30); y=sin(x); z=cos(x) plot(x,z,:) hold on Plot(x,y)保持當前圖形, 以便繼續(xù)畫圖到當前圖上 釋放當前圖形窗口 ishold 如果當前圖形處于hold on狀態(tài),則返回 1;否則,返回0。 clf clf 清除當前圖形窗口的圖形。(2) figure(h)例例 區(qū)間0,2 新建兩個窗口分別畫出y=sin(x); z=cos(x). x=linspace(0,2*pi,100); y=sin(x);z=cos(x); plot(x,y); title(sin(x); pause figure(2); plot(x,z); ti

15、tle(cos(x);新建h窗口,激活圖形使其可見,并把它置于其它圖形之上01234567-1-0.8-0.6-0.4-0.200.20.40.60.81sin(x)01234567-1-0.8-0.6-0.4-0.200.20.40.60.81cos(x)5. 縮放圖形縮放圖形zoom on 單擊鼠標左鍵,則在當前圖形窗口中,以鼠標點中的點為中心的圖形放大2倍解解 x=linspace(0,2*pi,30); y=sin(x); Plot(x,y) zoom on 例例 縮放y=sin(x)的圖形.zoom off為當前圖形打開縮放模式關(guān)閉縮放模式特殊二、三維圖形特殊二、三維圖形1. 特殊的

16、二維圖形函數(shù)特殊的二維圖形函數(shù)2. 特殊的三維圖形函數(shù)特殊的三維圖形函數(shù)直方圖:直方圖: bar(X,Y,WIDTH,參數(shù),參數(shù)):對對mn矩陣矩陣Y繪制含有繪制含有m組、每組組、每組n個寬度為個寬度為WIDTH柱形條的直方圖。向量柱形條的直方圖。向量X為為x坐標,要求遞增或遞減。參數(shù)坐標,要求遞增或遞減。參數(shù)grouped為缺為缺省值,即垂直的分組直方圖,參數(shù)省值,即垂直的分組直方圖,參數(shù)stacked為繪制垂為繪制垂直的將直的將n個直方圖的值疊加在另一條上的直方圖。個直方圖的值疊加在另一條上的直方圖。barh(X,Y,WIDTH,參數(shù),參數(shù)):繪制水平直方圖。參數(shù)含繪制水平直方圖。參數(shù)含義

17、同函數(shù)義同函數(shù)bar。繪制向量繪制向量(2 6 8 7 8 5)的直方圖。的直方圖。程序如下:程序如下:x = 1 2 3 4 5 6;y = 2 6 8 7 8 5;bar(x,y,0.5);title(Example of a Bar Plot);xlabel(x);ylabel(y);axis(0 7 0 10); 餅圖餅圖 pie pie :餅圖的繪圖函數(shù):餅圖的繪圖函數(shù) pie(x,explode)pie(x,explode) 功能:功能:繪制向量繪制向量x x的餅圖。如果向量的餅圖。如果向量x x的元的元素和小于素和小于1 1,則繪制不完全的餅圖。,則繪制不完全的餅圖。 explo

18、deexplode是與向量是與向量x x大小相同的向量,并且大小相同的向量,并且其中不為零的元素所對應的相應部分從餅其中不為零的元素所對應的相應部分從餅圖中獨立出來圖中獨立出來。 繪制向量繪制向量(1,1.6,1.2,0.8,2.1) )的餅圖。的餅圖。a=1,1.6,1.2,0.8,2.1;subplot(1,2,1),pie(a,1 0 1 0 0),legend(1,2,3,4,5)subplot(1,2,1),如果去掉的話如果去掉的話圖會更大完整。圖會更大完整。legend(1,2,3,4,5)中去中去掉大括號的話,執(zhí)行效果與原來掉大括號的話,執(zhí)行效果與原來一樣。一樣。相鄰子餅塊分隔為

19、1,0組合。想間隔大一點為1,1組合。0,0表示無縫拼接。 階梯狀圖階梯狀圖 stairsstairs:階梯狀圖的繪圖函數(shù):階梯狀圖的繪圖函數(shù) stairs(X,Y,STYLE)stairs(X,Y,STYLE) 功能:功能:繪制向量繪制向量X X中指定的序列中指定的序列Y Y的指定線的指定線型的階梯狀圖。型的階梯狀圖。 繪制向量(2 6 8 7 8 5)的階梯狀圖。 x = 1 2 3 4 5 6;y = 2 6 8 7 8 5;stairs(x,y,); title(Example of a Stair Plot);xlabel(x);ylabel(y);axis(0 7 0 10);若改

20、為若改為stairs(x,y,r-*),則會變成紅線,頂點為,則會變成紅線,頂點為*點點產(chǎn)生模擬隨機數(shù)的計算機命令產(chǎn)生模擬隨機數(shù)的計算機命令 在MATLAB軟件中,可以直接產(chǎn)生滿足各種分布的隨機數(shù),命令如下:2產(chǎn)生mn階,均勻分布的隨機數(shù)矩陣: rand (m, n) 產(chǎn)生一個,均勻分布的隨機數(shù):rand1產(chǎn)生mn階a,b上均勻分布U(a,b)的隨機數(shù)矩陣: unifrnd (a,b,m, n) 產(chǎn)生一個a,b均勻分布的隨機數(shù):unifrnd (a,b) 當只知道一個隨機變量取值在(a,b)內(nèi),但不知道(也沒理由假設)它在何處取值的概率大,在何處取值的概率小,就只好用U(a,b)來模擬它當研究

21、對象視為大量相互獨立的隨機變量之和,且其中每一種變量對總和的影響都很小時,可以認為該對象服從正態(tài)分布機械加工得到的零件尺寸的偏差、射擊命中點與目標的偏差、各種測量誤差、人的身高、體重等,都可近似看成服從正態(tài)分布若連續(xù)型隨機變量X的概率密度函數(shù)為 其中 0為常數(shù),則稱X服從參數(shù)為 的指數(shù)分布指數(shù)分布e0( )00txf xx指數(shù)分布的期望值為 1排隊服務系統(tǒng)中顧客到達率為常數(shù)時的到達間隔、故障排隊服務系統(tǒng)中顧客到達率為常數(shù)時的到達間隔、故障率為常數(shù)時零件的壽命都服從指數(shù)分布率為常數(shù)時零件的壽命都服從指數(shù)分布指數(shù)分布在排隊論、可靠性分析中有廣泛應用注意:注意:MATLAB中,產(chǎn)生參數(shù)參數(shù)為 的指數(shù)

22、分布的命令為exprnd( )1設離散型隨機變量X的所有可能取值為0,1,2,且取各個值的概率為其中 0為常數(shù),則稱X服從參數(shù)為 的泊松分布泊松分布e(),0,1,2,!kP Xkkk泊松分布在排隊系統(tǒng)、產(chǎn)品檢驗、天文、物理等領域有廣泛應用泊松分布的期望值為一、數(shù)據(jù)的錄入、保存和調(diào)用一、數(shù)據(jù)的錄入、保存和調(diào)用 例例1 上海市區(qū)社會商品零售總額和全民所有制職工工資總額的數(shù)據(jù)如下: 使用Import Data注入數(shù)據(jù)。例如在桌面上有一個名稱為data的Excel數(shù)據(jù)文件,要輸入這個數(shù)據(jù)文件,在MATLAB主窗口中依次點擊File Import Data,然后找到路徑,打開data文件,出現(xiàn)下列畫面

23、:點擊Next,出現(xiàn)畫面如下:光標指向data,右擊,將文件名改成自己需要的名稱,再點擊Finish即可。在MATLAB主窗口中輸入修改后的名稱,然后執(zhí)行,就可得到名稱為data的數(shù)據(jù)。1輸入矩陣:data=78,79,80,81,82,83,84,85,86,87; 23.8,27.6,31.6,32.4,33.7,34.9,43.2,52.8,63.8,73.4; 41.4,51.8,61.7,67.9,68.7,77.5,95.9,137.4,155.0,175.02將矩陣data的數(shù)據(jù)保存在文件data1中:save data1 data3 3進行統(tǒng)計分析時,先用命令:load dat

24、a1 調(diào)用數(shù)據(jù)文件data1中的數(shù)據(jù),再用以下命令分別將矩陣data的第一、二、三行的數(shù)據(jù)賦給變量t、x、y: t=data(1,:) x=data(2,:) y=data(3,:)若要調(diào)用矩陣data的第j列的數(shù)據(jù),可用命令: data(:,j)二、基本統(tǒng)計量二、基本統(tǒng)計量 集中趨勢統(tǒng)計量算術(shù)平均值 mean(x)調(diào)和平均值 harmmean(x)中位數(shù) median(x)幾何平均值 geomean(x)截尾均值 trimmean(x,0.5)意思是先剔除數(shù)據(jù)中最大和最小共0.5%的數(shù)據(jù)后(其中最大與最小各 ),再計算數(shù)據(jù)的算術(shù)平均值0.5%2 離散趨勢統(tǒng)計量方差 var(x)標準差 std

25、(x)極差 range(x)均值絕對差 mad(x)內(nèi)四分極差 iqr(x) 表示計算數(shù)據(jù)x的75百分位數(shù)與25百分位數(shù)之間的差值若要計算數(shù)據(jù)x的百分位數(shù),可以調(diào)用prctile(x,a)函數(shù)。其中0a100.極差=最大的數(shù)據(jù)-最小的數(shù)據(jù)還有表示分布形狀的統(tǒng)計量偏度:skewness(x) 峰度:kurtosis(x)常見概率分布的函數(shù)常見概率分布的函數(shù)MATLAB工具箱對每一種分布都提供5類函數(shù),其命令字符為:概率密度:pdf pdf 概率分布:cdfcdf逆概率分布:inv inv 均值與方差:statstat隨機數(shù)生成:rndrnd (當需要一種分布的某一類函數(shù)時,將以上所列的分(當需要

26、一種分布的某一類函數(shù)時,將以上所列的分布命令字符與函數(shù)命令字符接起來,并輸入自變量(可以布命令字符與函數(shù)命令字符接起來,并輸入自變量(可以是標量、數(shù)組或矩陣)和參數(shù)即可是標量、數(shù)組或矩陣)和參數(shù)即可. .)例例 2 畫出正態(tài)分布) 1 , 0(N和)2 , 0(2N的概率密度函數(shù)圖形.x=-6:0.01:6; x=-6:0.01:6; y=normpdf(x); y=normpdf(x); z=normpdf(x,0,z=normpdf(x,0,2 2) );%;%這里輸入的是這里輸入的是sigma,sigma,而非其平方而非其平方plot(x,y,x,z)plot(x,y,x,z)1 1概率

27、密度函數(shù)概率密度函數(shù):p=normpdf(x,mu,sigma)p=normpdf(x,mu,sigma) (當mumu=0,sigmasigma=1時可缺省)如對均值為mu、標準差為sigma的正態(tài)分布,舉例如下:2 2概率分布概率分布:P=normcdf(x,mu,sigma)P=normcdf(x,mu,sigma)例3.計算標準正態(tài)分布的概率P-1X1命令為 P=normcdf(1)-normcdf(-1)結(jié)果為 p=0.68273 3逆概率分布逆概率分布:x=norminv(P,mu,sigma).x=norminv(P,mu,sigma). 即求出x ,使得PX unifrnd(1

28、,4) ans = 1.6971 unifrnd(1,10,4,4) ans = 8.2438 1.4478 8.5948 4.9581 9.1756 1.7055 2.5651 4.0604 3.0870 6.7673 2.5371 3.8280 3.1538 2.7180 9.9487 4.2857 參數(shù)估計參數(shù)估計1正態(tài)總體的參數(shù)估計正態(tài)總體的參數(shù)估計 設總體服從正態(tài)分布,則其點估計和區(qū)間估計可同時由以下命令獲得: muhat,sigmahat,muci,sigmaci=normfit(X,alpha) 此命令在顯著性水平alpha下估計數(shù)據(jù)X的參數(shù)(alpha缺省時設定為0.05),返

29、回值muhat是X的均值的點估計值,sigmahat是標準差的點估計值, muci是均值的區(qū)間估計,sigmaci是標準差的區(qū)間估計.2其它分布的參數(shù)估計其它分布的參數(shù)估計 有兩種處理辦法:一、取容量充分大的樣本(n50),按中心極限定理,它近似地 服從正態(tài)分布;二、使用MATLAB工具箱中具有特定分布總體的估計命令.(1)muhat, muci = expfit(X,alpha) 在顯著性水平alpha下,求指數(shù)分布的數(shù)據(jù)X的均值的點估計及其區(qū)間估計.(2)lambdahat, lambdaci = poissfit(X,alpha) 在顯著性水平alpha下,求泊松分布的數(shù)據(jù)X的參數(shù)的點估

30、計及其區(qū)間估計.(3)phat, pci = weibfit(X,alpha) 在顯著性水平alpha下,求Weibull分布的數(shù)據(jù)X的參數(shù)的點估計及其區(qū)間估計.六、假設檢驗六、假設檢驗 在總體服從正態(tài)分布的情況下,可用以下命令進行假設檢驗.1總體方差總體方差 已知時,總體均值的檢驗使用已知時,總體均值的檢驗使用 z 檢驗檢驗 h,sig,ci = ztest(x,m,sigma,alpha,tail)h,sig,ci = ztest(x,m,sigma,alpha,tail)檢驗數(shù)據(jù) x 的關(guān)于均值的某一假設是否成立,其中sigma 為已知方差, alpha 為顯著性水平,究竟檢驗什么假設取

31、決于 tail 的取值:tail = 0,檢驗假設“x 的均值等于 m ”tail = 1,檢驗假設“x 的均值大于 m ”tail =-1,檢驗假設“x 的均值小于 m ”tail的缺省值為 0, alpha的缺省值為 0.05. 返回值 h 為一個布爾值,h=1 表示在顯著性水平alpha下可以拒絕原假設,h=0 表示不可以拒絕假設,即考慮接受原假設,sig 為假設成立的概率,ci 為均值的 1-alpha 置信區(qū)間.22總體方差總體方差 未知時,總體均值的檢驗使用未知時,總體均值的檢驗使用t 檢驗檢驗h,sig,ci = ttest(x,m,alpha,tail)h,sig,ci = t

32、test(x,m,alpha,tail)檢驗數(shù)據(jù) x 的關(guān)于均值的某一假設是否成立,其中alpha 為顯著性水平,究竟檢驗什么假設取決于 tail 的取值:tail = 0,檢驗假設“x 的均值等于 m ”tail = 1,檢驗假設“x 的均值大于 m ”tail =-1,檢驗假設“x 的均值小于 m ”tail的缺省值為 0, alpha的缺省值為 0.05. 返回值 h 為一個布爾值,h=1 表示可以拒絕原假設,h=0 表示不可以拒絕原假設,sig 為假設成立的概率,ci 為均值的 1-alpha 置信區(qū)間.23兩總體均值的假設檢驗兩總體均值的假設檢驗使用使用 t 檢驗檢驗 h,sig,c

33、i = ttest2(x,y,alpha,tail)檢驗數(shù)據(jù) x ,y 的關(guān)于均值的某一假設是否成立,其中alpha 為顯著性水平,究竟檢驗什么假設取決于 tail 的取值:tail = 0,檢驗假設“x 的均值等于 y 的均值 ”tail = 1,檢驗假設“x 的均值大于 y 的均值 ”tail =-1,檢驗假設“x 的均值小于 y 的均值 ”tail的缺省值為 0, alpha的缺省值為 0.05. 返回值 h 為一個布爾值,h=1 表示在顯著性水平alpha下可以拒絕原假設,h=0 表示不可以拒絕原假設,即可以考慮接受原假設。sig 為假設成立的概率,ci 為與x與y均值差的 1-alp

34、ha 置信區(qū)間.4非參數(shù)檢驗:總體分布的檢驗非參數(shù)檢驗:總體分布的檢驗MATLAB工具箱提供了兩個對總體分布進行檢驗的命令:(1)h = normplot(x)(2)h = weibplot(x) 此命令顯示數(shù)據(jù)矩陣x的正態(tài)概率圖.如果數(shù)據(jù)來自于正態(tài)分布,則圖形顯示出直線性形態(tài).而其它概率分布函數(shù)顯示出曲線形態(tài). 此命令顯示數(shù)據(jù)矩陣x的Weibull概率圖.如果數(shù)據(jù)來自于Weibull分布,則圖形將顯示出直線性形態(tài).而其它概率分布函數(shù)將顯示出曲線形態(tài).返回返回尋找一元函數(shù)零點問題函數(shù):fzero功能:尋找一元函數(shù)的零點語法:x=fzero(fun,x0) 表示在x0附近搜索函數(shù)fun的零點x=

35、fzero(fun,x0,options)x=fzero(fun,x0,options,P1,P2)x,fval=fzero()x,fval,exitflag=fzero()x,fval,exitflag,output=fzero()例如:在3的附近搜索sin(x)的零點 x=fzero(sin,3) 在區(qū)間1,2之間搜索cos(x)的零點 x=fzero(cos,1 2)無約束條件的極小問題考慮以下無約束極小問題:12212122min( )(42421)xxf xexxx xx第一步:創(chuàng)建一個名為objfun.m的目標函數(shù)的M-文件 function f=objfun(x) f=exp(x

36、(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);第二步:調(diào)用matlab軟件包內(nèi)部無約束優(yōu)化函數(shù)fminunc,創(chuàng)建一個名稱為opt_1.m的計算文件:x0=-1 1;x,fval,exitflag,output=fminunc(objfun,x0)表示初始迭代取值為表示初始迭代取值為-1 1,輸入不同的初始值,會得到不同的優(yōu)化結(jié)果輸入不同的初始值,會得到不同的優(yōu)化結(jié)果線性規(guī)劃2. 掌握用數(shù)學軟件包求解線性規(guī)劃問題.1. 了解線性規(guī)劃的基本內(nèi)容.線性規(guī)劃的相關(guān)函數(shù)為:linprog(求最小值)數(shù)學模型:min, , ,eqTxf xA xbAeq xbeq

37、lbuubf x b beq lbubAA其中和為向量, 和為矩陣gg用用MATLAB優(yōu)化工具箱解線性規(guī)劃優(yōu)化工具箱解線性規(guī)劃min z=f*X s.t.AXb1. 模型:命令:x=linprog(f, A, b) 2. 模型:min z=f*X s.t.AXbbeqXAeq命令:x=linprog(f,A,b,Aeq,beq)注意:若沒有不等式: 存在,則令A= ,b= .bAX 3. 模型:min z=f*X s.t.AXbbeqXAeq VLBXVUB命令:1 x=linprog(f,A,b,Aeq,beq, VLB,VUB) 2 x=linprog(f,A,b,Aeq,beq, VLB

38、,VUB, X0) 注意:1 若沒有等式約束: , 則令Aeq= , beq= . 2其中X0表示初始點 beqXAeq4. 命令:x,fval=linprog()返回最優(yōu)解及處的目標函數(shù)值fval.123m in(634 )xzxx32120030 xxx1231111 2 0s.t. 0105 0 xxx 編寫編寫M文件文件xxgh2.m如下:如下: f=6 3 4; A=0 1 0; b=50; Aeq=1 1 1; beq=120; vlb=30,0,20; vub=; %上界沒有列出,故用空矩陣代上界沒有列出,故用空矩陣代 x,fval=linprog(f,A,b,Aeq,beq,v

39、lb,vub)下頁MATLAB優(yōu)化工具箱簡介優(yōu)化工具箱簡介1.1.MATLAB求解優(yōu)化問題的主要函數(shù)求解優(yōu)化問題的主要函數(shù)2.2.優(yōu)化函數(shù)的輸入變量優(yōu)化函數(shù)的輸入變量 使用優(yōu)化函數(shù)或優(yōu)化工具箱中其他優(yōu)化函數(shù)時, 輸入變量見下表:用用MATLAB解無約束優(yōu)化問題解無約束優(yōu)化問題 其中等式(3)、(4)、(5)的右邊可選用(1)或(2)的等式右邊. 函數(shù)fminbnd的算法基于黃金分割法和二次插值法,它要求目標函數(shù)必須是連續(xù)函數(shù),并可能只給出局部最優(yōu)解. 常用格式如下:常用格式如下:(1)x= fminbnd (fun,x1,x2)(2)x= fminbnd (fun,x1,x2 ,options

40、)(3)x,fval= fminbnd()(4)x,fval,exitflag= fminbnd()(5)x,fval,exitflag,output= fminbnd()運行結(jié)果:xmin = 3.9270ymin = -0.0279xmax =0.7854ymax =-0.6448 主程序為主程序為wliti1.m: f=2*exp(-x)*sin(x); fplot(f,0,8); %作圖語句作圖語句 xmin,ymin=fminbnd (f, 0,8) f1=-2*exp(-x)*sin (x); xmax,ymax=fminbnd (f1, 0,8)要注意函數(shù)取了原來的相反符號形式要

41、注意函數(shù)取了原來的相反符號形式例例2 2 有邊長為有邊長為3 3m的正方形鐵板,在四個角剪去相等的正方形以的正方形鐵板,在四個角剪去相等的正方形以制成方形無蓋水槽,問如何剪法使水槽的容積最大?制成方形無蓋水槽,問如何剪法使水槽的容積最大?解解先編寫先編寫M文件文件fun0.m如下如下: : function f=fun0(x) f=-(3-2*x)2*x;主程序為主程序為wliti2.m: x,fval=fminbnd(fun0,0,1.5); xmax=x fmax=-fval運算結(jié)果為運算結(jié)果為: xmax = 0.5000, = 0.5000,fmax =2.0000. =2.0000.

42、即剪掉的正方形即剪掉的正方形的邊長為的邊長為0.50.5m時水槽的容積最大時水槽的容積最大, ,最大容積為最大容積為2 2m3. . 命令格式為命令格式為: :(1)x= fminunc(fun,X0 );或x=fminsearch(fun,X0 )(2)x= fminunc(fun,X0 ,options); 或x=fminsearch(fun,X0 ,options)(3)x,fval= fminunc(.); 或x,fval= fminsearch(.)(4)x,fval,exitflag= fminunc(.); 或x,fval,exitflag= fminsearch(5)x,fva

43、l,exitflag,output= fminunc(.); 或x,fval,exitflag,output= fminsearch(.) 2.多元函數(shù)無約束優(yōu)化問題多元函數(shù)無約束優(yōu)化問題標準型為:標準型為:min()F X3 fminunc為中型優(yōu)化算法的步長一維搜索提供了兩種算法,由選項中參數(shù)LineSearchType控制: LineSearchType=quadcubic (缺省值),混合的二次和三次多項式插值; LineSearchType=cubicpoly,三次多項式插使用使用fminunc和和 fminsearch可能會得到局部最優(yōu)解可能會得到局部最優(yōu)解. .說明說明: :fm

44、insearch是用單純形法尋優(yōu)是用單純形法尋優(yōu).fminunc算法見以下幾點說明:算法見以下幾點說明:1 fminunc為無約束優(yōu)化提供了大型優(yōu)化和中型優(yōu)化算法.由選項中的參數(shù)LargeScale控制:LargeScale=on (默認值默認值),使用大型算法使用大型算法LargeScale=off (默認值默認值),使用中型算法使用中型算法2 fminunc為中型優(yōu)化算法的搜索方向提供了4種算法,由 選項中的參數(shù)選項中的參數(shù)HessUpdate控制:控制: HessUpdate=bfgs(默認值),擬牛頓法的(默認值),擬牛頓法的BFGS公式;公式;HessUpdate=dfp,擬牛頓法的

45、,擬牛頓法的DFP公式;公式;HessUpdate=steepdesc,最速下降法,最速下降法例例3 3 min 1. 1.編寫編寫M文件文件 fun1.m: :function f = fun1 (x)f = exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1); 2.2.輸入輸入M文件文件wliti3.m如下如下: : x0 = -1, 1; x=fminunc(fun1,x0); y=fun1(x) 3. 3.運行結(jié)果運行結(jié)果: : x= 0.5000 -1.0000 y = 1.3029e-1012212122( )(42421) exf xx

46、xx xx 在工程技術(shù)與科學研究中,常會遇到函數(shù)表達在工程技術(shù)與科學研究中,常會遇到函數(shù)表達式過于復雜而不便于計算,且又需要計算眾多點處式過于復雜而不便于計算,且又需要計算眾多點處的函數(shù)值;或已知由實驗(測量)得到的某一函數(shù)的函數(shù)值;或已知由實驗(測量)得到的某一函數(shù) y=f(x)在區(qū)間在區(qū)間a,b中互異的中互異的n+1個個xi ( i=0, 1, . ,n)處處的值的值yi=f(xi) (i=0,1,.,n), 需要構(gòu)造一個需要構(gòu)造一個簡單易算的簡單易算的函數(shù)函數(shù)P(x)作為作為y=f(x)的近似表達式的近似表達式 y=f(x)P(x) , 使得使得 P(xi)= f(xi) = yi (i

47、=0,1, ., n) 這類問題就稱為這類問題就稱為插值問題插值問題, P(x)稱為稱為插值函數(shù)插值函數(shù), P(x)一般取最簡單又便于計算得函數(shù)。一般取最簡單又便于計算得函數(shù)。插插 值值 定定 義義x0 x1x2x3x4xP(x) f(x)f(x) y=f(x)P(x) , 使得使得 P(xi)= f(xi) = yi (i=0,1, ., n) 其它點其它點 P(x) f(x) = y用用MATLAB作插值計算作插值計算一維插值函數(shù):一維插值函數(shù):yi=interp1(x,y,xi,method)插值方法插值方法被插值點被插值點插值節(jié)點插值節(jié)點xi處的處的插值結(jié)果插值結(jié)果nearest 最鄰

48、近插值;最鄰近插值;linear 線性插值;線性插值;spline 三次樣條插值;三次樣條插值;cubic 立方插值;立方插值; 缺省時缺省時 分段線性插值分段線性插值 注意:所有的插值方法注意:所有的插值方法都要求都要求x是單調(diào)的,并且是單調(diào)的,并且xi不不能夠超過能夠超過x的范圍的范圍 例:從例:從1 1點點1212點點的的1111小時內(nèi),每隔小時內(nèi),每隔1 1小時測量一小時測量一次溫度,測得的溫度的數(shù)值依次為:次溫度,測得的溫度的數(shù)值依次為:5 5,8 8,9 9,1515,2525,2929,3131,3030,2222,2525,2727,2424試估計每隔試估計每隔1/101/10

49、小時的溫度值小時的溫度值hours=1:12;temps=5 8 9 15 25 29 31 30 22 25 27 24;h=1:0.1:12;t=interp1(hours,temps,h,spline); (直接輸出數(shù)據(jù)將是很多的直接輸出數(shù)據(jù)將是很多的)plot(hours,temps,+,h,t,hours,temps,r:) %作圖作圖xlabel(Hour),ylabel(Degrees Celsius)hours =1:12;temps=5 8 9 15 25 29 31 30 22 25 27 24;h=1:0.1:12;t=interp1(hours,temps,h,spli

50、ne); figure(1)plot(hours,temps,+)figure(2)plot(h,t)figure(3)plot(hours,temps,r:)xlabel(Hour),ylabel(Degrees Celsius)三個圖對比三個圖對比 要求要求x0, ,y0單調(diào);單調(diào);x,y可取為矩陣,或可取為矩陣,或x取行向量,取行向量,y取為列取為列向量,向量,x,y的值分別的值分別不能超出不能超出x0, ,y0 0的范的范圍圍z=interp2(x0,y0,z0,x,y,method)被插值點插值方法用用MATLAB作網(wǎng)格節(jié)點數(shù)據(jù)的插值作網(wǎng)格節(jié)點數(shù)據(jù)的插值插值節(jié)點被插值點的函數(shù)值nea

51、rest 最鄰近插值;最鄰近插值;linear 雙線性插值;雙線性插值;cubic 雙三次插值;雙三次插值;缺省時缺省時 雙線性插值雙線性插值. .jiiiijyxa3030例:測得平板表面例:測得平板表面3 35 5網(wǎng)格點處的溫度分別為:網(wǎng)格點處的溫度分別為: 82 81 80 82 84 82 81 80 82 84 79 63 61 65 81 79 63 61 65 81 84 84 82 85 86 84 84 82 85 86 試作出平板表面的溫度分布曲面試作出平板表面的溫度分布曲面z= =f( (x, ,y) )的圖形的圖形輸入以下命令:x=1:5;y=1:3;temps=82

52、81 80 82 84;79 63 61 65 81;84 84 82 85 86;mesh(x,y,temps)%網(wǎng)格圖一定要給出點網(wǎng)格圖一定要給出點1.先在三維坐標畫出原始數(shù)據(jù),畫出粗糙的溫度分布曲線圖.2以平滑數(shù)據(jù),在 x、y方向上每隔0.2個單位的地方進行插值.再輸入以下命令:xi=1:0.2:5;yi=1:0.2:3;zi=interp2(x,y,temps,xi,yi,cubic);mesh(xi,yi,zi)畫出插值后的溫度分布曲面圖. 插值函數(shù)插值函數(shù)griddata格式為格式為: cz =griddata(x,y,z,cx,cy,method)用用MATLAB作散點數(shù)據(jù)的插值

53、計算作散點數(shù)據(jù)的插值計算 要求要求cx取行向量,取行向量,cy取為列向量取為列向量被插值點插值方法插值節(jié)點被插值點的函數(shù)值nearest最鄰近插值最鄰近插值linear 雙線性插值雙線性插值cubic 雙三次插值雙三次插值v4- MATLAB提供的插值方法提供的插值方法缺省時缺省時, , 雙線性插值雙線性插值曲曲 線線 擬擬 合合 問問 題題 的的 提提 法法已知一組(二維)數(shù)據(jù),即平面上已知一組(二維)數(shù)據(jù),即平面上 n個點個點(xi,yi) i=1,n, 尋求一個函數(shù)(曲線)尋求一個函數(shù)(曲線)y=f(x), 使使 f(x) 在某種準則下與所有在某種準則下與所有數(shù)據(jù)點最為接近,即曲線擬合得

54、最好數(shù)據(jù)點最為接近,即曲線擬合得最好 +xyy=f(x)(xi,yi)i i 為點為點(xi,yi) 與與曲線曲線 y=f(x) 的距離的距離擬合與插值的關(guān)系擬合與插值的關(guān)系 函數(shù)插值與曲線擬合都是要根據(jù)一組數(shù)據(jù)構(gòu)造一個函數(shù)作函數(shù)插值與曲線擬合都是要根據(jù)一組數(shù)據(jù)構(gòu)造一個函數(shù)作為近似,由于近似的要求不同,二者在數(shù)學方法上是完全不同為近似,由于近似的要求不同,二者在數(shù)學方法上是完全不同的的 實例:實例:下面數(shù)據(jù)是某次實驗所得,希望得到X和 f之間的關(guān)系?x124791 21 31 51 7f1 .53 .96 .611 .71 5 .61 8 .81 9 .62 0 .62 1 .1問題:問題:給

55、定一批數(shù)據(jù)點,需確定滿足特定要求的曲線或曲面解決方案:解決方案:若不要求曲線(面)通過所有數(shù)據(jù)點,而是要求它反映對象整體的變化趨勢,這就是數(shù)據(jù)擬合數(shù)據(jù)擬合,又稱曲線擬合或曲面擬合若要求所求曲線(面)通過所給所有數(shù)據(jù)點,就是插值問題插值問題;最臨近插值、線性插值、樣條插值與曲線擬合結(jié)果:最臨近插值、線性插值、樣條插值與曲線擬合結(jié)果:0246810121416180510152025已知數(shù)據(jù)點spline三次多項式插值0246810121416180510152025已知數(shù)據(jù)點linest三次多項式插值0246810121416180510152025已知數(shù)據(jù)點nearest三次多項式插值曲線擬合

56、問題最常用的解法曲線擬合問題最常用的解法線性最小二乘法的基本思路線性最小二乘法的基本思路第一步: :先選定一組函數(shù)先選定一組函數(shù) r1(x), r2(x), ,rm(x), mn, 令令 f(x)=a1r1(x)+a2r2(x)+ +amrm(x) (1)其中其中 a1,a2, ,am 為待定系數(shù)為待定系數(shù) 第二步: 確定確定a1,a2, ,am 的準則(最小二乘準則):的準則(最小二乘準則):使使n個點個點(xi,yi) 與與曲線曲線 y=f(x) 的距離的距離 i 的平方和最小的平方和最小 問題歸結(jié)為,求問題歸結(jié)為,求 a1,a2, ,am 使使 J (a1,a2, ,am) 最小最小22

57、1211211(,) ( )( )(2)nnmiiiiinmk kiiikJ a aaf xya r xy L線性最小二乘法的求解:預備知識線性最小二乘法的求解:預備知識超定方程組超定方程組:方程個數(shù)大于未知量個數(shù)的方程組:方程個數(shù)大于未知量個數(shù)的方程組超定方程組一般是不存在解的矛盾方程組超定方程組一般是不存在解的矛盾方程組 如果有向量如果有向量a使得使得 達到最小,達到最小,則稱則稱a為上述為上述超定方程組的最小二乘解超定方程組的最小二乘解 11 1122111 122 ()mmnnnmmnr ar ar aynmr ar ar ay111112112,mnnnmmnayrrrRayrrra

58、y 21 1221()niiimmiir ar ar ayL例如,如果給定的三點不在一條直線上, 我們將無法得到這樣一條直線,使得這條直線同時經(jīng)過給定這三個點。 也就是說給定的條件(限制)過于嚴格, 導致解不存在。在實驗數(shù)據(jù)處理和曲線擬合問題中,求解超定方程組非常普遍。比較常用的方法是最小二乘法。形象的說,就是在無法完全滿足給定的這些條件的情況下,求一個最接近的解。 線性最小二乘法的求解線性最小二乘法的求解 定理:定理:當當RTR可逆時,超定方程組(可逆時,超定方程組(3 3)存在最小二乘解,)存在最小二乘解,且即為方程組且即為方程組 RTRa= =RTy的解:的解:a=(RTR)-1RTy

59、所以,曲線擬合的最小二乘法要解決的問題,實際上就是所以,曲線擬合的最小二乘法要解決的問題,實際上就是求以下超定方程組的最小二乘解的問題求以下超定方程組的最小二乘解的問題111111( )( ),()()mnmnmnayr xrxRayr xrxay Ra=y其中線性最小二乘擬合線性最小二乘擬合 f(x)=a1r1(x)+ +amrm(x)中中函數(shù)函數(shù) r1 1( (x),), ,rm( (x)的選取的選取 1. 1. 通過機理分析建立數(shù)學模型來確定通過機理分析建立數(shù)學模型來確定 f( (x) );+f=a1+a2xf=a1+a2x+a3x2f=a1+a2x+a3x2f=a1+a2/xf=aeb

60、xf=ae-bx 2. 2. 將數(shù)據(jù)將數(shù)據(jù) (xi,yi) i=1, ,n 作圖,通過直觀判斷確定作圖,通過直觀判斷確定 f(x):用用MATLAB作線性最小二乘擬合作線性最小二乘擬合1. 1. 作多項式作多項式f(x)=a1xm+ +amx+am+1擬合擬合, ,可利用已有程序可利用已有程序:a=polyfit(x,y,m)2. 2. 對超定方程組對超定方程組)(11nmyaRnmmn可得最小二乘意義下的解可得最小二乘意義下的解,用,用yRa3.3.多項式在多項式在x處的值處的值y可用以下命令計算:可用以下命令計算: y=polyval(a,x)輸出擬合多項式系數(shù)輸出擬合多項式系數(shù)a=a1,

溫馨提示

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

評論

0/150

提交評論