![《Matlab編程基礎(chǔ)》PPT課件.ppt_第1頁](http://file1.renrendoc.com/fileroot2/2020-1/11/64a997e8-5443-4841-89bc-8655bb5d045a/64a997e8-5443-4841-89bc-8655bb5d045a1.gif)
![《Matlab編程基礎(chǔ)》PPT課件.ppt_第2頁](http://file1.renrendoc.com/fileroot2/2020-1/11/64a997e8-5443-4841-89bc-8655bb5d045a/64a997e8-5443-4841-89bc-8655bb5d045a2.gif)
![《Matlab編程基礎(chǔ)》PPT課件.ppt_第3頁](http://file1.renrendoc.com/fileroot2/2020-1/11/64a997e8-5443-4841-89bc-8655bb5d045a/64a997e8-5443-4841-89bc-8655bb5d045a3.gif)
![《Matlab編程基礎(chǔ)》PPT課件.ppt_第4頁](http://file1.renrendoc.com/fileroot2/2020-1/11/64a997e8-5443-4841-89bc-8655bb5d045a/64a997e8-5443-4841-89bc-8655bb5d045a4.gif)
![《Matlab編程基礎(chǔ)》PPT課件.ppt_第5頁](http://file1.renrendoc.com/fileroot2/2020-1/11/64a997e8-5443-4841-89bc-8655bb5d045a/64a997e8-5443-4841-89bc-8655bb5d045a5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1,第二章之 Matlab編程基礎(chǔ),2,2-1 Matlab軟件的運(yùn)行環(huán)境與安裝方法,Matlab6.5軟件對系統(tǒng)的基本要求主要有: (1)Pentium,Pentium Pro,Pentium II,Pentium III,Pentium IV,Intel Xeon,AMD Athlon; (2)支持操作系統(tǒng)為Win2000、WinXP; (3)CD-ROM驅(qū)動(dòng)器,用于從光盤安裝該軟件; (4)內(nèi)存128 MB RAM,建議采用256 MB RAM及其以上; (5)全部安裝該軟件所需要的硬盤空間最少不低于1000MB,建議使用硬盤40G以上; (6)支持256色以上顯示器,建議采用32M以上
2、顯卡,3,安裝Matlab的setup按鈕,4,安裝Matlab的界面,5,安裝Matlab的界面,6,安裝Matlab時(shí)輸入密碼的界面,7,Matlab組件選擇窗口界面,MATLAB組件的選擇窗口,8,Matlab桌面快捷方式,9,Matlab的操作界面窗口說明,歷史指令窗口,工作空間瀏覽器,命令窗口,當(dāng)前目錄瀏覽器(后臺(tái)),開始按鈕,切換按鈕,當(dāng)前工作目錄設(shè)定,命令提示符號(hào),輸入命令/指令區(qū)域,10,2-2 Matlab軟件的常用窗口簡介,命令窗口(Command Window),11,歷史命令(指令)窗口,12,工作空間瀏覽器窗口,13,當(dāng)前目錄瀏覽器(Current Directory
3、 Browser),14,內(nèi)存數(shù)組編輯器(Array Editor),15,M文件編輯/調(diào)試器窗口,16,Matlab的交互界面分類目錄窗口,17,幫助導(dǎo)航/瀏覽器(Help Navigator/Browser),18,2-3MATLAB的運(yùn)行方式,一、命令行運(yùn)行方式 演算紙式的科學(xué)計(jì)算語言 在MATLAB的應(yīng)用中,最基本、最簡單的應(yīng) 用,就是在命令窗口中直接輸入命令來實(shí)現(xiàn)計(jì)算 或繪圖功能。 MATLAB命令行的一般形式為: 變量表達(dá)式 或: 表達(dá)式 (賦值語句),19,命令行運(yùn)行方式(續(xù)), 使用MATLAB最簡單的方式是將MATLAB的命令窗口看作計(jì)算器,通過輸入數(shù)學(xué)算式直接計(jì)算。 123
4、45 ans= 15 如果在輸入的表達(dá)式后面跟上分號(hào)“;”,那么運(yùn)行后就不會(huì)馬上顯示運(yùn)算的結(jié)果,必須鍵入輸出變量后才能顯示運(yùn)算結(jié)果。用分號(hào)關(guān)閉不必要的輸出會(huì)使程序運(yùn)行速度成倍甚至成百倍地提高。 12345; 則不會(huì)馬上顯示運(yùn)算結(jié)果,要得到運(yùn)算結(jié)果,必須 ans 則顯示結(jié)果為 ans= 15,20,命令行運(yùn)行方式(續(xù)),如果在表達(dá)式后面跟上逗號(hào)“,”或什么都不跟,運(yùn)行后會(huì)馬上顯示該表達(dá)式的運(yùn)算結(jié)果。 如果一個(gè)表達(dá)式很長,可以用續(xù)行號(hào)“”將其延續(xù)到下一行。 1+2+3+4+5+ %注意加號(hào)寫在本行。 6+7+8+9+10 則輸出結(jié)果 ans= 55 如果續(xù)行號(hào)前面是數(shù)字,直接使用續(xù)行號(hào)會(huì)出現(xiàn)錯(cuò)誤,
5、有三種解決辦法,一是設(shè)法使續(xù)行號(hào)前面是一個(gè)運(yùn)算符號(hào),二是先空一格再加續(xù)行號(hào),三是再加一個(gè)點(diǎn)。,21,在一行中也可以寫幾個(gè)語句,它們之間用逗號(hào)“,”或分號(hào)“;”隔開。 A=1,2,3.3,sin(4),X=1966/310+1 則輸出結(jié)果 A 1.0000 2.0000 3.3000, -0.7568 X= 7.3419。,命令行運(yùn)行方式(續(xù)),22,二、m文件運(yùn)行方式,所謂m文件,就是用MATLAB語言編寫的、可以在MATLAB中運(yùn)行的程序。它是以普通文本格式存放的,故可以用任何文本編輯軟件進(jìn)行編輯。MATLAB提供的m文件編輯器就是程序編輯器。 在File菜單中選擇NEW,再選擇M-file
6、,或點(diǎn)擊新建圖標(biāo),就可以調(diào)出m文件編輯器,用戶可以用此編輯器編寫m文件。 m文件有兩種形式,一種稱為命令文件(Script File),另一種稱為函數(shù)文件(Function File),兩種文件的擴(kuò)展名都是m。,23,(1)命令文件,如果要輸入較多的命令,或者要經(jīng)常對某些命令進(jìn)行重復(fù)的輸入,則可以將這些命令按執(zhí)行順序存放在一個(gè)m文件中,以后只要在MATLAB的命令窗口中輸入該文件的文件名,系統(tǒng)就會(huì)調(diào)入該文件并執(zhí)行其中的全部命令。這種形式就是MATLAB的命令文件。 命令文件中的語句可以訪問MATLAB工作空間的所有變量;而在命令文件執(zhí)行過程中創(chuàng)建的變量也會(huì)一直保留在工作空間中,其他命令或m文件
7、都可以訪問這些變量。 命令文件相當(dāng)于DOS批處理文件。,24,命令文件(續(xù)),求滿足1+2+3+n=100,故應(yīng)對sum減n n=n-1; %當(dāng)循環(huán)結(jié)束時(shí)有sum=100,故應(yīng)對n減1 n,sum %顯示最大正整數(shù)n以及和sum,25,命令文件(續(xù)),將上述程序存入文件fl.m,然后在命令窗口鍵入 fl 顯示結(jié)果為 n= 13 sum= 91 指出: 程序中由符號(hào)“%”開始的文字都是注釋文字,用來對程序或程序行行進(jìn)行注釋說明,符號(hào)“%”稱為注釋符,MATLAB在執(zhí)行時(shí)將忽略“%”后的內(nèi)容。,26,(2)函數(shù)文件,函數(shù)文件是另一類m文件,可以像庫函數(shù)一樣方便地被調(diào)用,MATLAB提供的許多工具箱
8、,是由函數(shù)文件組成的。 對于某一類特殊問題,用戶可以建立系統(tǒng)的函數(shù)文件,形成專用工具箱。 函數(shù)文件的第一行有特殊的要求,它必須遵循如下的形式: function=() 其他各行都是程序運(yùn)行語句,沒有特別要求。 函數(shù)文件的文件名必須是.m。,27,函數(shù)文件(續(xù)),實(shí)現(xiàn)符號(hào)函數(shù) 運(yùn)算功能的函數(shù)m文件為: function y=sgn(x) %這是一個(gè)定義符號(hào)函數(shù)y=sgn(x)的函數(shù)文件。 if x0 y1=-1; elseif x=0 y1=0; else y1=1; end y=y1;,28,函數(shù)文件(續(xù)),將上述程序存為文件sgn.m,便可以將其作為普通的MATLAB函數(shù)來使用: x=4/3
9、*pi; y=3*sgn(sin(x) 顯示結(jié)果為: y= -3,29,三、MATLAB的常用命令,MATLAB可以通過菜單對工作著的窗口進(jìn)行操作,也可以通過鍵盤在命令窗口輸入命令進(jìn)行操作,下面給出幾個(gè)常用的通用命令。 quit 關(guān)閉MATLAB exit 關(guān)閉MATLAB clc 清除MATLAB命令窗口中的所有顯示內(nèi)容 clear 清除工作空間中保存的所有變量 其他命令可以在學(xué)習(xí)應(yīng)用中逐步熟悉。,30,四、MATLAB的基本運(yùn)算,指出:右除相當(dāng)于通常的除法。,31,2-4MATLAB的變量與函數(shù),一、變量 變量就是在程序的運(yùn)行過程中,其數(shù)值可以變化的量(數(shù)據(jù)),它可以代表一個(gè)或若干個(gè)內(nèi)存單
10、元(變量的地址)中的數(shù)據(jù)。為了對所有的變量所對應(yīng)的存儲(chǔ)單元進(jìn)行訪問,需要給變量命名。 MATLAB變量命名的規(guī)則是: 以字母開頭,后面可以跟字母、數(shù)字或下劃線。 不超過31個(gè)字符。 字符間不可以留空格。 區(qū)分大小寫。,32,MATLAB的變量與函數(shù)(續(xù)),系統(tǒng)變量,33,MATLAB的變量與函數(shù)(續(xù)),指出: 自定義變量名一般不應(yīng)和系統(tǒng)變量同名。 在MATLAB中輸入的內(nèi)容直接決定變量的類型。 使用who和whos命令可以查看變量。 使用clear命令可以刪除所有定義過的變量。如果只是刪除其中某些變量,應(yīng)在clear后面指定要?jiǎng)h除的變量名。例如 clear a z 有了變量,就可以組成表達(dá)式,
11、也就可以對變量進(jìn)行賦值。MATLAB的賦值語句有兩種形式。 變量名表達(dá)式 表達(dá)式 在第一種情況下,MATLAB將右邊的表達(dá)式的值賦值給左邊的變量,在第二種情況,MATLAB將表達(dá)式的值賦值給系統(tǒng)變量ans。 所謂表達(dá)式,就是用運(yùn)算符號(hào)把特殊字符、函數(shù)名、變量名等有關(guān)運(yùn)算量連接起來的式子,其結(jié)果是一個(gè)矩陣。,34,二、函數(shù),數(shù)學(xué)函數(shù),35,函數(shù)(續(xù)),機(jī)器函數(shù) pause 程序?qū)簳r(shí)停在該函數(shù)所在位置,擊任意鍵程序繼續(xù)執(zhí)行 echo on 在命令窗口顯示正在執(zhí)行的程序指令 cputime 給出MATLAB所耗用的總機(jī)器時(shí)間 clock 給出日期及當(dāng)前時(shí)間 指出 在表達(dá)式中,函數(shù)一定要出現(xiàn)在等式的
12、右邊。 每個(gè)函數(shù)對其自變量的個(gè)數(shù)和格式都有一定要求,如三角函數(shù)的單位是“弧度”而不是“度”。 函數(shù)允許嵌套,如sqrt(sin(10)。 系統(tǒng)函數(shù)的函數(shù)名小寫。注意函數(shù)名也是區(qū)分大小寫的。,36,2-4 MATLAB的數(shù)值計(jì)算,MATLAB運(yùn)算的基本數(shù)據(jù)對象是矩陣,標(biāo)量可以看作是11的矩陣,向量可以看作是1n或n1的矩陣。因此,可以說MATLAB的數(shù)據(jù)結(jié)構(gòu)就是矩陣,以矩陣運(yùn)算為代表的基本運(yùn)算功能一直是MATLAB引以為自豪的核心與基礎(chǔ)。,37,一、矩陣的創(chuàng)建,矩陣是線性代數(shù)的基本運(yùn)算單元。 通常矩陣是指含有m行n列數(shù)值的矩形結(jié)構(gòu)。矩陣中的元素可以是實(shí)數(shù)也可以是復(fù)數(shù),由此可以將矩陣劃分為實(shí)矩陣和
13、復(fù)矩陣。 MATLAB支持線性代數(shù)所定義的全部矩陣運(yùn)算。 在MATLAB中創(chuàng)建矩陣應(yīng)遵循以下原則: 矩陣的元素必須在方括號(hào)“ ”中。 矩陣的同行元素之間用空格或逗號(hào)“,”分隔。 矩陣的行與行之間用分號(hào)“;”或回車符分隔。 矩陣的尺寸不必預(yù)先定義。 矩陣元素可以是數(shù)值、變量、表達(dá)式或函數(shù)。如果矩陣元素是表達(dá)式,系統(tǒng)將自動(dòng)計(jì)算出結(jié)果。,38,矩陣的創(chuàng)建(續(xù)),1、直接輸入法在命令窗口按規(guī)則輸入方式創(chuàng)建矩陣 例1.在命令窗口創(chuàng)建簡單的數(shù)值矩陣。 A=1 3 2;3 1 0;2 1 5 回車后在命令窗口顯示如下結(jié)果 A = 1 3 2 3 1 0 2 1 5 例2.在命令窗口創(chuàng)建帶運(yùn)算表達(dá)式的矩陣,不
14、顯示結(jié)果。 y=sin(pi/3),cos(pi/6);log(20),exp(2); 輸入“y”回車,在命令窗口顯示出來。 y 顯示出的結(jié)果為 y = 0.8660 0.8660 2.9957 7.3891,39,矩陣的創(chuàng)建(續(xù)),指出: 在矩陣較大時(shí),用分行輸入的方式(用回車代替分號(hào)區(qū)分不同行)比較接近于線性代數(shù)中的矩陣,更直觀一些。 任何矩陣元素內(nèi)部不能有空格,否則會(huì)被認(rèn)定是兩個(gè)元素。,40,矩陣的創(chuàng)建(續(xù)),2、通過數(shù)據(jù)文件創(chuàng)建矩陣導(dǎo)入其他程序創(chuàng)建的數(shù)據(jù) 例3.用記事本輸入一組數(shù)據(jù) 1 2 3 4 2 3 4 5 4 3 4 5 5 7 6 1 保存為fort.txt,用load命令讀
15、入, load fort.txt 輸入fort就可以在命令窗口顯示創(chuàng)建的矩陣。 fort 顯示結(jié)果為 fort = 1 2 3 4 2 3 4 5 4 3 4 5 5 7 6 1,41,矩陣的創(chuàng)建(續(xù)),指出: 通過load命令導(dǎo)入數(shù)據(jù)是形成矩陣的重要方法,解決了在工作現(xiàn)場沒有MATLAB系統(tǒng)和其他數(shù)據(jù)管理系統(tǒng)的問題,可以只用基本的文字處理工具完成。 MATLAB對文本形式的數(shù)據(jù)文件的擴(kuò)展名并不計(jì)較,將上述數(shù)據(jù)文件換名保存為fort.1,仍然可以如上導(dǎo)入、應(yīng)用。 文件名可以定義為m1.txt或m1.1。 但是,如果將文件命名為1m.txt,則顯示出錯(cuò)信息:“Error: Missing ope
16、rator(算子), comma(逗號(hào)), or semicolon(分號(hào)).” 如果文件名命名為3.txt、1.txt、3.1等,則顯示的是主文件名所用的數(shù)字。 數(shù)據(jù)文件保存為word或wps等的文件格式同樣可以引用。,42,矩陣的創(chuàng)建(續(xù)),如果數(shù)據(jù)文件中有字母,則不能引用,顯示出錯(cuò)信息,即使該字母在前面的指令中已經(jīng)賦值也不可。 如果數(shù)據(jù)文件中有算式,則不能完整顯示,算式元素將僅顯示第一個(gè)運(yùn)算符(或關(guān)系符)前的數(shù)字。 導(dǎo)入其他數(shù)據(jù),如圖像數(shù)據(jù)、Excel數(shù)據(jù)時(shí),可以使用數(shù)據(jù)導(dǎo)入向?qū)mport Wizard。,43,矩陣的創(chuàng)建(續(xù)),3、通過m文件創(chuàng)建矩陣將矩陣建立為m文件 先將矩陣按創(chuàng)建
17、原則寫入一個(gè)m文件中,在MATLAB命令窗口或程序中直接運(yùn)行該m文件(輸入該m文件名),即可將矩陣調(diào)入工作空間。 4、通過函數(shù)創(chuàng)建矩陣,44,特殊矩陣的實(shí)現(xiàn),eye、zeros、 ones、 rand、diag、compan、triu、tril,A=eye(n) A=eye(size(B) A=eye(n,m),A= zeros(n) A= zeros(size(B) A= zeros(n,m),A= ones(n) A= ones(size(B) A= ones(n,m),A= rand(n) A= rand(size(B) A= rand(n,m),A=diag(B),當(dāng)B為向量時(shí),構(gòu)成一
18、個(gè)以向量元素為對角線的對角矩陣,當(dāng)B為矩陣時(shí),構(gòu)成一個(gè)以B的主對角線元素為對角線的對角矩陣,A=compan(B),計(jì)算矩陣B的伴隨矩陣,A=triu(B),計(jì)算矩陣B的上三角矩陣 A=triu(B),計(jì)算矩陣B的下三角矩陣,45,矩陣的創(chuàng)建(續(xù)),指出: 當(dāng)某一項(xiàng)操作無結(jié)果時(shí),MATLAB將返回一個(gè)空矩陣,空矩陣的大小為0,但它確實(shí)存在于工作空間,可以通過變量名訪問。 輸入后的矩陣將保存在MATLAB工作空間中,并可以隨時(shí)被訪問調(diào)用,如果用戶不用“clear”命令清除它,或給它重新賦值,該矩陣將一直保存在工作空間直到MATLAB關(guān)閉為止。 如果矩陣函數(shù)中只有一個(gè)參數(shù),則為方陣。 四種創(chuàng)建矩陣
19、的方法各有優(yōu)點(diǎn):直接輸入法方便簡捷;通過數(shù)據(jù)文件創(chuàng)建有利于調(diào)用其他軟件產(chǎn)生的數(shù)據(jù);通過m文件創(chuàng)建是用于創(chuàng)建較大尺寸的矩陣并便于修改;通過函數(shù)創(chuàng)建可以由MATLAB內(nèi)部函數(shù)創(chuàng)建一些特殊矩陣。,46,矩陣的創(chuàng)建(續(xù)),5、其他構(gòu)造矩陣的方法冒號(hào)法 1冒號(hào)法構(gòu)造向量 冒號(hào)表達(dá)式的一般格式為: 向量名初值:步長:終值。 例4.在窗口輸入 x=0:0.5:2 回車后顯示 x = 0 0.5000 1.0000 1.5000 2.0000。 例5. 在命令窗口輸入 x=2:-0.5:0 回車后顯示 x = 2.0000 1.5000 1.0000 0.5000 0,47,矩陣的創(chuàng)建(續(xù)),指出: 步長可以
20、省略,省略步長,則步長為1。 步長可以為負(fù),此時(shí)初值大于終值。 向量的元素比較多而又有增減規(guī)律時(shí),這種方法非常便利。 冒號(hào)法表示向量時(shí),向量的全體成員是從初值開始,以步長為增量,直到不超過終值的所有元素構(gòu)成的序列。 冒號(hào)法的應(yīng)用可以避免使用循環(huán),提高程序運(yùn)行速度。,48,矩陣的創(chuàng)建(續(xù)),2冒號(hào)法構(gòu)造矩陣 一般格式為: A(:,j):表示矩陣A的第j列; A(i,:):表示矩陣A的第i行。 例6.建立矩陣 。 解: A(1,:)=1:5 %設(shè)置矩陣的第1行 A = 1 2 3 4 5,49,矩陣的創(chuàng)建(續(xù)), A(2,:)=6:10 %設(shè)置矩陣的第2行 A = 1 2 3 4 5 6 7 8
21、9 10 A(3,:)=11:15 %設(shè)置矩陣的第3行,設(shè)置完成 A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15,50,矩陣的創(chuàng)建(續(xù)),指出: 在MATLAB中,還可以利用函數(shù)linspace產(chǎn)生行向量,其調(diào)用格式為: linspace(a,b,n)。 其中a,b是向量的第一個(gè)和最后一個(gè)元素,n是元素的個(gè)數(shù)。這樣產(chǎn)生的向量的元素成等差數(shù)列。 例如, linspace(1,4,5) ans = 1.0000 1.7500 2.5000 3.2500 4.0000 函數(shù)linspace被稱為線性等分函數(shù)。,51,矩陣的創(chuàng)建(續(xù)),指出: 冒號(hào)法和應(yīng)用linspac
22、e都可以創(chuàng)建具有遞增元素序列的向量,但是,用冒號(hào)法創(chuàng)建向量時(shí),向量的元素不一定取到終值,而應(yīng)用linspace則必然會(huì)取到,因?yàn)閎表示的就是最后一個(gè)元素。,52,二、矩陣的運(yùn)算,MATLAB對于矩陣與矩陣之間的運(yùn)算的處理方法與線性代數(shù)中的相同,53,矩陣的計(jì)算(續(xù)),說明: 矩陣也可以和一個(gè)數(shù)之間進(jìn)行運(yùn)算。 線性代數(shù)沒有定義除法運(yùn)算,MATLAB為了便于計(jì)算,定義了矩陣的除法,并有左除和右除之分。 矩陣左除使用“”運(yùn)算符,右除使用“/”運(yùn)算符。 XAB是解方程組A*XB;XB/A則是解方程組X*AB。 一般地說,ABB/A。 在算法上,ABinv(A)*B,inv是求某一個(gè)矩陣的逆矩陣;而B/
23、AB*inv(A)。 指出:如果A*B=B*A=I(單位矩陣),稱A和B互為逆矩陣。 如果矩陣中有復(fù)數(shù)元素,那么轉(zhuǎn)置后得到它的復(fù)數(shù)共軛矩陣 。,54,矩陣的運(yùn)算(續(xù)),例7.若創(chuàng)建矩陣 A=1,0,2;0,1,3;1,0,4,B=1,2,3;4,5,6;7,8,9,C=1,2;3,4;5,6 并計(jì)算A+B、A+3、A*C、A2、CT、A-1、A1B。 指出: A2A2; CTC; A-1=inv(A) ; A1B=AB(或inv(A)*B) 在MATLAB系統(tǒng)中,還有一個(gè)數(shù)據(jù)結(jié)構(gòu)是“數(shù)組”。數(shù)組在結(jié)構(gòu)上和矩陣是完全一致的,唯一的區(qū)別是數(shù)組的運(yùn)算不服從線性代數(shù)的規(guī)定,而是元素對元素間的運(yùn)算。數(shù)組
24、的加減運(yùn)算與矩陣加減相同,數(shù)組的乘法、左除、右除、冪的運(yùn)算符號(hào)分別是矩陣相應(yīng)運(yùn)算符前面加一個(gè)小圓點(diǎn)“.”。 矩陣運(yùn)算的一個(gè)重要的應(yīng)用是解線性方程組。,55,矩陣的運(yùn)算(續(xù)),例8.求下面方程組的根。 解:解線性方程組,可以使用矩陣的左除“”,即XAB。 A=2,1,-3;3,-2,2;5,-3,-1; B=5;5;16; %列向量 X=AB X = 1 -3 -2,56,矩陣的運(yùn)算(續(xù)),指出: 線性方程組A*XB有兩種解法:X=AB或X=inv(A)*B,但一般用第一種解法,在MATLAB中,第二種解法所用時(shí)間是第一種解法的50倍。 可以看出,同樣解線性方程組,不同的算法的效率是有極大差距的
25、,可見優(yōu)化和選擇算法是非常重要的。 求逆運(yùn)算inv(A)是重要的代數(shù)運(yùn)算。,57,三、矩陣的操作,1、矩陣的大小測度 Size函數(shù)用來測試矩陣的大小,對于 矩陣A,size(A)返回一個(gè)行向量,它包含了矩陣的行數(shù)m和列數(shù)n。如果專門顯示行數(shù)和列數(shù),則可以采用如下格式: 。 例9.已知矩陣 求矩陣的大小。,58,矩陣的操作(續(xù)),解: A=1 1 1 1 1;1 2 3 4 5;1 3 6 10 15 設(shè)A為已知矩陣 A = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 d=size(A) 測試矩陣A的大小 d = 3 5 d1=size(A,1) 測試矩陣的行數(shù) d1 = 3
26、 d2=size(A,2) 測試矩陣的列數(shù) d2 = 5,59,矩陣的操作(續(xù)),2、矩陣的元素操作 例10.已知矩陣 , 寫出矩陣的元素A(2,3),將A(3,5)改為1。 解: A=1 1 1 1 1;1 2 3 4 5;1 3 6 10 15 A = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15,60,矩陣的操作(續(xù)), A(2,3) ans = 3 A(3,5)=-1 A = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 -1,61,矩陣的操作(續(xù)),例11. A=1 3 2;3 1 0;2 1 5 A = 1 3 2 3 1 0 2 1 5 B=4 3
27、6;5 1 4;3 4 6 B = 4 3 6 5 1 4 3 4 6 U(1,1)=A(1,1)+B(1,1); U(1,2)=A(1,2)+B(1,2); U(2,1)=A(2,1)-B(2,1); U(2,2)=A(2,2)-B(2,2); U U = 5 6 -2 0,62,矩陣的操作(續(xù)),3、矩陣塊的操作 利用冒號(hào)表達(dá)式對矩陣進(jìn)行拆分、提取子矩陣是矩陣操作的重要方面。提取的規(guī)則是 A(:,j)表示取矩陣A的第j列的全部元素; A(i,:)表示取矩陣A的第i行的全部元素; A(i,j)表示取矩陣A的第i行第j列交叉位置的元素; A(i:i+m,:)表示取矩陣A的第ii+m行的全部元素
28、; A(:,k:k+n)表示取矩陣A的第kk+n列的全部元素; A(i:i+m,k:k+n)表示取矩陣A的第ii+m行內(nèi)并在第kk+n列中的全部元素。,63,矩陣的操作(續(xù)),例12.拆分矩陣的例子。 A=1 1 1 1 1;1 2 3 4 5;1 3 6 10 15 A = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 A(2,3) ans = 3 A(3,5)=-1 A = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 -1,64,矩陣的操作(續(xù)), A=1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20 A
29、= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 A(1,:) ans = 1 2 3 4 5,65,矩陣的操作(續(xù)), A(:,2:4) ans = 2 3 4 7 8 9 12 13 14 17 18 19 A(2:3,4:5) ans = 9 10 14 15 A(2:3,1:3:5) ans = 6 8 10 11 13 15,66,矩陣的操作(續(xù)),例13.組合矩陣的例子。 A=1,2;3,4 A = 1 2 3 4 B=2,3;4,5 B = 2 3 4 5 A,B ans = 1 2 2 3 3 4 4 5,67,矩陣的操作
30、(續(xù)), A;B ans = 1 2 3 4 2 3 4 5 A;6,7 ans = 1 2 3 4 6 7,68,矩陣的操作(續(xù)),冒號(hào)表達(dá)式是MATLAB中非常重要的、應(yīng)用非常廣泛、也非常靈活的工具。 利用冒號(hào)表達(dá)式比利用循環(huán)語句賦值解決同一問題要快得多,所以實(shí)際編程時(shí)一般應(yīng)當(dāng)盡量采用冒號(hào)表達(dá)式而不是用循環(huán)。,69,矩陣的操作(續(xù)),例14. A=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 A(end,:) %取A的最后一行
31、 ans = 16 17 18 19 20,70,矩陣的操作(續(xù)), A(1,4,3:end) 取A的第1,4兩行中第3列到最后一列。 ans = 3 4 5 18 19 20 A(1,4,:) 取A的第1,4兩行。 ans = 1 2 3 4 5 16 17 18 19 20。 指出: end用來表示矩陣某一維末尾元素。,71,矩陣的操作(續(xù)),例15 c=3.2,4.5;2.4,4.7; d=c,ones(size(c);zeros(size(c),eye(size(c) d = 3.2000 4.5000 1.0000 1.0000 2.4000 4.7000 1.0000 1.0000
32、 0 0 1.0000 0 0 0 0 1.0000。 指出:實(shí)際上,例15是分塊輸入矩陣的例子,是將矩陣分4塊輸入的。注意分塊的意義。,72,四、數(shù)據(jù)的輸出格式,format命令的格式為: format 格式符 格式符決定數(shù)據(jù)輸出格式,常見格式及其含義有: short:輸出小數(shù)點(diǎn)后4位,最多不超過7位有效數(shù)字。 對于大于1000的實(shí)數(shù),用5位有效數(shù)字的科學(xué)記數(shù)形式輸出。 long:15位有效數(shù)字形式輸出。 short e:5位有效數(shù)字的科學(xué)記數(shù)形式輸出。 long e:15位有效數(shù)字的科學(xué)記數(shù)形式輸出。 rat:近似有理數(shù)形式輸出。,73,數(shù)據(jù)輸出格式(續(xù)),指出: format命令只影響數(shù)
33、據(jù)的輸出格式,而不影響數(shù)據(jù)的存儲(chǔ)和計(jì)算。 如果輸出的矩陣的每個(gè)元素都是整數(shù),則MATLAB就用整數(shù)格式顯示結(jié)果。只要矩陣中有一個(gè)元素不是整數(shù),MATLAB就按當(dāng)前的輸出格式顯示。 默認(rèn)的輸出格式是short。,74,數(shù)據(jù)輸出格式(續(xù)),注意rat格式。如果在進(jìn)行運(yùn)算前執(zhí)行format rat命令,則可以用分?jǐn)?shù)形式顯示運(yùn)算結(jié)果,這樣便于核對手算的結(jié)果的正確性。 例如, 1/3 ans = 0.3333 format rat 1/3 ans = 1/3 在改變了輸出格式后,為了以后還按默認(rèn)的格式輸出,應(yīng)當(dāng)再執(zhí)行format short命令。,75,數(shù)據(jù)輸出格式(續(xù)),即使在默認(rèn)格式下,0也僅僅是輸
34、出0。教材中輸出0.0000是不正確的。 顯示格式是非常重要的,要熟悉幾種重要的格式。,76,3 MATLAB的符號(hào)運(yùn)算,數(shù)值運(yùn)算中的變量需要事先賦值,才能出現(xiàn)在表達(dá)式中參與運(yùn)算。但人們經(jīng)常需要對含有字符的矩陣和函數(shù)進(jìn)行處理和運(yùn)算,如求函數(shù)的微分、積分等等,這就需要進(jìn)行符號(hào)運(yùn)算。 MATLAB的符號(hào)運(yùn)算利用符號(hào)數(shù)學(xué)工具箱進(jìn)行,符號(hào)工具箱的功能主要包括符號(hào)表達(dá)式的創(chuàng)建、符號(hào)矩陣的運(yùn)算、符號(hào)表達(dá)式的化簡和替換、符號(hào)微積分、符號(hào)代數(shù)方程、符號(hào)微分方程、符號(hào)函數(shù)繪圖等等 。,77,一、符號(hào)對象的創(chuàng)建,1、字符串變量的創(chuàng)建 字符串是一種特殊的符號(hào)對象,在數(shù)據(jù)處理、造表和函數(shù)求值中,字符串具有重要的應(yīng)用。
35、 用單引號(hào)界定的字符序列稱為字符串。 例如 s=hello 回車后,顯示 s = hello,78,符號(hào)對象的創(chuàng)建(續(xù)),指出: 字符串中的字符可以是數(shù)字、英文字母、漢字、橫線、括號(hào)、表達(dá)式、方程等。 字符串也稱字符串?dāng)?shù)據(jù)或字符變量。 用賦值符號(hào)“”把字符串賦給某個(gè)標(biāo)識(shí)符,例如s,這個(gè)標(biāo)識(shí)符稱為字符串變量名,簡稱字符名。,79,2、符號(hào)變量和符號(hào)表達(dá)式的創(chuàng)建,MATLAB的符號(hào)數(shù)學(xué)工具箱提供了兩個(gè)基本函數(shù)sym和syms,用來創(chuàng)建符號(hào)變量、符號(hào)表達(dá)式和符號(hào)矩陣。 用函數(shù)sym建立符號(hào)變量、符號(hào)表達(dá)式和符號(hào)矩陣。 調(diào)用格式為: 變量sym(表達(dá)式) y=sym(2+cos(x) 將顯示 y =
36、2+cos(x) 這是一個(gè)符號(hào)表達(dá)式。,80,符號(hào)對象的創(chuàng)建(續(xù)),用函數(shù)syms建立符號(hào)變量、符號(hào)表達(dá)式和符號(hào)矩陣。 調(diào)用格式為: Syms var1 var2 var3 注意空格。 syms y u p=exp(-y/u) q=y2+u3+u*y 這樣就建立了兩個(gè)符號(hào)表達(dá)式,分別存放在變量p和q里。 指出:由于syms函數(shù)書寫簡潔,意義清楚,符合 MATLAB的習(xí)慣特點(diǎn),一般提倡使用syms創(chuàng)建符號(hào)變量、符號(hào)表達(dá)式和符號(hào)矩陣。,81,符號(hào)對象的創(chuàng)建(續(xù)),注意用單引號(hào)創(chuàng)建的字符串變量和用函數(shù)sym、syms創(chuàng)建的符號(hào)變量性質(zhì)并不完全一樣。在符號(hào)工具箱中,有些指令的參數(shù)既可以用字符串型數(shù)據(jù)也
37、可以用符號(hào)型數(shù)據(jù),但也有一些指令的參數(shù)必須用符號(hào)型數(shù)據(jù)。 加法、求導(dǎo)等運(yùn)算對數(shù)值形式的字符串和符號(hào)變量都按符號(hào)變量對待,不加區(qū)別,而級數(shù)求和命令symsum(s,n,h,k)(s是通項(xiàng)表達(dá)式,n為級數(shù)的項(xiàng)數(shù),h、k分別是求和的起止項(xiàng)數(shù))中的s必須用符號(hào)表達(dá)式而不能用字符串。 MATLAB中,在沒有規(guī)定的情況下,默認(rèn)最接近x的字母表示自變量。,82,解(1)創(chuàng)建fj,鍵入 fj=sym(a/sin(x),cos(x);b-x/5,a*sin(x),(2)創(chuàng)建d1,鍵入 d=1/3 5.12,6.45;sin(4) sqrt(3) 9 d2=sym(d),d1=sym(1/3 5.12,6.45;
38、sin(4) sqrt(3) 9),注意: fj=sym(a/sin(x),cos(x);b-x/5,a*sin(x) 與 fj= a/sin(x),cos(x);b-x/5,a*sin(x) 的區(qū)別,83,符號(hào)矩陣的加、減、乘、除、乘方運(yùn)算分為矩陣運(yùn)算與數(shù)組運(yùn)算。,syms a b s1=a/b,sin(a);b3 5,s2=4/b cos(b);a2 8 s1+s2,s1*s2,s1.*s2,1符號(hào)矩陣的四則運(yùn)算,2符號(hào)矩陣的求逆,inv(s1)或s1(-1) s1/s2或s1*inv(s2),84,二、符號(hào)矩陣運(yùn)算中的幾個(gè)特有指令的應(yīng)用,1因式分解、展開、合并指令,factor(S)對S
39、進(jìn)行因式分解,其中S是符號(hào)矩陣、符號(hào)表達(dá)式或有理分式。,syms x k=x/(x2-5*x-6),2*x/(x2-2*x+1);(x2+x)/(x2+2*x+1),(x+1)/(x2+x) factor(k),syms x factor(3*x2-10*x+8),1)因式分解,85,2)代數(shù)式展開,expand(S)對S進(jìn)行代數(shù)式展開,其中S是符號(hào)矩陣、代數(shù)或有理分式。,syms x y A=(x+1)3,sin(x+y);exp(x+y),cos(x-y) expand(A),3)同冪項(xiàng)系數(shù)合并,collect(S,v)對符號(hào)矩陣S中各元素按v的同冪項(xiàng)系數(shù)進(jìn)行合并的結(jié)果,省略v時(shí)默認(rèn)變量為
40、x。,syms x y collect(x2*y+x*y-x2-2*x) collect(-1/4*x*exp(-2*x)+3/16*exp(-2*x),exp(-2*x),86,2求函數(shù)極限和導(dǎo)數(shù)指令,1)求函數(shù)極限指令,limit(F,x,a,right或left)輸出函數(shù)符號(hào)表達(dá)式F(x)當(dāng)自變量xa時(shí)的極限省略a時(shí)默認(rèn)a=0輸入?yún)?shù)選right表示xa時(shí)的右極限;選left表示xa時(shí)的左極限。,syms x a m limit(x(1/m)-a(1/m)/(x-a),x,a),87,2)求導(dǎo)函數(shù)指令,diff(S,v,n)輸入?yún)?shù)S為函數(shù)、函數(shù)向量、函數(shù)矩陣的符號(hào)表達(dá)式或字符表達(dá)式;輸
41、入?yún)?shù)v為求導(dǎo)的指定自變量,省略時(shí)默認(rèn)為x,t等約定俗成的自變量;輸入?yún)?shù)n為求導(dǎo)階數(shù),缺省時(shí)默認(rèn)n=1,即求一階導(dǎo)數(shù);輸出量為函數(shù)S對變量v的n階導(dǎo)數(shù);由于求導(dǎo)函數(shù)可以指定自變量,因此該指令也可用于求偏導(dǎo)數(shù)。,syms x y z=x*y*exp(sin(pi*x*y) diff(z) diff(z,y),syms z A=log(z),sin(z);-cos(z),exp(2*z) diff(A)或diff(A,z) diff(A,z,2)或diff(A,2)或diff(ans),88,R=int(S),求表達(dá)式S的不定積分R=int(S,v),求表達(dá)式S對自變量v的不定積分R=int(S
42、,a,b),求表達(dá)式S在區(qū)間a,b上的定積分R=int(S,v,a,b),求表達(dá)式S在區(qū)間a,b上的定積分,自變量為v,syms x y z f1=2*x/(1+x2)2 F1=int(f1) f2=x/(1+z2) F2=int(f2,z) f3=1/sqrt(2*pi)*exp(-x2/2) F3=int(f3,0,inf) double(F3),89,4級數(shù)求和,symsum(s,n,n0,nk)輸入?yún)?shù)s為級數(shù)通項(xiàng)的符號(hào)表達(dá)式;輸入?yún)?shù)n為通項(xiàng)中被認(rèn)定的項(xiàng)數(shù)變量。當(dāng)缺省n時(shí),通項(xiàng)表達(dá)式s中的項(xiàng)數(shù)變量一般默認(rèn)是x,若變量較多則可用findsym(z)查詢哪個(gè)量是項(xiàng)數(shù)變量;n0,nk為項(xiàng)數(shù)
43、的取值范圍,n0可取小數(shù),但步長總是1,缺省n0,nk 時(shí),默認(rèn)n01,nk =n-1;輸出量為通項(xiàng)為s的級數(shù)第n0項(xiàng)到第nk 項(xiàng)之和。,syms x n symsum(-1)n*x(n+1)/(n+1),n,0,inf) syms k symsum(x2,x,1,k-1)或symsum(x2,1,k-1),90,5一元函數(shù)的泰勒級數(shù)展開,taylor(f,n,v,a) 輸入?yún)?shù)f為待展開函數(shù)的符號(hào)表達(dá)式,不可省略; 輸入?yún)?shù)n取正整數(shù)時(shí),函數(shù)f被展開成最高冪次為n-1的冪級數(shù); 輸入?yún)?shù)v是被指定的變量名稱,缺省時(shí)默認(rèn)變量為x或t,f中只有一個(gè)可視為變量的符號(hào)量時(shí),可省略指定變量名v; 輸入
44、參數(shù)a表示函數(shù)f在v=a點(diǎn)被展開,即展開成(x-a)的冪級數(shù); 缺省a時(shí)默認(rèn)a=0,函數(shù)在v=0點(diǎn)展開,即函數(shù)f被展成麥克勞林級數(shù),此時(shí)若省略n,默認(rèn)n=6,函數(shù)f被展開成x最高為5次冪的冪級數(shù)。,syms x taylor(exp(-x),syms x y taylor(log(x*y),6,y,1),91,limit(f,x,a) 求表達(dá)式f當(dāng)xa時(shí)的極限 diff(f) 求表達(dá)式f對缺省變量的微分 diff(f,n) 求表達(dá)式f對缺省變量求n階微分 diff(f,v) 求表達(dá)式f對變量v的微分 diff(f,v,n) 求表達(dá)式f對變量v的n階微分 int(f) 求表達(dá)式f對缺省變量的積分
45、 int(f,v) 求表達(dá)式f對變量v的積分 int(f,v,a,b) 求表達(dá)式f在區(qū)間(a,b)上對變 量v的定積分,92,符號(hào)微積分(續(xù)),例.已知f(x)=ax2 +bx+c,求f(x)的微分和積分。 解:syms a b c x f=sym(a*x2+b*x+c) f = a*x2+b*x+c diff(f,a) ans = x2 int(f) ans = 1/3*a*x3+1/2*b*x2+c*x int(f,x,0,2) ans = 8/3*a+2*b+2*c,93,4 MATLAB的圖形處理,94,MATLAB的圖形處理(續(xù)), x,y,z=sphere(30); surf(x,
46、y,z),box,95,二維圖形的繪制,一、二維圖形的繪制 1、數(shù)據(jù)繪圖命令plot plot(y) 當(dāng)y為向量時(shí),以y的分量為縱坐標(biāo),以元素序號(hào)為橫坐標(biāo),用直線依次連接數(shù)據(jù)點(diǎn),繪制曲線。若y為實(shí)數(shù)矩陣,按列繪制每一列所對應(yīng)的曲線,圖中曲線數(shù)等于矩陣的列數(shù)。 plot(x,y) 若y和x為同維向量,以x為橫坐標(biāo),以y為縱坐標(biāo)繪制連線圖。若x是向量,y是行數(shù)或列數(shù)與x的長度相等的矩陣,則繪制多條不同色彩的連線圖,x被作為這些曲線的共同坐標(biāo)。若x和y是同型的矩陣,則以x和y的對應(yīng)列元素為橫縱坐標(biāo)分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。 plot(x,y1,x,y2,) 以公共的x元素為橫坐標(biāo),以y1
47、,y2,y3,元素為縱坐標(biāo)值繪制多條曲線。,96,二維圖形的繪制(續(xù)),例1以向量y=(1,2,5,4.5,3,6,1)的各個(gè)分量為縱坐標(biāo),分量序號(hào)為橫坐標(biāo)繪制順序連接線。 解:輸入命令 y=1 2 5 4.5 3 6 1; plot(y),97,二維圖形的繪制(續(xù)),98,二維圖形(續(xù)),例2.畫出一條正弦曲線和一條余弦曲線。 x=0:pi/10:2*pi; %構(gòu)造向量 y1=sin(x); %構(gòu)造對應(yīng)的y1坐標(biāo) y2=cos(x); %構(gòu)造對應(yīng)的y2坐標(biāo) plot(x,y1,x,y2) %畫出一個(gè)以x為橫坐標(biāo),y1, y2為縱坐標(biāo)的圖形 指出: 構(gòu)造向量采用了所謂的冒號(hào)法,格式為 向量名初
48、值:步長:終值 %步長為1時(shí)可以省略。 plot是針對向量或矩陣的列來繪制曲線的,也就是說,使用plot之前必須首先定義好曲線上每一點(diǎn)的x坐標(biāo)和y坐標(biāo)。 在上述的格式中,x和y都可以是表達(dá)式。 如果自變量的間隔取得比較大,光滑的曲線就會(huì)顯示出折線的本來面貌。,99,二維圖形(續(xù)),100,2、函數(shù)繪圖命令,1解析函數(shù)繪圖命令fplot 使用格式: fplot(fun,lims,s,tol) 其中, 用單引號(hào)界定的輸入?yún)?shù)fun,是解析函數(shù)字符串表達(dá)式、內(nèi)聯(lián)函數(shù)或m函數(shù)文件名。fun可以是一個(gè)函數(shù),也可以是元素是函數(shù)的向量。 輸入?yún)?shù)lims規(guī)定了繪圖區(qū)間,lims=a,b,c,d表示,自變量x
49、和函數(shù)y的取值范圍分別是xa,b,yc,d。通常c,d被省略。 輸入?yún)?shù)s用于修飾曲線,后面介紹。 輸入?yún)?shù)tol規(guī)定函數(shù)取值的相對誤差,常省略。默認(rèn)2e-3。 fun是函數(shù)向量時(shí),繪出的幾條曲線的取值區(qū)間和線型是相同的。,101,解析函數(shù)繪圖命令fplot(續(xù)),例3.繪制函數(shù)f(x)=cos(tan(x)的曲線。 解: fplot(cos(tan(pi*x),-0.4,1.4) ,102,fplot(續(xù)),103,解析函數(shù)繪圖命令fplot(續(xù)),指出: 輸入該命令的函數(shù)表達(dá)式是解析式,式中不用數(shù)組算法符號(hào)(與plot命令不同)。 fplot函數(shù)用于繪制已定義函數(shù)在指定的范圍內(nèi)的圖像,雖然
50、它與plot相似,也是用描點(diǎn)法畫圖,但該函數(shù)可以根據(jù)函數(shù)自身的性質(zhì)自適應(yīng)地對函數(shù)進(jìn)行采樣,能夠自動(dòng)確定曲線變化率大的區(qū)段并在此區(qū)段進(jìn)行密集采樣。也就是說,畫圖時(shí)x的取值間隔是隨函數(shù)的曲率自動(dòng)調(diào)節(jié)的,曲率大(曲率半徑?。┨庨g隔小,曲率小處間隔大。這種自適應(yīng)地取值使繪制的曲線光滑、美觀、可以減少取點(diǎn)的數(shù)目的同時(shí)更好地反映函數(shù)的變化規(guī)律。,104,2隱函數(shù)繪圖命令ezplot,使用格式: ezplot(func,lims) 其中 輸入?yún)?shù)func可以是字符表達(dá)式,內(nèi)聯(lián)函數(shù)或m函數(shù)文件名。 輸入?yún)?shù)func為一元函數(shù)f(x)時(shí),輸出y=f(x)的幾何圖形。這時(shí)命令后面可以不用括號(hào)和引號(hào)。但函數(shù)的第一個(gè)
51、符號(hào)不得是括號(hào),不能加寫輸入?yún)?shù)lims,默認(rèn)繪圖范圍是-2,2。 輸入?yún)?shù)func是二元函數(shù)表達(dá)式f(x,y)時(shí),輸出方程f(x,y)=0的幾何圖形,即繪制隱函數(shù)曲線。變量的范圍由輸入?yún)?shù)lims規(guī)定,lims=a,b,c,d表示x和y的取值范圍分別是xa,b,yc,d。省略c,d時(shí)默認(rèn)x、y取值區(qū)間相同。,105,隱函數(shù)繪圖命令ezplot(續(xù)),輸入?yún)?shù)func是參數(shù)方程 時(shí),func寫成x(t),y(t),按參數(shù)方程繪出ta,b的函數(shù)曲線。 輸入?yún)?shù)lims規(guī)定自變量取值范圍,默認(rèn)范圍是x-2,2。 該命令一次只能繪制一條曲線,在繪出函數(shù)圖形的同時(shí)自動(dòng)在圖的上側(cè)加注函數(shù)解析式,下側(cè)加注
52、自變量名稱,曲線的色型、線型無法控制。,106,例4繪制三葉玫瑰線r=sin(3t)(極坐標(biāo)方程)。 解:把極坐標(biāo)方程r=sin(3t),通過 轉(zhuǎn)換成直角坐標(biāo)方程: 輸入命令: ezplot(sin(3*t)*cos(t),sin(3*t)*sin(t),0,pi),隱函數(shù)繪圖命令ezplot(續(xù)),107,隱函數(shù)繪圖命令ezplot(續(xù)),108,二維圖形繪制(續(xù)),MATLAB繪制的其它圖像的例子: 例5.某次考試學(xué)生成績優(yōu)秀的占8%,良好的占20%,中等的占36%,及格的占24%,不及格的占12%。分別用餅圖和條形圖表示。 解: x=8 20 36 24 12; subplot(221)
53、;pie(x,1 0 0 0 1); title(餅圖); subplot(222);bar(x,grpup); title(垂直條形圖); subplot(223);bar(x,stack); title(累加值為縱坐標(biāo)的垂直條形圖); subplot(224);barh(x,group); title(水平條形圖);,109,fplot(續(xù)),110,3、繪圖控制命令,(1)曲線控制命令 在使用plot等命令繪制曲線時(shí)可以指定曲線的顏色、線型和數(shù)據(jù)點(diǎn)圖標(biāo)?;镜恼{(diào)用格式為 plot(x,y,color line-style marker) 顏色控制符表,111,繪圖控制(續(xù)),線型控制符表
54、,112,繪圖控制(續(xù)),數(shù)據(jù)點(diǎn)標(biāo)記控制符表,113,繪圖控制(續(xù)),指出: 顏色、線型、標(biāo)記三種屬性的符號(hào)必須放在同一個(gè)字符串內(nèi)。 屬性的先后順序沒有關(guān)系,可以只指定一兩個(gè)屬性,也可以全部缺省,但同種屬性不能同時(shí)指定兩個(gè)。 顏色缺省為藍(lán)色。 點(diǎn)、線標(biāo)識(shí)符缺省為實(shí)線。 屬性間不用間隔。,114,繪圖控制(續(xù)),例6.用紅色、點(diǎn)連線、叉號(hào)畫出正弦曲線。 x=0:0.2:8; y=sin(x); plot(x,y,r:x),115,繪圖控制(續(xù)),116,(2)圖形的標(biāo)注命令,圖形標(biāo)注函數(shù),117,圖形的標(biāo)注(續(xù)),例7.給例2的圖形加入網(wǎng)格和標(biāo)注。 x=0:pi/10:2*pi; y1=sin(
55、x); y2=cos(x); plot(x,y1,x,y2) grid on %添加網(wǎng)格 xlabel(x軸) %橫坐標(biāo)名 ylabel(y軸) %縱坐標(biāo)名 title(正弦函數(shù)和余弦函數(shù)曲線) %標(biāo)題 text(1.5,0.3,cos(x) %指定位置標(biāo)注 gtext(sin(x) %用鼠標(biāo)選擇位置標(biāo)注 axis(0 2*pi -1.2 1.2) %設(shè)置坐標(biāo)軸的最大最小值,118,圖形的標(biāo)注(續(xù)),119,圖形的標(biāo)注(續(xù)),指出: 標(biāo)注文字可以使用漢字。 標(biāo)注也可以適當(dāng)設(shè)定字符屬性增加文本變化,例如 title(弦函數(shù)曲線,F(xiàn)ontName,隸書,FontSize,20),120,(3)圖形
56、的比較顯示命令,默認(rèn)的情況下,MATLAB每一次使用plot函數(shù)進(jìn)行繪圖,都將清除原有的圖形,但有時(shí)候我們希望后面繪制的圖形能和前面所繪制的圖形進(jìn)行比較。此時(shí)我們有兩種方法,一是采用hold on(/of)命令,在同一個(gè)圖形窗口中繪制新的圖形疊加在原有的圖形上。二是采用subplot(n,m,k)命令,將圖形窗口分割成幾個(gè)小窗口,在每個(gè)窗口中畫出一個(gè)圖形。 hold on(/of) 保持繪圖命令 subplot(n,m,k) 將圖形窗口分成n行m列個(gè)格子,在第k個(gè)格子繪圖,格子按從上到下依行計(jì)數(shù)。,121,圖形的比較顯示(續(xù)),例8.在同一個(gè)窗口中,使用兩次plot函數(shù) 繪制兩條曲線。 x=0
57、:0.2:12; plot(x,sin(x),-) hold on plot(x,cos(x),:),122,圖形的比較顯示(續(xù)),123,圖形的比較顯示(續(xù)),例9把當(dāng)前窗口分割成四個(gè)區(qū)域,繪制四條函數(shù)曲 線。 x=0:0.05:8; y1=2*sin(x); y2=2*cos(x); y3=sin(2*x); y4=cos(2*x); subplot(2,2,1); plot(x,y1); title(2sinx),124,圖形的比較顯示(續(xù)),subplot(2,2,2); plot(x,y2); title(2cosx) subplot(2,2,3); plot(x,y3); title(sin2x) subplot(2,2,4); plot(x,y4); title(cos2x),125,圖形的比較顯示(續(xù)),126,二、三維圖形的繪制,1、和二維圖形相對應(yīng),MATLAB提供
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年結(jié)構(gòu)化布線系統(tǒng)的檢測設(shè)備合作協(xié)議書
- 冀教版數(shù)學(xué)九年級下冊《30.3 由不共線三點(diǎn)的坐標(biāo)確定二次函數(shù)》聽評課記錄1
- 生產(chǎn)技術(shù)合同范本(2篇)
- 甘肅省就業(yè)協(xié)議書(2篇)
- 北師大版歷史七年級下冊第19課《明清經(jīng)濟(jì)繁盛與清前期盛世輝煌》聽課評課記錄
- 人教版數(shù)學(xué)八年級下冊聽評課記錄:第16章 二次根式的乘除法(二)
- 新北師大版小學(xué)數(shù)學(xué)一年級上冊《分類》聽評課記錄
- 中圖版歷史七年級下冊第14課《明朝的對外交往與抗倭斗爭》聽課評課記錄
- 蘇科版數(shù)學(xué)九年級上冊《切線》聽評課記錄
- 統(tǒng)編版初中語文九年級下冊第十六課《驅(qū)遣我們的想象》聽評課記錄
- 2025年春季學(xué)期學(xué)校德育工作計(jì)劃安排表(完整版)
- 2025年有機(jī)肥行業(yè)發(fā)展趨勢分析報(bào)告
- 中央2025年中國文聯(lián)所屬單位招聘14人筆試歷年參考題庫附帶答案詳解
- 學(xué)生作文稿紙(A4打印)
- 2024美團(tuán)共享出行加盟合同
- 2023-2024年員工三級安全培訓(xùn)考試題及參考答案(綜合題)
- 2024年人教版初中英語九年級全冊單元測評與答案
- 永州市2025屆高三高考第二次模擬考試(二模)語文試卷(含答案)
- 國學(xué)智慧與健康幸福人生(課件)
- 【渞法】學(xué)會(huì)自我保護(hù)教學(xué)設(shè)計(jì) 七年級道德與法治下冊(統(tǒng)編版2024)
- 2025-2030年中國融雪劑行業(yè)運(yùn)行動(dòng)態(tài)及發(fā)展前景預(yù)測報(bào)告
評論
0/150
提交評論