MATLAB操作基礎和環(huán)境分析_第1頁
MATLAB操作基礎和環(huán)境分析_第2頁
MATLAB操作基礎和環(huán)境分析_第3頁
MATLAB操作基礎和環(huán)境分析_第4頁
MATLAB操作基礎和環(huán)境分析_第5頁
已閱讀5頁,還剩96頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 1.1 MATLAB概述 1.2 MATLAB的運行環(huán)境與安裝 1.3 MATLAB集成環(huán)境 1.4 MATLAB幫助系統(tǒng)MATLAB操作基礎和環(huán)境分析1.1 MATLAB概述1.1.1 MATLAB的發(fā)展 1984年,MATLAB第1版(DOS版) 1992年,版 1994年,版 1997年,版 1999年,版 2000年,版 2001年,版 2002年,版 2004年,版此后,每半年出一個版本作為對上一個版本的修訂。MATLAB操作基礎和環(huán)境分析1.1.2 MATLAB的主要功能1數(shù)值計算和符號計算功能 MATLAB以矩陣作為數(shù)據(jù)操作的基本單位,還提供了十分豐富的數(shù)值計算函數(shù)。MATLA

2、B和著名的符號計算語言Maple相結合,使得MATLAB具有符號計算功能。 2繪圖功能 MATLAB提供了兩個層次的繪圖操作:一種是對圖形句柄進行的低層繪圖操作,另一種是建立在低層繪圖操作之上的高層繪圖操作。MATLAB操作基礎和環(huán)境分析 3編程語言 MATLAB具有程序結構控制、函數(shù)調(diào)用、數(shù)據(jù)結構、輸入輸出、面向?qū)ο蟮瘸绦蛘Z言特征,而且簡單易學、編程效率高。 4MATLAB工具箱 MATLAB包含兩部分內(nèi)容:基本部分和各種可選的工具箱。 MATLAB工具箱分為兩大類:功能性工具箱和學科性工具箱。MATLAB操作基礎和環(huán)境分析1.1.3 初識MATLAB 例1-1 繪制正弦曲線和余弦曲線。 程

