![特點編程效率高計算功能強特別是矩陣計算使用簡便易于擴_第1頁](http://file4.renrendoc.com/view/0b8e1c2b0c2f60d5668f5206a8ed0b9f/0b8e1c2b0c2f60d5668f5206a8ed0b9f1.gif)
![特點編程效率高計算功能強特別是矩陣計算使用簡便易于擴_第2頁](http://file4.renrendoc.com/view/0b8e1c2b0c2f60d5668f5206a8ed0b9f/0b8e1c2b0c2f60d5668f5206a8ed0b9f2.gif)
![特點編程效率高計算功能強特別是矩陣計算使用簡便易于擴_第3頁](http://file4.renrendoc.com/view/0b8e1c2b0c2f60d5668f5206a8ed0b9f/0b8e1c2b0c2f60d5668f5206a8ed0b9f3.gif)
![特點編程效率高計算功能強特別是矩陣計算使用簡便易于擴_第4頁](http://file4.renrendoc.com/view/0b8e1c2b0c2f60d5668f5206a8ed0b9f/0b8e1c2b0c2f60d5668f5206a8ed0b9f4.gif)
![特點編程效率高計算功能強特別是矩陣計算使用簡便易于擴_第5頁](http://file4.renrendoc.com/view/0b8e1c2b0c2f60d5668f5206a8ed0b9f/0b8e1c2b0c2f60d5668f5206a8ed0b9f5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、特點:編程效率高計算功能強 特別是矩陣計算使用簡便易于擴充 可建立M文件定義過程和函數以供調用,可與其它語言(C, Fortran等)混合編程。預備實驗 MATLAB使用練習MATLAB MATrix LABoratory 矩陣實驗室Matlab特點11.1.1矩陣的直接輸入 A=1,2,3;4,5,6 或 A=1 2 3;4 5 6 或 A=1 2 3 4 5 6顯示矩陣元素: A(2,1) ans=4 A(2,1)=7A=1 2 3 7 5 6 A(3,4)=1A= 1 2 3 0 7 5 6 0 0 0 0 11 矩陣、數組與函數1.1矩陣的輸入與運算矩陣直接輸入2 w=zeros(2,
2、3) u=ones(2,3) v=eye(3,4) 前三列為單位矩陣,后一列為零 x=rand(1,3) 13 (0,1)均勻分布隨機矩陣, randn(m,n) : m n標準正態(tài)分布矩陣,hilb(n): n階Hilbert矩陣,magic(n): n階幻方矩陣注:n階Hilbert矩陣為:magic(3) =3階幻方矩陣為:1.1.2 函數生成矩陣3 A(3,:) 顯示A的第3行 A(:,2) 顯示A的第2列 A(2:5,:) 顯示A的第2到5行 A(:,1:2:5) 顯示A的第1、3、5列 A(2:4,1:3) 顯示A的第2到4行、1到3列的元素 C=(A,B) A、B并列構成新矩陣C
3、 D=(A;B) A、B上下構成新矩陣D1.1.3 矩陣的裁剪與拼接4A+B, A-B, A, A*B, A3, B/A (即BA+), AB (即A+B), A+3(矩陣加常數,即每個元素加此常數)1.1.4 矩陣運算51.2 數組及其運算 數組運算MATLAB中一種特定的計算,可視為兩個同型矩陣間對應項的運算,運算符號為矩陣運算符號前加“.”。由于矩陣的加、減本身就是對應項間的運算,故不必再加“.”。 例如,x=t2, y=sin(t), 0=ta=1 2 3 4; b=a+1; c=a.*b; d=a*b; e=a*b;1.3.2 變量 變量名由字母、數字和下劃線組成,區(qū)分大小寫字母,最
4、多31個字符,第一個字符必須是字母. 不必說明類型和維數,自動分配內存空間. 幾個特殊量:pi 圓周率, eps 可分辨最小正數, inf 正無窮大, NaN 不定值,i、j 復數虛單位. 以上幾個量有其特殊值,但若賦予其它值后,則不再有其特殊性. 但用clear可恢復其固有的特殊值. 例如:pi = 5; clear pi;(這時pi的值又為3.1416)1.3 語句、變量和表達式7 s1=Hello; s2=every; s3=body; s=s1,s2, ,s3 ,則s= Hello,every body ss=s(1:5),則ss=Hello1.3.3 字符串81.4.1 標量函數 三
5、角函數:sin, cos, tan, cot, sec, csc,asin, acos, atan, acot, asec, acsc,sinh, cosh, tanh, asinh, acosh, atanh 其它基本函數:sqrt, exp, log, log10, abs, round(四舍五入取整), floor(向左方向取整), ceil(向右方向取整), fix(向0方向取整), sign, real(取實部), imag, angle, rats(有理逼近)1.4 函數9例如: rats(pi) ans=355/113, rats(sqrt(2) ans=1393/985 x=(
6、0:0.2:1)*pi; y=sin(x)y = 0 0.5878 0.9511 0.9511 0.5878 0round(y) 0 1 1 1 1 0; floor(y) 0 0 0 0 0 0; 另一個計算函數值的命令:feval(F,x), 其中 F:字符串,x:變量. 如上面的x:z=feval(sin,x), 同z=sin(x).函數例10max, min, sum, length, mean,median(中間值,奇數項取中間項,偶數項取中間兩項的平均), prod(乘積), sort(從小到大重新排列) 注:以上函數作用于矩陣時,是作用于每一列,結果為行向量.1.4.2 向量函數
7、11構造函數:zeros, ones, eye, rand, randn, diag(生成或提取對角陣,向量生成對角陣,矩陣提取其對角線為列向量),triu(生成上三角陣), trul(生成下三角陣)計算函數:size, det, rank, inv, eig, trace, expm(矩陣指數), poly(特征多項式), norm, cond, lu(LU分解),qr(正交分解), svd(奇異值分解)1.4.3 矩陣函數12help 程序名(m文件)顯示m文件中的說明,%后面的注釋. 若要顯示全部文件,可用 type 代替 help.lookfor 搜索包含某個關鍵詞的幫助主題,例如:l
8、ookfor complex2 命令和窗口環(huán)境2.1 在線幫助系統(tǒng)13 可用菜單中的Command Window 里的Numarical Format來設定數據顯示方式,有short(小數點后4位), long(15位數字),bank(小數點后2位),short e(5位科學計數法), long e(15位科學計數法), rat(最接近的有理數). 也可在Command Window中用命令設置,例如: format long2.2 數據顯示格式14 各種編輯鍵,如方向鍵,刪除鍵等,基本同其它軟件,可見課本. 比較特殊的是:上箭頭鍵可調入前一行命令.2.4 MATLAB工作區(qū) Command
9、Window who, whos, disp(x) 顯示x的內容,與x 的區(qū)別是:前者僅顯示x的內容,后者多個x=. save abc, 把Command Window中的數據貯存在文件abc.mat中 load 文件名,可調入用save保存的數據,如load abc. 也可調入文本文件,例如,可在MATLAB之外建立一個數據文件magik.dat,然后用load magik.dat即讀入此文件并建立變量magik,其值即為文件中內容.2.3 命令行編輯15 diary 建立一個diary文件,如diary abc.dia. 文件名和擴展名可任取,并開始記錄此后MATLAB的所有操作,用dia
10、ry off停止記錄,并可用type abc.dia顯示記錄內容. path 顯示當前搜索路徑 管理文件的命令: what, 顯示當前目錄下的m, mat, mex文件 dir, 或 ls, 顯示當前目錄下的所有文件 cd path 改變當前目錄為path cd, chdir, pwd, 都可顯示當前的工作目錄 type abc, 顯示文件abc.m的內容 delete abc.m, 刪除m文件abc.m(必須有擴展名) which abc, 顯示abc.m所在的目錄,若要顯示其它類型文件的目錄,必須加擴展名. quit, 退出MATLAB. 命令行編輯(續(xù))16例 y=0 0.58 0.7
11、0.95 0.83 0.25; plot(y) 實際上是畫折線,x=1 2 3 4 5 6例 x=linspace(0,2*pi,30); y=sin(x); plot(x,y) 注意1. 為29等分,30維向量,2.與 plot(y) 的區(qū)別.3.1.2 多重線例 x=0:pi/15:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2); 例 x=0:pi/15:2*pi; y=sin(x);cos(x); plot(x,y); 例 x=0:pi/15:2*pi; y=sin(x); plot(x,y), hold on, z=cos(x); plot(x,
12、z), hold off3 圖形功能3.1 2維圖形3.1.1 基本形式17以上三個例子所畫圖形都如下圖:(例)18例 x=0:pi/15:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,b:,x,y2,g-) 分別為藍色點線和綠色實線線型 線方式:- 實線,:點線,-. 虛點線,- - 波折線點方式:. 圓點,+ 加號,* 星號,x x形,o 小圈顏色:y yellow, r red, g green, b blue, w write, k black, c cyan(青色)在不指定時,默認實線方式,顏色自動確定.3.1.3 線型和顏色19grid 加網格,或gr
13、id on(加網格), grid off (去網格)xlabel(.); ylable(); title(); 加標題text(2.5,0.7,sinx) 在圖中(2.5,0.7)處加字符串 sinx,或 gtext(sinx), 用鼠標光標定位置3.1.5 坐標系的控制axis(xmin,xmax,ymin,ymax) x,y的范圍axis equal or axis(equal) x,y軸的單位長度相同axis square or axis(square) 圖框呈方形axis off or axis(off) 清除坐標刻度3.1.4 網格和標記20例 x=linspace(0,2*pi,3
14、0); y=sin(x); z=cos(x); %linspace(*,*,n) 生成均勻分布的n維向量u=2*sin(x).*cos(x) or u=2*y.*z;v=sin(x)./cos(x) or v=y./z or v=tan(x);subplot(2,2,1),plot(x,y),axis(0 2*pi 1 1),title(sin(x);subplot(2,2,2),plot(x,z),axis(0 2*pi 1 1),title(cos(x);subplot(2,2,3),plot(x,u),axis(0 2*pi 1 1), title(2sin(x)cos(x);subpl
15、ot(2,2,4),plot(x,v),axis(0 2*pi 20 20), title(sin(x)/cos(x);所畫四幅圖象如下:3.1.6 多幅圖形21(多幅圖的例)22fplot(fun,xmin,xmax,ymin,ymax)函數作圖,fun為函數名. 例如:myfun=inline(x.2-4*x+3);fplot(myfun,0.5,5,-2,6) (m文件函數名須加引號 ,例如:fplot(sin,0,2*pi,-1,1) )半對數坐標:semilogx(x,y), semilogy(x,y)全對數坐標:loglog(x,y),用常用對數刻度,即本來刻度為0,1,2,處現(xiàn)為
16、1,10,100,pause 暫停執(zhí)行,直到按任意鍵. 3.1.7 其它23例 z = f(x,y) =程序:x = -7.5:0.5:7.5; y = x;X,Y=meshgrid(x,y); %X為矩陣,其所有行都為x,行數同y的長;Y為矩陣,其所有列都為y,列數同x的長)R=sqrt(X.2+Y.2)+eps;%R為與X、Y同型的矩陣,加eps是為了避免除以0Z=sin(R)./R; mesh(X,Y,Z) %以(X(i,j),Y(i,j),Z(i,j)為節(jié)點畫網格 %圖見課本p19圖11,mesh 可換為 surf3.2 3維圖形3.2.1 帶網格的曲面24例 x=sint, y=co
17、st, z=t, 0 t 10*pi.程序: t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)3.2.3 等高線contour 或 contour3 ,例如,例3.2.1的例中,加contour(X,Y,Z,10)即得10條等高線3.2.4 其它view(azi,ele), azi 為方位角(以y負方向為0),ele為仰角,默認值分別為:-37.5, 30.3.2.2 空間曲線25關系運算符:, =, = =, =例 A=1:5; B=5:-1:1;C = A = 4 結果為:C = 0 0 0 1 1D = A = = B 結果為:D = 0 0 1 0 0例 x
18、=(-3:3)/3; sin(x)./x %Warning: Divide by zeroans = 0.8415, *, *, NaN, *, *, *改為:x=(-3:3)/3; x=x+(x= =0)*eps; sin(x)./x % (x= =0) 為 (0 0 0 1 0 0 0)x=0.8515, *, *, 1.0000, *, *, * %OK!4 程序設計4.1 關系和邏輯運算26邏輯運算符:&, |, 關系和邏輯函數:all, anyall(x), 當向量x的所有元素非零時返回1,否則返回0.any(x), 當向量x有非零元素時返回1,否則返回0.all(A), any(A
19、), A為矩陣,則對A的列向量作用,返回的是行向量.關系和邏輯運算(續(xù))27if end, if else end, if elseif elseif else end例 y為x的函數,用下面條件語句描述:if x=0 y=0;elseif x1 EPS=EPS/2; n=n+1;endEPS=2*EPS;n, format short E, EPS顯示:n=53, EPS=2.2204e-016 %即2-52.用break可跳出循環(huán)4.2.3 while語句30EPS=1for n=1:100 EPS=EPS/2; if (1+EPS) =1 EPS=2*EPS; break endendn
20、, format short E, EPS %顯示結果同上.上例的另一設計:31switch case .case .otherwise end例如:x=3;switch xcase 0y=0case 3y=3otherwisey=5end運行結果:y = 34.2.4 switch語句324.3.1 文本M文件 把一段程序存為M文件,在Command Window中或其他M文件中鍵入文件名即可執(zhí)行此段程序. M文件中定義的變量為全局變量.4.3.2 函數M文件 用M文件自定義函數,開頭為: function yname = fname(xname)yname: 因變量名,fname: 函數名
21、,xname:自變量名. 文件名必須為fname,即于函數名相同.4.3 M文件33 例 建立一個自變量為m, n的函數,用其構造mn矩陣,其元素隨機取均勻分布在09中的整數: function a=randint(m,n) a=floor(10*rand(m,n);以上兩句存為M文件randint.m. 用法: A=randint(2,3) %z則A為23矩陣,其元素為隨機取自09中的整數. 函數M文件中的變量為局部變量,要想在Command Window 或其他M文件中可調用,必須在這些地方把此變量說明為global: 例如,global a; 注意,M文件必須存放在MATLAB的搜索路徑
22、中才可被調用. M文件例34p28 1), 3), 11), 13)12) 可作例題: 如圖,將 y=UL/U 表示為 x=R2/R 和 a=RL/R 的函數,并以a為參數(a=10, 1, 0.1),作函數 y(x, a) 的圖形,對結果作出解釋.作業(yè):35y與x, a的關系為:例題講解:36用MATLAB作圖程序:x=0:0.05:1;a=10;y(1,:)=a*x./(x.*(1-x)+a);a=1;y(2,:)=a*x./(x.*(1-x)+a);a=0.1;y(3,:)=a*x./(x.*(1-x)+a);plot(x,y(1,:),b,x,y(2,:),r,x,y(3,:),g);
23、 解釋: ,當a較大時, .37程序1:畫分形圖 %fra1.m, 2004/4/14, a fractal imagefunction y=fra1(n);p1=0;0;p2=1;0;theta=87*pi/180;costh=cos(theta);sinth=sin(theta);costh2=costh*costh-sinth*sinth;sinth2=2*costh*sinth;p=0.3-sqrt(0.21)*cot(theta);h=sqrt(0.21)*csc(theta);y=p1,p2;for i=1:n m=size(y,2); for j=m:-1:2應用實例:38 u1=y(:,j-1); u2=y(:,j); du=u2-u1; if norm(du)0.05 v1=u1+du*p; v2=v1+costh,-sinth;sinth,costh*du*h; du=v2-v1; v3=v2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度合作建房項目竣工驗收合同范本
- 2025年度建筑涂料工程招投標代理與咨詢服務合同
- 2025年度智能家電研發(fā)生產合同協(xié)議書標準格式
- 貴州2025年貴州省市場監(jiān)管局所屬事業(yè)單位招聘39人筆試歷年參考題庫附帶答案詳解
- 蚌埠2025年安徽馬鞍山和縣中學招聘勞務派遣制教師筆試歷年參考題庫附帶答案詳解
- 牡丹江2024年黑龍江牡丹江市直事業(yè)單位集中選調15人筆試歷年參考題庫附帶答案詳解
- 淮安2024年江蘇淮安市公安局經濟技術開發(fā)區(qū)分局招聘警務輔助人員15人筆試歷年參考題庫附帶答案詳解
- 沈陽2025年遼寧沈陽市渾南區(qū)事業(yè)單位博士招聘36人筆試歷年參考題庫附帶答案詳解
- 柳州2025年廣西柳州市事業(yè)單位招聘2077人筆試歷年參考題庫附帶答案詳解
- 昆明2025年云南昆明市晉寧區(qū)人民政府辦公室招聘編外工作人員筆試歷年參考題庫附帶答案詳解
- GB/T 26189.2-2024工作場所照明第2部分:室外作業(yè)場所的安全保障照明要求
- 新教科版一年級科學下冊第一單元《身邊的物體》全部課件(共7課時)
- 2025年中國水解聚馬來酸酐市場調查研究報告
- 高考百日誓師動員大會
- 2025江蘇常州西太湖科技產業(yè)園管委會事業(yè)單位招聘8人歷年高頻重點提升(共500題)附帶答案詳解
- 2025年北京控股集團有限公司招聘筆試參考題庫含答案解析
- 2024年北京東城社區(qū)工作者招聘筆試真題
- 2024新人教版初中英語單詞表默寫版(七~九年級)
- 體育科學急救知識
- 復工復產質量管理工作
- 2025年東方電氣集團東方鍋爐股份限公司校園招聘高頻重點提升(共500題)附帶答案詳解
評論
0/150
提交評論