matlab環(huán)境及基本操作1_第1頁
matlab環(huán)境及基本操作1_第2頁
matlab環(huán)境及基本操作1_第3頁
matlab環(huán)境及基本操作1_第4頁
matlab環(huán)境及基本操作1_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

/實驗1Matlb工具熟悉實驗目的:1.熟悉Matlab環(huán)境,掌握Matlab的主要窗口與功能;2.學會Matlab的幫助使用;3.掌握向量、矩陣的定義、生成方法和基本運算;4.掌握Matlab的基本符號運算;5.掌握Matlab中的二維圖形的繪制和控制。實驗內容:1.啟動Matlab,說明主窗口、命令窗口、當前目錄窗口、工作空間窗口、歷史窗口、圖形窗口、M文件編輯器窗口的功能。2.實例操作Matlab的幫助使用。3.實例操作向量、矩陣的定義、生成方法和基本運算。4.實例操作Matlab的基本符號運算。5.實例操作Matlab中的二維圖形繪制和控制。實驗儀器與軟件:1.CPU主頻在2GHz以上,內存在512Mb以上的PC;2.Matlab7與以上版本。一、Matlab環(huán)境與主要窗口的功能運行Matlab安裝目錄下的matlab.exe文件可啟動Matlab環(huán)境,其默認布局如下圖:其中,1.主窗口的功能是:主窗口不能進行任何計算任務操作,只用來進行一些整體的環(huán)境參數設置,它主要對6個下拉菜單的各項和10個按鈕逐一解脫。2.命令窗口的功能是:對MATLAB搜索路徑中的每一個M文件的注釋區(qū)的第一行進行掃描,一旦發(fā)現此行中含有所查詢的字符串,則將該函數名與第一行注釋全部顯示在屏幕上。3.歷史窗口的功能是:歷史窗口顯示命令窗口中的所有執(zhí)行過的命令,一方面可以查看曾經執(zhí)行過的命令,另一方面也可以重復利用原來輸入的命令行,可以從命令窗口中直接通過雙擊某個命令行來執(zhí)行該命令,4.當前目錄窗口的功能是:顯示當前目錄下所有文件的文件名、文件類型、和最后修改的時間,同時還提供搜索功能,在該窗口下,可以改變當前目錄5.M文件編輯器窗口的功能是:MATLAN提供了一個內置既有編輯和調試功能好的程序編輯器;編輯器窗口也有菜單和工具欄,是編輯和調試程序非常方便6..發(fā)行說明窗口功能是:該窗口顯示MATLAB總包和已安裝的工具箱的幫助、演示、GUI工具和產品主頁等4個內容。7.工作空間窗口的功能是:該窗口顯示所有目前內存中MATLAB變量的變量名、數字結構、字節(jié)數以與類型,不同的變量類型分別對應不同的變量名圖標8.圖形窗口的功能是:利用圖形窗口和工具欄中的選項,可以對圖形進行線性、顏色、標記三維視圖、光照和坐標軸等的設置9.GUI(GraphacalUserInterface)窗口功能是:二、Matlab的幫助使用Matlab提供的聯機幫助系統(tǒng)使用戶在沒有任何資料的情況下就能掌握它的使用和基本操作,作為Matlab的用戶應熟練掌握其聯機幫助系統(tǒng)的使用,下面是Matlab聯機幫助系統(tǒng)的使用方法。通過命令窗口中直接輸入help命令將會顯示當前幫助系統(tǒng)只能怪包含的所有項目help三、向量的定義、生成和基本運算1:向量的生成a:逐個元素直接輸入,向量元素需要用“[]”括起來,元素之間可以用空格、逗號或分號分隔。用空格和逗號分隔生成的行向量用分號分隔生成列向量.例如:h=[345678]f=[3;4;5;6;7;8]b:利用冒號表達式創(chuàng)建通過設定“步長(step)”生成一維行向量,通過格式為:x=x0:step:xn。x0表達向量的首元素值,xn表示尾元素數值限,step表示從第二個元素開始,每一個元素與前一個元素的差值。step=1時,可以省略此項的輸入,直接寫成x=x0:xn。例:y=0:10:100x=0:100c:定數線性采樣生成設定總點數n下,均勻采樣生成一維行向量。通用格式為x=linspace(a,b,n)。a,b分別是生成向量的第一個和最后一個元素,n是采樣總點數。該指令生成的數組相當于由a:(a-b)/(n-1):b生成的數組。缺省n時,生成100維的行向量。clear%清除工空間中的所有變量x=linspace(6,66,8)y=6:60/7:66z=linspace(6,66)d:定數對數采樣生成向量設定總點數n下,經“常用對數”均勻采樣生成一維行向量。通用格式為x=logspace(a,b,n)。生成數組的第一個元素值為10a,最后一個元素值為10b,n為采樣總點數,缺省時,生成50維的行向量。例如:clear%清除工作空間的所有變量x=logspace(1,8,8)y=1:7/7:8xx=10.^yz=logspace(1,8)2:向量元素的引用格式為:向量名(下標范圍或元素所滿足的條件)。例:clearrand('state',0)%把均勻分布偽隨機發(fā)生器置為初始狀態(tài)x=rand(1,8)%產生(1×8)的均勻分布隨機數組x(7)%引用數組x的第7個元素y=x([125])%引用數組x的第一、二、五個元素z=x(1:3)%引用數組x的前三個元素w=x(3:end)%引用數組x的從第三個元素以后的元素v=x(3:-1:1)%由數組x的前3個元素倒排構成的了數組u=x(find(x>0.5))%數組x中大于0.5的元素構成的子數組t=x([12344321])%重復引用數組3:向量與標量、向量與向量的運算①四則運算符號有(+-*/\.*./.\)a:標量a與向量x進行四則運算是a分別與x中的每個元素進行四則運算并生一個與x等長的向量。例如clearx=[4567891011]y=3*x+3z=x/2-1p=4\xb:等長的兩個向量才能進行四則運算,向量x與y進行四則運算是這兩個向量的對應元素分別進行四則運算并生成一個與它們等長的向量。例如clearx=[123456]y=x*2z=x+yw=x.*yn=x./yd=x.\y②冪運算(.^)a:向量x與標量a的冪運算是對x的每一個元素施行冪運算,例如clearx=[123456]y=x.^3z=3.^yb:向量x與向量y的冪運算是元素對元素的冪運算。例如:clearx=[123456]y=x*2z=x.^yb=y.^x③指數運算、對數運算與開方運算等在MATLAB中,數組的運算實質上是數組內部每個元素的運算,因此,數組的指數運算、對數運算與開方運算等與標量運算完全一樣,運算函數分別為“exp”、“l(fā)og”、“sqrt”等。例如:clearx=[35791113]y=exp(x)z=log(x)t=sqrt(x)四、矩陣的定義、生成和基本運算1.矩陣的創(chuàng)建①a:逐個元素直接輸入把矩陣元素需用“[]”括起來,同行元素之間用空格或逗號分隔,行與行之間用分號或回車符分隔矩陣元素可為運算表達式,無任何元素的矩陣稱為空矩陣。例如x=[123;456;789]y=[1,2,3;4,5,6;7,8,9]k=[sin(pi/7),cos(pi/4)]T=[]②編寫M文件創(chuàng)建大矩陣對于大型矩陣,可通過編寫腳本式M文件,然后運行該文件來創(chuàng)建。例如:編寫一名為Example10.m的M文件,內容如下。%Example10.m%編寫一M文件創(chuàng)建矩陣的示例文件。emn=[4563442245636;0976658645;2950512436;143854259178;45954145245233]ans=1/2*k^2-1/2*kans=1/2*a^2*x^4+1/2*a*x^2ans=1/6*pi^2③通過函數創(chuàng)建特殊矩陣%Example.m%編寫一M文件,通過函數創(chuàng)建特殊矩陣的示例文件。%由函數zeros創(chuàng)建全0矩陣。N=4;M=3;A=[12345;23561;44425];B1=zeros(M,N)%生成M×N階全0陣。C1=zeros(size(A))%生成與A同階的全0陣。A2=ones(N)%生成N×N階全1陣。B2=ones(M,N)%生成M×N階全1陣。C2=ones(size(A))%生成與A同階的全1陣。%由函數eye創(chuàng)建單位矩陣。A2=eye(N)%生成N×N階單位矩陣C2=eye(size(A))%生成與A同階單位矩陣。%由函數rand或randn創(chuàng)建隨機矩陣。A3=rand(N)%生成N×N階均勻分布的隨機陣,元素值在(0.0,1.0)區(qū)間內。B3=rand(M,N)%生成M×N階均勻分布的隨機陣。C3=rand(size(A))%生成與A同階階均勻分布的隨機陣。H=hilb(N)%生成N×N階Hilbert矩陣。2.矩陣元素的引用①相對位置引用格式:變量名(行標,列標)②絕對位置引用格式:變量名(絕對位置索引)clearrand('state',0)A=rand(5,3)A(4)%引用距陣A的第四個元素A(2,3)%引用矩陣A的第二行第三列元素3.矩陣元素的抽?、俪槿⌒衏learrand('state',0)A=rand(5,6)A(4,:)%抽取矩陣A的第四行A([23],:)%抽取矩陣A的第二行和第三行B=A([33],:)%抽取矩陣A的第三行和第三行賦值給BC=A(3:end,:)%抽取矩陣A的第三行至最后一行賦值給B②抽取列clearrand('state',0)A=rand(5,6)A(:,3)%抽取矩陣A的第三列A(:,[13])%抽取矩陣A的第一列和第三列B=A(:,[31])%抽取矩陣A的第三列和第一列賦值給B③抽取塊clearrand('state',0)A=rand(3,4)B=A([12],[23])%抽取矩陣A的第一、二行與第二、三列交叉的元素賦值給B④抽取矩陣對角線上的元素clearrand('state',0)A=rand(6)%產生(6×6)的均勻分布隨機數組V=diag(A)%抽取矩陣A的主對角線上的元素賦值給向量VD=diag(V)%以向量V為對角線元素生成對角矩陣D1=diag(V,2)D2=diag(V,-2)U=diag(A,1)%抽取矩陣A的主對角線上方第一條對角線的元素賦值給向量UL=diag(A,-1)%抽取矩陣A的主對角線下方第一條對角線的元素賦值給向量L⑤抽取矩陣上三角部分和下三角部分clearrand('state',0)A=rand(5)%產生(5×5)的均勻分布隨機數組U=triu(A,1)%從矩陣A的主對角線上方第一條對角線開始抽取A的上三角部分U=triu(A,-1)%從矩陣A的主對角線下方第一條對角線開始抽取A的上三角部分L1=tril(A,1)L2=tril(A,-1)4.矩陣的基本數學運算①矩陣的四則運算(+-*/\)與線性代數理論一致,其中,A\B=inv(A)*B=A^-1*B。clearA=[3230;21-46]B=[-13;41;60;79]C=A+B'D=A*BE=B/DF=D\A②矩陣與常數間的運算(+-*/\^)同線性代數理論一致,需注注的是,當進行數除時,常數通常只能做除數。clearA=[1230;21-46]C=A+2D=A*2E=A/2F=2\AG=A([12],[12])^2③矩陣的數組運算(.+.-.*./.\.^)是指同維數組間對應元素之間的加、減、乘、除和冪運算,其中“.+”和“.-”分別與“+”和“-”相同,所以,“.+”和“.-”一般不用。clearA=[7280;51-46]B=A+2C=A.*BD=A./BE=B.\AF=A.^2④矩陣的基本初等運算clearA=[1230;21-46;-1341;6079]A(2,:)=A(2,:)*2%2乘A的第二行A(1,:)=A(1,:)+A(2,:)%2乘A的第二行,加到A的第一行A([23],:)=A([32],:)%交換A的第二行和第三行⑤矩陣的逆運算clearA=[1230;21-46;-1341;6079]B=inv(A)⑥矩陣的行列式運算clearA=[1230;21-46;-1341;6079]B=det(A)⑦矩陣的指數運算clearA=[1230;21-46;-1341;6079]B=expm(A)⑧矩陣的對數運算clearA=[4232;2146;1341;6479]B=expm(A)C=logm(B)D1=logm(A)D2=log(A)⑨矩陣的開方運算clearA=[9232;2146;1341;6479]B=A^2C=sqrtm(B)B1=sqrtm(A)B2=sqrt(A)5.矩陣的一些特殊操作①變維方法:“:”和函數“reshape”。reshape(A,M,N)%將已知矩陣變維成M×N階矩陣reshape(A,M,N,p,…)%將已知矩陣變維成M×N×P×…階矩陣cleara=1:12;A=reshape(a,3,4)c=zeros(2,6);c(:)=a(:)②矩陣的變向。cleara=1:12;A=reshape(a,3,4)k=3;dim=1;A1=rot90(A);A2=rot90(A,k);A3=fliplr(A);A4=flipud(A);A5=flipdim(A,dim);②矩陣的擴展與收縮。cleara=1:12;A=reshape(a,3,4)B=eye(3,2)C=ones(2,6)D=[AB;C]%利用小矩陣的組合來生成大矩陣D(6:10,9:10)=4%利用對矩陣標識塊的賦值命令生成大矩陣D(:,3:end)=[]%將矩陣標識塊置為空以收縮矩陣五、多項式的定義、生成和基本運算 1.多項式的表示對于多項式用行向量表示,把多項式問題轉化為向量問題。2.多項式的創(chuàng)建①直接輸入系數向量由于在MATLAB中的多項式是以向量形式儲存的,因此,直接輸入多項式對應的向量,MATLAB會自動將向量元素按降冪順序分配給各項系數值,向量可以為行向量,也可以是列向量。例如:輸入多項式:p=[1-56-33];poly2sym(p)%poly2sym②通過特征多項式創(chuàng)建也就是從矩陣求其特征多項式獲得。例如:A=[123;456;789]p=poly(A)poly2sym(p)③由多項式的根創(chuàng)建多項式root=[7-3+6i-3-4i];p=poly(root)poly2sym(p)3.多項式運算①求多項式的值一般調用函數polyval進行計算,例如:p=[11155125];b=[62;0-1];polyval(p,b)②求多項式的根求多項式的根可以有兩種方法,一種是直接調用函數roots求解多項式的所有根;另一種是通過建立多項式的伴隨矩陣再求其特征值的方法得到多項式的所有根。兩種方法求得的根是相等的。例如:p=[2-56-19];roots(p)P=compan(p)eig(p)3.多項式的乘除法運算多項式的乘法由函數conv來實現,除法則由函數deconv來實現,例如:p=[2-56-19];poly2sym(p)d=[3-90-18];poly2sym(d)pd=conv(p,d)poly2sym(pd)p1=deconv(pd,d)4.多項式的微分多項式的微分由函數polyder來實現,例如:p=[2-56-19];poly2sym(p)Dp=polyder(p)poly2sym(Dp)5.多項式擬合多項式擬合的實現,一面可以由矩陣的除法求解超定方程來進行;另一方面可調用函數polyfit來實現,調用方法如下:[p,s]=polyfit(X,Y,n)其中,X、Y為擬合數據,n為擬合多項式的次,p為擬合多項式的系數向量,s為擬合多項式系數向量的結構信息,例如:x=0:pi/20:pi/2;y=sin(x);p=polyfit(x,y,5)x1=0:pi/30:pi*2;y1=sin(x1);y2=polyval(p,x1);plot(x1,y1,'b-',x1,y2,'r+')legend('原曲線','擬合曲線')axis([07-1.29])五、Matlab的基本符號運算1:符號表達式的生成⑴用引號來生成符號表達式,例如f='exp(x)';f='a*x^2+b*x+c=0';f='Dy-y=x'⑵用sym來生成符號表達式,例如f=sym('exp(x)');f=sym('a*x^2+b*x+c=0')⑶用函數syms來生成符號函數,例如symsyu;p=exp(y/u)2符號表達式的運算⑴提取分子、分母,例如f=sym('a*x^2/(b-x)')[n,d]=numden(f)3符號表達式的基本運算4符號表達式的高級運算a:符號表達式的復合函數運算通過compose來實現;例如symsxyt;f=1/x^3;g=tan(y);compose(g,f)compose(g,f,t)b:符號表達式的反函數運算通過函數finverse來實現;例如f=sym(1/sin(x));g=finverse(f)c:符號表達式的符號和運算通過函數symsum來實現;例如k=sym('k');symsum(k)symsum(k,0,n-1)symsum(1/k^2,1,inf)3符號與數值間的轉換與符號的可變精度運算a:符號表達式轉換成數值表達式p='1+sqrt(2)/2';eval(p)b:數值表達式轉換成符號表達式;例如p=1.7071;n=sym(p)n=17071/100004:符號表達式的簡化a:見符號表達式類似于數學課本中的形式顯示;例如symx;f=taylor(exp(-x)f=1-x+1/2*x^2-1/6*x^3+1/24*x^4-1/120*x^5pretty(f)b:合并符號表達式中的同類項;例如symsxy;f=sym(x^2*y+y*x-x^2-2*x);f=collect(f)f=(y-1)*x^2+(y-2)*xf=collect(f,y)f=(x^2+x)*y-x^2-2*xc:對符號表達式進行因式

溫馨提示

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

評論

0/150

提交評論