3、序如下:x=0:0.5:360*pi/180;plot(x,sin(x),x,cos(x); 例1-2 求方程 3x4+7x3 +9x2-23=0的全部根。 程序設計:p=3,7,9,0,-23; %建立多項式系數(shù)向量x=roots(p) %求根MATLAB操作基礎和環(huán)境分析例1-3 求積分程序如下: quad(x.*log(1+x),0,1)例1-4 求解線性方程組 。程序如下: a=2,-3,1;8,3,2;45,1,-9; b=4;2;17; x=inv(a)*bMATLAB操作基礎和環(huán)境分析例1-5 用克萊姆(Cramer)方法求解線性方程組:程序如下: (展示矩陣塊操作)D=2,2,

4、-1,1;4,3,-1,2;8,5,-3,4;3,3,-2,2; %定義系數(shù)矩陣b=4;6;12;6; %定義常數(shù)項向量D1=b,D(:,2:4); %用方程組的右端向量置換D的第1列D2=D(:,1:1),b,D(:,3:4); %用方程組的右端向量置換D的第2列D3=D(:,1:2),b,D(:,4:4); %用方程組的右端向量置換D的第3列D4=D(:,1:3),b; %用方程組的右端向量置換D的第4列DD=det(D);x1=det(D1)/DD;x2=det(D2)/DD;x3=det(D3)/DD;x4=det(D4)/DD;x1,x2,x3,x4MATLAB操作基礎和環(huán)境分析 例

5、1-6 根據(jù)數(shù)據(jù)(0.5,1.75),(1,2.45), (1.5,3.81), (2,4.8),(2.5,7),(3,8.6)擬合二次多項式比較擬合效果,并插值求出時y? 程序如下: x=0.5:0.5:3; %給出數(shù)據(jù)點x的值 y=1.75,2.45,3.81,4.8,7,8.6; %給出數(shù)據(jù)點y的值 p=polyfit(x,y,2); %求出2次擬和多項式的系數(shù) f=poly2sym(p) %顯示所擬合得到的多項式 x1=0.5:0.05:3; %給出x在3之間的離散值 y1=polyval(p,x1); %求出f在x1上的值 plot(x,y,r*,x1,y1,b-) %比較擬合曲線效

6、 y=interp1(x,y,1.75) %一維線性插值 MATLAB操作基礎和環(huán)境分析例1-7 因式分解:求:化簡:程序如下: syms a x factor(a*(sin(x)2-(2*a2-a+1)*sin(x)+2*a-1)syms k n symsum(sin(k*pi),k,1,n)syms x f=simple(1/x3+6/x2+12/x+8)(1/3) simple(f)MATLAB操作基礎和環(huán)境分析 例1-8 用不同線型和顏色在同一坐標內(nèi)繪制曲線y=2esin(2x)及其包絡線。 程序如下: x=(0:pi/100:2*pi); y1=2*exp(-0.5*x)*1,-1;

7、 y2=2*exp(-0.5*x).*sin(2*pi*x); x1=(0:12)/2; y3=2*exp(-0.5*x1).*sin(2*pi*x1); plot(x,y1,g:,x,y2,b-,x1,y3,rp);MATLAB操作基礎和環(huán)境分析 例1-9 在一個圖形窗口中以子圖形式同時繪制正弦、余弦、正切、余切曲線。 程序如下: x=linspace(0,2*pi,60); y=sin(x);z=cos(x); t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); plot(x,y);title(sin(x);ax

8、is (0,2*pi,-1,1); subplot(2,2,2); plot(x,z);title(cos(x);axis (0,2*pi,-1,1); subplot(2,2,3); plot(x,t);title(tangent(x);axis (0,2*pi,-40,40); subplot(2,2,4); plot(x,ct);title(cotangent(x);axis (0,2*pi,-40,40);MATLAB操作基礎和環(huán)境分析 例1-10用三維曲面圖表現(xiàn)函數(shù)z=sin(y)cos(x)。 程序1: x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*

9、cos(x); mesh(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(mesh); 程序2: x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x); surf(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(surf); 程序3: x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x); plot3(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabe

10、l(z-axis);title(plot3-1);grid;MATLAB操作基礎和環(huán)境分析例1-11 求函數(shù) 和 的復合函數(shù) ;求極限 , , , ;求 對x的二階導數(shù)。程序如下: syms x y f=sin(x); g=exp(y); compose(f,g ) syms x y z a f=x2+y2+z2-a2; diff(f,x,2) syms x t h limit(1+2*t/x)(3*x),x,inf) limit(1/x,x,0,right) limit(1/x,x,0,left) limit(sin(x+h)-sin(x)/h,h,0) MATLAB操作基礎和環(huán)境分析 例1

11、-12 計算 ,計算計算 ,程序如下: fun=inline(3*x.2./(x.3-2*x.2+3); quad(fun,0,2) 或者:syms x int(3*x*2/(x3-2*x2+3),0,2) int(3*x*2/(x3-2*x2+3)syms x quad(exp(x.2),0,2)dblquad(y./sin(x)+x.*exp(y),1,3,5,7)syms x yint(int(exp(x2/2)*sin(x2+y),x,-sqrt(1-y2),sqrt(1-y2),y,-1,1)MATLAB操作基礎和環(huán)境分析例1-13 求微分方程 的通解;求微分方程 的特解;求微分方程

12、組 的解;程序如下:y=dsolve(Dy-(x2+y2)/x2/2,x)y=dsolve(Dy=2*x*y2,y(0)=1,x)x,y=dsolve(D2x-y,D2y+x,t)MATLAB操作基礎和環(huán)境分析例1-14 求解線性方程 ;解方程 ;解方程組: 以(0,0)為初始點的解。程序如下: A=34,8,4;3,34,3;3,6,8; b=4;6;2; Ab %求(1)的解X=linsolve(A,b) %調(diào)用linsolve函數(shù)求(1)的解x=solve(1/(x+2)+4*x/(x2-4)=1+2/(x-2),x)首先編寫M文件如下: function F=myfun(x) F=2*

13、x(1)-x(2)-exp(-x(1);-x(1)+2*x(2)-exp(-x(2); 在命令窗口中運行: x,fval=fsolve(myfun,0 0)MATLAB操作基礎和環(huán)境分析例1-15 求解線性規(guī)劃: 程序如下:f=-5; -4; -6; A=1 -1 1;3 2 4;3 2 0; b=20 42 30; lb=zeros(3,1); x=linprog(f,A,b,lb,) fval=f*xMATLAB操作基礎和環(huán)境分析 例1-16 求函數(shù) 在區(qū)間(0,1)內(nèi)的最小值; 程序如下: fun=inline(x3+cos(x)+x*log(x)/exp(x); x=fminbnd(f

14、un,0,1) fval=fun(x) 例1-17 求 的最小值; 程序如下: fun=inline(2*x(1)3+4*x(1)*x(2)3-10*x(1)*x(2)+x(2)2); x=fminsearch(fun,0,0) y=fun(x)MATLAB操作基礎和環(huán)境分析 例1-18 求下面問題在初始點(0,1)處的最優(yōu)解。 程序如下: funf=f=x(1)2+x(2)2-x(1)*x(2)-2*x(1)-5*x(2); fung=g=(x(1)-1)2-x(2);-2*x(1)+3*x(2)-6; fun=funf,fung; x0=0,1; options=; x,options=c

15、onstr(fun,x0,options) fval=options(8)MATLAB操作基礎和環(huán)境分析例1-19 求解下面二次規(guī)劃問題 程序如下: H=1 -1;-1 2; f=-2;-6; A=1 1;-1 2;2 1; b=2;2;3; lb=zeros(2,1); x,fval=quadprog(H,f,A,b,lb)MATLAB操作基礎和環(huán)境分析例1-20 求下列函數(shù)的最大值最小化問題首先建立目標函數(shù)文件:function f=myfun(x) f(1)=2*x(1)2+x(2)2-48*x(1)-40*x(2)+304; f(2)=-x(1)2-3*x(2)2; f(3)=x(1)

16、+3*x(2)-18; f(4)=-x(1)-x(2); f(5)=x(1)+x(2)-8; 在命令窗口中輸入: x0=0.1,0.1; x,fval=fminimax(myfun,x0) MATLAB操作基礎和環(huán)境分析 1.2 MATLAB的運行環(huán)境與安裝1.2.1 MATLAB的運行環(huán)境硬件環(huán)境:(1) CPU (2) 內(nèi)存(3) 硬盤(4) CD-ROM驅(qū)動器和鼠標。軟件環(huán)境:(1) Windows 98/NT/2000 或Windows XP(2) 其他軟件根據(jù)需要選用MATLAB操作基礎和環(huán)境分析1.2.2 MATLAB的安裝安裝MATLAB 系統(tǒng),需運行系統(tǒng)自帶的安裝程序,可以按照

17、安裝提示依次操作。MATLAB操作基礎和環(huán)境分析1.3 MATLAB集成環(huán)境1.3.1 啟動與退出MATLAB集成環(huán)境1MATLAB系統(tǒng)的啟動 (1)使用Windows“開始”菜單。(2)運行MATLAB系統(tǒng)啟動程序。(3) 利用快捷方式。MATLAB操作基礎和環(huán)境分析啟動MATLAB后,將進入MATLAB 集成環(huán)境。MATLAB 集成環(huán)境包括MATLAB主窗口、命令窗口(Command Window)、工作空間窗口(Workspace)、命令歷史窗口(Command History)、當前目錄窗口(Current Directory)和啟動平臺窗口(Launch Pad)。MATLAB操作基

18、礎和環(huán)境分析 當MATLAB安裝完畢并首次啟動時,展現(xiàn)在屏幕上的界面為MATLAB的默認界面,如右圖所示。MATLAB操作基礎和環(huán)境分析2MATLAB系統(tǒng)的退出 (1) 在MATLAB主窗口File菜單中選擇Exit MATLAB命令。(2) 在MATLAB命令窗口輸入Exit或Quit命令。(3) 單擊MATLAB主窗口的“關閉”按鈕。MATLAB操作基礎和環(huán)境分析1.3.2 主窗口MATLAB主窗口是MATLAB的主要工作界面。主窗口除了嵌入一些子窗口外,還主要包括菜單欄和工具欄。1菜單欄在主窗口的菜單欄,共包含F(xiàn)ile、Edit、View、Web、Window和Help 6個菜單項。MA

19、TLAB操作基礎和環(huán)境分析 (1) File菜單項:File菜單項實現(xiàn)有關文件的操作。(2) Edit菜單項:Edit菜單項用于命令窗口的編輯操作。(3) View菜單項:View菜單項用于設置MATLAB集成環(huán)境的顯示方式。MATLAB操作基礎和環(huán)境分析 (4) Web菜單項:Web菜單項用于設置MATLAB的Web操作。(5) Window菜單項:主窗口菜單欄上的Window菜單,只包含一個子菜單Close all,用于關閉所有打開的編輯器窗口,包括M-file、Figure、Model和GUI窗口。(6) Help菜單項:Help菜單項用于提供幫助信息。MATLAB操作基礎和環(huán)境分析2工

20、具欄主窗口的工具欄共提供了10個命令按鈕。這些命令按鈕均有對應的菜單命令,但比菜單命令使用起來更快捷、方便。MATLAB操作基礎和環(huán)境分析1.3.3 命令窗口1. 命令編輯區(qū)的作用 命令編輯區(qū)用于輸入命令并顯示除圖形以外的所有執(zhí)行結果。2. 命令行的輸入規(guī)則: MATLAB命令窗口中的“”為命令提示符,表示MATLAB正在處于準備狀態(tài)。在命令提示符后鍵入命令并按下回車鍵后,MATLAB就會解釋執(zhí)行.一個命令行輸入一條命令,命令行以回車結束。一個命令行也可以輸入若干條命令,各命令之間以逗號分隔,若前一命令后帶有分號,則逗號可以省略。如: p=15,m=35或p=15;m=35MATLAB操作基礎

21、和環(huán)境分析如果一個命令行很長,一個物理行之內(nèi)寫不下,可以在第一個物理行之后加上3個小黑點并按下回車鍵,然后接著下一個物理行繼續(xù)寫命令的其他部分。3個小黑點稱為續(xù)行符,即把下面的物理行看作該行的邏輯繼續(xù)。在MATLAB里,有很多的控制鍵和方向鍵可用于命令行的編輯。MATLAB操作基礎和環(huán)境分析1.3.4 工作空間窗口工作空間是MATLAB用于存儲各種變量和結果的內(nèi)存空間。在該窗口中顯示工作空間中所有變量的名稱、大小、字節(jié)數(shù)和變量類型說明,可對變量進行觀察、編輯、保存和刪除。MATLAB操作基礎和環(huán)境分析1.3.5 當前目錄窗口和搜索路徑1當前目錄窗口當前目錄是指MATLAB運行文件時的工作目錄,

22、只有在當前目錄或搜索路徑下的文件、函數(shù)可以被運行或調(diào)用。在當前目錄窗口中可以顯示或改變當前目錄,還可以顯示當前目錄下的文件并提供搜索功能。將用戶目錄設置成當前目錄也可使用cd命令。例如,將用戶目錄c:mydir設置為當前目錄,可在命令窗口輸入命令:cd c:mydirMATLAB操作基礎和環(huán)境分析2MATLAB的搜索路徑當用戶在MATLAB命令窗口輸入一條命令后,MATLAB按照一定次序?qū)ふ蚁嚓P的文件。基本的搜索過程是:(1) 檢查該命令是不是一個變量。(2) 檢查該命令是不是一個內(nèi)部函數(shù)。(3) 檢查該命令是否當前目錄下的M文件。(4) 檢查該命令是否MATLAB搜索路徑中其他目錄下的M文件

23、。MATLAB操作基礎和環(huán)境分析用戶可以將自己的工作目錄列入MATLAB搜索路徑,從而將用戶目錄納入MATLAB系統(tǒng)統(tǒng)一管理。設置搜索路徑的方法有: (1) 用path命令設置搜索路徑。例如,將用戶目錄c:mydir加到搜索路徑下,可在命令窗口輸入命令:path(path,c:mydir)MATLAB操作基礎和環(huán)境分析(2) 用對話框設置搜索路徑 在MATLAB的File菜單中選Set Path命令或在命令窗口執(zhí)行pathtool命令,將出現(xiàn)搜索路徑設置對話框。通過Add Folder或Add with Subfolder命令按鈕將指定路徑添加到搜索路徑列表中。在修改完搜索路徑后,則需要保存搜

24、索路徑。MATLAB操作基礎和環(huán)境分析1.3.6 命令歷史記錄窗口在默認設置下,歷史記錄窗口中會自動保留自安裝起所有用過的命令的歷史記錄,并且還標明了使用時間,從而方便用戶查詢。而且,通過雙擊命令可進行歷史命令的再運行。如果要清除這些歷史記錄,可以選擇Edit菜單中的Clear Command History命令。MATLAB操作基礎和環(huán)境分析1.3.7 啟動平臺窗口和Start按鈕的啟動平臺窗口可以幫助用戶方便地打開和調(diào)用MATLAB的各種程序、函數(shù)和幫助文件。主窗口左下角還有一個Start按鈕,單擊該按鈕會彈出一個菜單,選擇其中的命令可以執(zhí)行MATLAB產(chǎn)品的各種工具,并且可以查閱MATL

25、AB包含的各種資源。MATLAB操作基礎和環(huán)境分析 1.4 MATLAB幫助系統(tǒng)1.4.1 幫助窗口(1) 單擊MATLAB主窗口工具欄中的Help按鈕。(2) 在命令窗口中輸入helpwin、helpdesk或doc。(3) 選擇Help菜單中的“MATLAB Help”選項。MATLAB操作基礎和環(huán)境分析1.4.2 幫助命令MATLAB幫助命令包括help、lookfor以及模糊查詢。1help命令在命令窗口中直接輸入help命令將會顯示當前幫助系統(tǒng)中所包含的所有項目,即搜索路徑中所有的目錄名稱。同樣,可以通過help加函數(shù)名來顯示該函數(shù)的幫助說明。MATLAB操作基礎和環(huán)境分析2look

26、for命令help命令只搜索出那些關鍵字完全匹配的結果,lookfor命令對搜索范圍內(nèi)的M文件進行關鍵字搜索,條件比較寬松。lookfor命令只對M文件的第一行進行關鍵字搜索。若在lookfor命令加上-all選項,則可對M文件進行全文搜索。MATLAB操作基礎和環(huán)境分析3模糊查詢以上的版本提供了一種類似模糊查詢的命令查詢方法,用戶只需要輸入命令的前幾個字母,然后按Tab鍵,系統(tǒng)就會列出所有以這幾個字母開頭的命令。MATLAB操作基礎和環(huán)境分析1.4.3 演示系統(tǒng)在幫助窗口中選擇演示系統(tǒng)(Demos)選項卡,然后在其中選擇相應的演示模塊,或者在命令窗口輸入Demos,或者選擇主窗口Help菜單

27、中的Demos子菜單,打開演示系統(tǒng)。MATLAB操作基礎和環(huán)境分析1.4.4 遠程幫助系統(tǒng)在MathWorks公司主頁 :/ mathworks 部分國內(nèi)相關網(wǎng)站: (1)工具箱的應用 (2)震動論壇 MATLAB操作基礎和環(huán)境分析第2章 MATLAB矩陣及其運算2.1 變量和數(shù)據(jù)操作2.2 MATLAB矩陣2.3 MATLAB運算2.4 矩陣分析2.5 矩陣的超越函數(shù)2.6 字符串2.7 結構數(shù)據(jù)和單元數(shù)據(jù)2.8 稀疏矩陣MATLAB操作基礎和環(huán)境分析2.1 變量和數(shù)據(jù)操作2.1.1 變量與賦值1變量命名在中,變量名是以字母開頭,后接字母、數(shù)字或下劃線的字符序列,最多63個字符。在MATLA

28、B中,變量名區(qū)分字母的大小寫。變量名和文檔名都不要以數(shù)字開頭!MATLAB操作基礎和環(huán)境分析2賦值語句(1) 變量=表達式(指定結果變量) (2) 表達式 (不指定結果變量)其中表達式是用運算符將有關運算量連接起來的式子,其結果是一個矩陣。如果不指定結果變量,則將計算結果賦值給ans變量,當有新的結果需要存入ans時,將覆蓋掉已經(jīng)保存的結果。MATLAB操作基礎和環(huán)境分析例2-1 計算表達式的值,并顯示計算結果。在MATLAB命令窗口輸入命令:x=1+2i;y=3-sqrt(17);z=(cos(abs(x+y)-sin(78*pi/180)/(x+abs(y)其中pi和i都是MATLAB預先

29、定義的變量,分別代表代表圓周率和虛數(shù)單位。輸出結果是:MATLAB操作基礎和環(huán)境分析 2.1.2 預定義變量在MATLAB工作空間中,還駐留幾個由系統(tǒng)本身定義的變量。例如,用pi表示圓周率的近似值,用i,j表示虛數(shù)單位,用inf表示無窮大。預定義變量有特定的含義,在使用時,應盡量避免對這些變量重新賦值。MATLAB操作基礎和環(huán)境分析2.1.3 內(nèi)存變量的管理1內(nèi)存變量的刪除與修改MATLAB工作空間窗口專門用于內(nèi)存變量的管理。在工作空間窗口中可以顯示所有內(nèi)存變量的屬性。當選中某些變量后,再單擊Delete按鈕,就能刪除這些變量。當選中某些變量后,再單擊Open按鈕,將進入變量編輯器。通過變量編

30、輯器可以直接觀察變量中的具體元素,也可修改變量中的具體元素。MATLAB操作基礎和環(huán)境分析 clear命令用于刪除MATLAB工作空間中的變量。who和whos這兩個命令用于顯示在MATLAB工作空間中已經(jīng)駐留的變量名清單。who命令只顯示出駐留變量的名稱,whos在給出變量名的同時,還給出它們的大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等信息。MATLAB操作基礎和環(huán)境分析2內(nèi)存變量文件利用MAT文件可以把當前MATLAB工作空間中的一些有用變量長久地保留下來,擴展名是.mat。MAT文件的生成和裝入由save和load命令來完成。常用格式為:save 文件名 變量名表 -append-asciiload

31、文件名 變量名表 -asciiMATLAB操作基礎和環(huán)境分析 其中,文件名可以帶路徑,但不需帶擴展名.mat,命令隱含一定對.mat文件進行操作。變量名表中的變量個數(shù)不限,只要內(nèi)存或文件中存在即可,變量名之間以空格分隔。當變量名表省略時,保存或裝入全部變量。-ascii選項使文件以ASCII格式處理,省略該選項時文件將以二進制格式處理。save命令中的-append選項控制將變量追加到MAT文件中。MATLAB操作基礎和環(huán)境分析2.1.4 MATLAB常用數(shù)學函數(shù)MATLAB提供了許多數(shù)學函數(shù),函數(shù)的自變量規(guī)定為矩陣變量,運算法則是將函數(shù)逐項作用于矩陣的元素上,因而運算的結果是一個與自變量同維

32、數(shù)的矩陣。函數(shù)使用說明:(1) 三角函數(shù)以弧度為單位計算。(2) abs函數(shù)可以求實數(shù)的絕對值、復數(shù)的模、字符串的ASCII碼值。(3) 用于取整的函數(shù)有fix、floor、ceil、round,要注意它們的區(qū)別。(4) rem與mod函數(shù)的區(qū)別。rem(x,y)和mod(x,y)要求x,y必須為相同大小的實矩陣或為標量。向零取整向下取整向上取整四舍五入取整MATLAB操作基礎和環(huán)境分析2.1.5 數(shù)據(jù)的輸出格式 MATLAB用十進制數(shù)表示一個常數(shù),具體可采用日常記數(shù)法和科學記數(shù)法兩種表示方法。 在一般情況下,MATLAB內(nèi)部每一個數(shù)據(jù)元素都是用雙精度數(shù)來表示和存儲的。數(shù)據(jù)輸出時用戶可以用fo

33、rmat命令設置或改變數(shù)據(jù)輸出格式。format命令的格式為: format 格式符其中格式符決定數(shù)據(jù)的輸出格式格式符屬性值有:long,short,short e,long e,short g,long g,rat,compact,loose,bank等MATLAB操作基礎和環(huán)境分析2.2 MATLAB矩陣2.2.1 矩陣的建立1直接輸入法 最簡單的建立矩陣方法是從鍵盤直接輸入矩陣的元素。具體方法如下:將矩陣的元素用方括號括起來,按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號分隔,不同行的元素之間用分號分隔。逗號與分號用法的區(qū)別:1)輸入矩陣時,逗號或空格用于分割同行元素;分號用于

34、換行,用于分割不同行元素;2)用于命令結尾時,使用逗號或不使用任何符號時,運行命令且顯示結果;使用分號時,只運行命令但不顯示結果。小括號與中括號的區(qū)別:1)小括號用于函數(shù)的輸入,中括號用于矩陣的輸入及函數(shù)的輸出;2)數(shù)學運算優(yōu)先級的限定都使用小括號。MATLAB操作基礎和環(huán)境分析利用矩陣編輯器建立矩陣 對于較大矩陣,在command window中輸入變量名 ,在工作間workspace中找到該變量名并雙擊即可打開矩陣編輯器,在其中輸入或改變元素。(易檢驗對齊與否)3利用M文件建立矩陣 對于比較大且比較復雜的矩陣,可以為它專門建立一個M文件。下面通過一個簡單例子來說明如何利用M文件創(chuàng)建矩陣。M

35、ATLAB操作基礎和環(huán)境分析 例2-2 利用M文件建立MYMAT矩陣。(1) 啟動有關編輯程序或MATLAB文本編輯器,并輸入待建矩陣: (2) 把輸入的內(nèi)容以純文本方式存盤(設文件名為mymatrix.m)。 (3) 在MATLAB命令窗口中輸入mymatrix,即運行該M文件,就會自動建立一個名為MYMAT的矩陣,可供以后使用。MATLAB操作基礎和環(huán)境分析 4利用冒號表達式建立一個向量 冒號表達式可以產(chǎn)生一個行向量,一般格式是: e1:e2:e3其中e1為初始值,e2為步長,e3為終止值。 ( e1,e2,e3均可以為正數(shù)、負數(shù)、小數(shù) )在MATLAB中,還可以用linspace函數(shù)產(chǎn)生

36、行向量。其調(diào)用格式為:linspace(a,b,n)其中a和b是生成向量的第一個和最后一個元素,n是元素總數(shù)。顯然,linspace(a,b,n)與a:(b-a)/(n-1):b等價。5建立大矩陣大矩陣可由方括號中的小矩陣或向量建立起來。MATLAB操作基礎和環(huán)境分析2.2.2 矩陣的拆分1矩陣元素 通過下標引用矩陣的元素,例如A(3,2)=200采用矩陣元素的序號來引用矩陣元素。矩陣元素的序號就是相應元素在內(nèi)存中的排列順序。在MATLAB中,矩陣元素按列存儲,先第一列,再第二列,依次類推。例如A=1,2,3;4,5,6;A(3)ans = 2顯然,序號(Index)與下標(Subscript

37、 )是一一對應的,以mn矩陣A為例,矩陣元素A(i,j)的序號為(j-1)*m+i。其相互轉(zhuǎn)換關系也可利用sub2ind和ind2sub函數(shù)求得。MATLAB操作基礎和環(huán)境分析2矩陣拆分 (1) 利用冒號表達式獲得子矩陣 A(:,j)表示取A矩陣的第j列全部元素;A(i,:)表示A矩陣第i行的全部元素;A(i,j)表示取A矩陣第i行、第j列的元素。 A(i:i+m,:)表示取A矩陣第ii+m行的全部元素;A(:,k:k+m)表示取A矩陣第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩陣第ii+m行內(nèi),并在第kk+m列中的所有元素。此外,還可利用一般向量和end運算符來表示矩陣下標

38、,從而獲得子矩陣。end表示某一維的末尾元素下標。MATLAB操作基礎和環(huán)境分析 (2) 利用空矩陣刪除矩陣的元素 在MATLAB中,定義 為空矩陣。給變量X賦空矩陣的語句為X= 。注意,X= 與clear X不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為0。MATLAB操作基礎和環(huán)境分析2.2.3 特殊矩陣1通用的特殊矩陣常用的產(chǎn)生通用特殊矩陣的函數(shù)有:zeros:產(chǎn)生全0矩陣(零矩陣)。ones:產(chǎn)生全1矩陣(幺矩陣)。eye:產(chǎn)生單位矩陣。rand:產(chǎn)生01間均勻分布的隨機矩陣。randn:產(chǎn)生均值為0,方差為1的標準正態(tài)分布隨機矩陣。MATLAB操作基礎

39、和環(huán)境分析例2-3 分別建立33、32和與矩陣A同樣大小的零矩陣。(1) 建立一個33零矩陣。zeros(3) (2) 建立一個32零矩陣。zeros(3,2) (3) 設A為23矩陣,則可以用zeros(size(A)建立一個與矩陣A同樣大小零矩陣。A=1 2 3;4 5 6; %產(chǎn)生一個23階矩陣Azeros(size(A) %產(chǎn)生一個與矩陣A同樣大小的零矩陣MATLAB操作基礎和環(huán)境分析例2-4 建立隨機矩陣:(1) 在區(qū)間20,50內(nèi)均勻分布的5階隨機矩陣。(2) 均值為、方差為的5階正態(tài)分布隨機矩陣。命令如下:x=20+(50-20)*rand(5)y=0.6+sqrt(0.1)*r

40、andn(5)此外,常用的函數(shù)還有reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩陣A重新排成mn的二維矩陣。MATLAB操作基礎和環(huán)境分析2用于專門學科的特殊矩陣 (1) 魔方矩陣魔方矩陣有一個有趣的性質(zhì),其每行、每列及兩條對角線上的元素和都相等。對于n階魔方陣,其元素由1,2,3,n2共n2個整數(shù)組成。MATLAB提供了求魔方矩陣的函數(shù)magic(n),其功能是生成一個n階魔方陣。 例2-5 將101125等25個數(shù)填入一個5行5列的表格中,使其每行每列及對角線的和均為565。M=100+magic(5)MATLAB操作基礎和環(huán)境分析 (2) 范得蒙矩陣范得蒙(Vande

41、rmonde)矩陣最后一列全為1,倒數(shù)第二列為一個指定的向量,其他各列是其后列與倒數(shù)第二列的點乘積??梢杂靡粋€指定向量生成一個范得蒙矩陣。在MATLAB中,函數(shù)vander(V)生成以向量V為基礎向量的范得蒙矩陣。例如,A=vander(1;2;3;5)即可得到上述范得蒙矩陣。MATLAB操作基礎和環(huán)境分析(3) 希爾伯特矩陣在MATLAB中,生成希爾伯特矩陣的函數(shù)是hilb(n)。使用一般方法求逆會因為原始數(shù)據(jù)的微小擾動而產(chǎn)生不可靠的計算結果。MATLAB中,有一個專門求希爾伯特矩陣的逆的函數(shù)invhilb(n),其功能是求n階的希爾伯特矩陣的逆矩陣。MATLAB操作基礎和環(huán)境分析例2-6

42、求4階希爾伯特矩陣及其逆矩陣。命令如下:format rat %以有理形式輸出H=hilb(4)H=invhilb(4)MATLAB操作基礎和環(huán)境分析 (4) 托普利茲矩陣托普利茲(Toeplitz)矩陣除第一行第一列外,其他每個元素都與左上角的元素相同。生成托普利茲矩陣的函數(shù)是toeplitz(x,y),它生成一個以x為第一列,y為第一行的托普利茲矩陣。這里x, y均為向量,兩者不必等長。toeplitz(x)用向量x生成一個對稱的托普利茲矩陣。例如T=toeplitz(1:6)MATLAB操作基礎和環(huán)境分析 (5) 伴隨矩陣MATLAB生成伴隨矩陣的函數(shù)是compan(p),其中p是一個多

43、項式的系數(shù)向量,高次冪系數(shù)排在前,低次冪排在后。例如,為了求多項式的x3-7x+6的伴隨矩陣,可使用命令:p=1,0,-7,6;compan(p)MATLAB操作基礎和環(huán)境分析 (6) 帕斯卡矩陣我們知道,二次項 展開后的系數(shù)隨n的增大組成一個三角形表,稱為楊輝三角形。由楊輝三角形表組成的矩陣稱為帕斯卡(Pascal)矩陣。函數(shù)pascal(n)生成一個n階帕斯卡矩陣。MATLAB操作基礎和環(huán)境分析例2-7 求(x+y)5的展開式。在MATLAB命令窗口,輸入命令:pascal(6)矩陣次對角線上的元素1,5,10,10,5,1即為展開式的系數(shù)。MATLAB操作基礎和環(huán)境分析 2.3 MATL

44、AB運算 算術運算1基本算術運算 MATLAB的基本算術運算有:(加)、(減)、*(乘)、/(右除)、(左除)、(乘方)。注意,運算是在矩陣意義下進行的,單個數(shù)據(jù)的算術運算只是一種特例。MATLAB操作基礎和環(huán)境分析 (1) 矩陣加減運算 假定有兩個矩陣A和B,則可以由A+B和A-B實現(xiàn)矩陣的加減運算。運算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運算,A和B矩陣的相應元素相加減。如果A與B的維數(shù)不相同,則MATLAB將給出錯誤信息,提示用戶兩個矩陣的維數(shù)不匹配。MATLAB操作基礎和環(huán)境分析 (2) 矩陣乘法 假定有兩個矩陣A和B,若A為mn矩陣,B為np矩陣,則C=A*B為mp矩

45、陣。MATLAB操作基礎和環(huán)境分析 (3) 矩陣除法在MATLAB中,有兩種矩陣除法運算:和/,分別表示左除和右除。如果A矩陣是非奇異方陣,則AB和B/A運算可以實現(xiàn)。AB等效于A的逆左乘B矩陣,也就是inv(A)*B,而B/A等效于A矩陣的逆右乘B矩陣,也就是B*inv(A)。對于含有標量的運算,兩種除法運算的結果相同,如3/4和43有相同的值,都等于。又如,設a=10.5,25,則a/5=5a=2.1000 5.0000。對于矩陣來說,左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關系。對于矩陣運算,一般ABB/A。MATLAB操作基礎和環(huán)境分析 (4) 矩陣的乘方 一個矩陣的乘方運算可以

46、表示成Ax,要求A為方陣,x為標量。2點運算 在MATLAB中,有一種特殊的運算,因為其運算符是在有關算術運算符前面加點,所以叫點運算。點運算符有.*、./、.和.。兩矩陣進行點運算是指它們的對應元素進行相關運算,要求兩矩陣的維參數(shù)相同。MATLAB操作基礎和環(huán)境分析2.3.2 關系運算 MATLAB提供了6種關系運算符:(小于)、(大于)、=(大于或等于)、=(等于)、=(不等于)。它們的含義不難理解,但要注意其書寫方法與數(shù)學中的不等式符號不盡相同。MATLAB操作基礎和環(huán)境分析 關系運算符的運算法則為: (1) 當兩個比較量是標量時,直接比較兩數(shù)的大小。若關系成立,關系表達式結果為1,否則

47、為0。 (2) 當參與比較的量是兩個維數(shù)相同的矩陣時,比較是對兩矩陣相同位置的元素按標量關系運算規(guī)則逐個進行,并給出元素比較結果。最終的關系運算的結果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。MATLAB操作基礎和環(huán)境分析 (3) 當參與比較的一個是標量,而另一個是矩陣時,則把標量與矩陣的每一個元素按標量關系運算規(guī)則逐個比較,并給出元素比較結果。最終的關系運算的結果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。MATLAB操作基礎和環(huán)境分析 例2-8 產(chǎn)生5階隨機方陣A,其元素為10,90區(qū)間的隨機整數(shù),然后判斷A的元素是否能被3整除。 (1) 生成5階隨機方陣A。A=fix(

48、90-10+1)*rand(5)+10) (2) 判斷A的元素是否可以被3整除。 P=rem(A,3)=0其中,rem(A,3)是矩陣A的每個元素除以3的余數(shù)矩陣。此時,0被擴展為與A同維數(shù)的零矩陣,P是進行等于(=)比較的結果矩陣。MATLAB操作基礎和環(huán)境分析2.3.3 邏輯運算 MATLAB提供了3種邏輯運算符:&(與)、|(或)和(非)。 邏輯運算的運算法則為: (1) 在邏輯運算中,確認非零元素為真,用1表示,零元素為假,用0表示。 (2) 設參與邏輯運算的是兩個標量a和b,那么, a&b a,b全為非零時,運算結果為1,否則為0。 a|b a,b中只要有一個非零,運算結果為1。 a

49、 當a是零時,運算結果為1;當a非零時,運算結果為0。MATLAB操作基礎和環(huán)境分析 (3) 若參與邏輯運算的是兩個同維矩陣,那么運算將對矩陣相同位置上的元素按標量規(guī)則逐個進行。最終運算結果是一個與原矩陣同維的矩陣,其元素由1或0組成。 (4) 若參與邏輯運算的一個是標量,一個是矩陣,那么運算將在標量與矩陣中的每個元素之間按標量規(guī)則逐個進行。最終運算結果是一個與矩陣同維的矩陣,其元素由1或0組成。MATLAB操作基礎和環(huán)境分析 (5) 邏輯非是單目運算符,也服從矩陣運算規(guī)則。(6) 在算術、關系、邏輯運算中,算術運算優(yōu)先級最高,邏輯運算優(yōu)先級最低。 例2-9 建立矩陣A,然后找出大于4的元素的

50、位置。(1) 建立矩陣A。A=4,-65,-54,0,6;56,0,67,-45,0(2) 找出大于4的元素的位置。find(A4)MATLAB操作基礎和環(huán)境分析2.4 矩陣分析2.4.1 對角陣與三角陣1對角陣只有對角線上有非0元素的矩陣稱為對角矩陣,對角線上的元素相等的對角矩陣稱為數(shù)量矩陣,對角線上的元素都為1的對角矩陣稱為單位矩陣。MATLAB操作基礎和環(huán)境分析 (1) 提取矩陣的對角線元素設A為mn矩陣,diag(A)函數(shù)用于提取矩陣A主對角線元素,產(chǎn)生一個具有min(m,n)個元素的列向量。diag(A)函數(shù)還有一種形式diag(A,k),其功能是提取第k條對角線的元素。(2) 構造對角矩陣設V為具有m個元素的向量,diag(V)將產(chǎn)生一個mm對角矩陣,其主對角線元素即為向量V的元素。diag(V)函數(shù)也有另一種形式diag(V,k),其功能是產(chǎn)生一個nn(n=m+)對角陣,其第k條對角線的元素即為向量V的元素。MATLAB操作基礎和環(huán)境分析例2-10 先建立55矩陣A,然后將A的第一行元素乘以1,第二行乘以2,第五行乘以5。A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;.11,18,25,2,19;D=diag(1:5);D*A

溫馨提示

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

評論

0/150

提交評論