MatLab基本運(yùn)算_第1頁(yè)
MatLab基本運(yùn)算_第2頁(yè)
MatLab基本運(yùn)算_第3頁(yè)
MatLab基本運(yùn)算_第4頁(yè)
MatLab基本運(yùn)算_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、MatLab & 數(shù)學(xué)建模第一講 簡(jiǎn)介及基本運(yùn)算一、簡(jiǎn)介MATLAB名字由MATrix和 LABoratory 兩詞的前三個(gè)字母組合而成。那是20世紀(jì)七十年代后期的事:時(shí)任美國(guó)新墨西哥大學(xué)計(jì)算機(jī)科學(xué)系主任的Cleve Moler教授出于減輕學(xué)生編程負(fù)擔(dān)的動(dòng)機(jī),為學(xué)生設(shè)計(jì)了一組調(diào)用LINPACK和EISPACK庫(kù)程序的“通俗易用”的接口,此即用FORTRAN編寫的萌芽狀態(tài)的MATLAB。經(jīng)幾年的校際流傳,在Little的推動(dòng)下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市場(chǎng)。從這時(shí)起,MATLAB的內(nèi)核采

2、用C語(yǔ)言編寫,而且除原有的數(shù)值計(jì)算能力外,還新增了數(shù)據(jù)圖視功能。MATLAB以商品形式出現(xiàn)后,僅短短幾年,就以其良好的開(kāi)放性和運(yùn)行的可靠性,使原先控制領(lǐng)域里的封閉式軟件包(如英國(guó)的UMIST,瑞典的LUND和SIMNON,德國(guó)的KEDDC)紛紛淘汰,而改以MATLAB為平臺(tái)加以重建。在時(shí)間進(jìn)入20世紀(jì)九十年代的時(shí)候,MATLAB已經(jīng)成為國(guó)際控制界公認(rèn)的標(biāo)準(zhǔn)計(jì)算軟件。 在歐美大學(xué)里,諸如應(yīng)用代數(shù)、數(shù)理統(tǒng)計(jì)、自動(dòng)控制、數(shù)字信號(hào)處理、模擬與數(shù)字通信、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真等課程的教科書都把MATLAB作為內(nèi)容。這幾乎成了九十年代教科書與舊版書籍的區(qū)別性標(biāo)志。在那里,MATLAB是攻讀學(xué)位的大學(xué)生

3、、碩士生、博士生必須掌握的基本工具。在國(guó)際學(xué)術(shù)界,MATLAB已經(jīng)被確認(rèn)為準(zhǔn)確、可靠的科學(xué)計(jì)算標(biāo)準(zhǔn)軟件。在許多國(guó)際一流學(xué)術(shù)刊物上,(尤其是信息科學(xué)刊物),都可以看到MATLAB的應(yīng)用。在設(shè)計(jì)研究單位和工業(yè)部門,MATLAB被認(rèn)作進(jìn)行高效研究、開(kāi)發(fā)的首選軟件工具。如美國(guó)National Instruments公司信號(hào)測(cè)量、分析軟件LabVIEW,Cadence公司信號(hào)和通信分析設(shè)計(jì)軟件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB為主要支撐。又如HP公司的VXI硬件,TM公司的DSP,Gage公司的各種硬卡、儀器等都接受MATLAB的支持。MATLAB具有用法簡(jiǎn)易、可靈活運(yùn)用、程式

4、結(jié)構(gòu)強(qiáng)又兼具延展性。以下為其幾個(gè)特色: · 功能強(qiáng)的數(shù)值運(yùn)算 - 在MATLAB環(huán)境中,有超過(guò)500種數(shù)學(xué)、統(tǒng)計(jì)、科學(xué)及工程方面的函數(shù)可使用,函數(shù)的標(biāo)示自然,使得問(wèn) 題和解答像數(shù)學(xué)式子一般簡(jiǎn)單明了,讓使用者可全力發(fā)揮在解題方面,而非浪費(fèi)在電腦操作上。 · 先進(jìn)的資料視覺(jué)化功能 - MATLAB的物件導(dǎo)向圖形架構(gòu)讓使用者可執(zhí)行視覺(jué)數(shù)據(jù)分,并制作高品質(zhì)的圖形,完成科學(xué)性或工程 性圖文并茂的文章。 · 高階但簡(jiǎn)單的程式環(huán)境 - 作為一種直譯式的程式語(yǔ)言,MATLAB容許使用者在短時(shí)間內(nèi)寫完程式,所花的時(shí)間約為用 FORTRAN 或 C 的幾分之一,而且不需要編譯(com

5、pile)及聯(lián)結(jié) (link) 即能執(zhí)行,同時(shí)包含了更多及更容易使用的內(nèi)建 功能。 · 開(kāi)放及可延伸的架構(gòu) - MATLAB容許使用者接觸它大多數(shù)的數(shù)學(xué)原使碼,檢視運(yùn)算法,更改現(xiàn)存函數(shù),甚至加入自己的函數(shù)使 MATLAB成為使用者所須要的環(huán)境。 · 豐富的程式工具箱 - MATLAB的程式工具箱融合了套裝前軟體的優(yōu)點(diǎn),與一個(gè)靈活的開(kāi)放但容易操作之環(huán)境,這些工具箱提 供了使用者在特別應(yīng)用領(lǐng)域所需之許多函數(shù)?,F(xiàn)有工具箱有:符號(hào)運(yùn)算(利用Maple V的計(jì)算核心執(zhí)行 )、影像處理、統(tǒng)計(jì)分析、訊號(hào)處理、神經(jīng)網(wǎng)路、模擬分析、控制系統(tǒng)、即時(shí)控制、系統(tǒng)確認(rèn)、強(qiáng)建控 制、弧線分析、最佳化、

6、模糊邏輯、mu分析及合成、化學(xué)計(jì)量分析。二、MatLab界面MATLAB系統(tǒng)命令命 令含 義help在線幫助helpwin在線幫助窗口helpdesk在線幫助工作臺(tái)demo運(yùn)行演示程序ver版本信息readme顯示Readme文件who顯示當(dāng)前變量whos顯示當(dāng)前變量的詳細(xì)信息clear清空工作間的變量和函數(shù)pack整理工作間的內(nèi)存load把文件調(diào)入變量到工作間save把變量存入文件中quit/exit退出MATLABwhat顯示指定的matlab文件lookfor在HELP里搜索關(guān)鍵字which定位函數(shù)或文件path獲取或設(shè)置搜索路徑echo命令回顯cd改變當(dāng)前的工作目錄pwd顯示當(dāng)前的工作

7、目錄dir顯示目錄內(nèi)容unix執(zhí)行unix命令dos執(zhí)行dos命令!執(zhí)行操作系統(tǒng)命令computer顯示計(jì)算機(jī)類型在MATLAB系統(tǒng)中使用幫助方式有三: 1. 是利用help指令,如果你已知要找的題材 (topic) 為何的話,直接鍵入help <topic>。所以即使身旁沒(méi)有使用手冊(cè),也可以使用help指令查詢不熟悉的指令或是題材之用法,例如help sqrt 2. 是利用lookfor指令,它可以從你鍵入的關(guān)鍵字(key-word)(即使這個(gè)關(guān)鍵字并不是MATLAB的指令)列出 所有相關(guān)的題材,例如lookfor cosine, lookfor sine。 3. 是利用指令視窗

8、的功能選單中的Help,從中選取Table of Contents(目錄)或是Index(索引)。 三、基本數(shù)學(xué)運(yùn)算在MATLAB下進(jìn)行基本數(shù)學(xué)運(yùn)算,只需將運(yùn)算式直接打在提示號(hào) >> 后面,并按入Enter鍵即可。MATLAB將計(jì)算 的結(jié)果以ans顯示?!纠壳蟮乃阈g(shù)運(yùn)算結(jié)果。(1)用鍵盤在MATLAB指令窗中輸入以下內(nèi)容>> (12+2*(7-4)/32 (2)在上述表達(dá)式輸入完成后,按【Enter】鍵,該就指令被執(zhí)行。(3)在指令執(zhí)行后,MATLAB指令窗中將顯示以下結(jié)果。ans = 2 我們也可給運(yùn)算式的結(jié)果設(shè)定一個(gè)變量x: x = (5*2+1.3-0.8)*1

9、02/25 x = 42 變量x的值可以在下個(gè)語(yǔ)句中調(diào)用: y= 2*x+1y = 85 變量命名規(guī)則:1.         變量名的大小寫是敏感。2.         變量的第一個(gè)字符必須為英文字母,而且不能超過(guò)31個(gè)字符。3.         變量名可以包含下連字符、數(shù)字,但不能為空格符、標(biāo)點(diǎn)。系統(tǒng)預(yù)定義的變量ans預(yù)設(shè)的計(jì)算結(jié)果的變量名epsMATLA

10、B定義的正的極小值=2.2204e-16pi內(nèi)建的值(= 3.1415926.)inf值,無(wú)限大 ( )NaN無(wú)法定義一個(gè)數(shù)目 ( )i 或 j虛數(shù)單位i=j=nargin函數(shù)輸入?yún)?shù)個(gè)數(shù)nargout函數(shù)輸出參數(shù)個(gè)數(shù)realmax最大的正實(shí)數(shù)realmin最小的正實(shí)數(shù)flops浮點(diǎn)運(yùn)算次數(shù)而鍵入clear則是去除所有定義過(guò)的變量名稱。表達(dá)式MATLAB書寫表達(dá)式的規(guī)則與“手寫算式”差不多相同,但要求所有表達(dá)式都是以純文本形式輸入。如果一個(gè)指令過(guò)長(zhǎng)可以在結(jié)尾加上.(代表此行指令與下一行連續(xù)), 例如:>> 1*2+3*4+5*6+7*8+9*10+11*12+.13*14+15*1

11、6ans =744若不想讓MATLAB每次都顯示運(yùn)算結(jié)果,只需在運(yùn)算式最後加上分號(hào)(;)即可,如下例: y = 1034*22+35; 若要顯示變數(shù)y的值,直接鍵入y即可: >>y y = 22991 MATLAB會(huì)忽略所有在百分比符號(hào)(%)之後的文字,因此百分比之後的文字均可視為程式的注解(Comments)。例:計(jì)算圓面積Area = ,半徑r = 2,則可鍵入 >> r=2; % 圓半徑r = 2,>> area=pi*r2; % 計(jì)算圓面積area>> area = 12.5664MATLAB提供基本的算術(shù)運(yùn)算有: 加 (+)、減 (-)

12、、乘 (*)、除 (/)、冪次方 (),范例為:5+3, 5-3, 5*3, 5/3, 53MATLAB常用數(shù)學(xué)函數(shù)l         三角函數(shù)和雙曲函數(shù)名稱含義名稱含義名稱含義sin正弦csc余割atanh反雙曲正切cos余弦asec反正割acoth反雙曲余切tan正切acsc反余割sech雙曲正割cot余切sinh雙曲正弦csch雙曲余割asin反正弦cosh雙曲余弦asech反雙曲正割acos反余弦tanh雙曲正切acsch反雙曲余割atan反正切coth雙曲余切atan2四象限反正切acot反余切asinh

13、反雙曲正弦sec正割acosh反雙曲余弦l         指數(shù)函數(shù)名稱含義名稱含義名稱含義expE為底的指數(shù)log1010為底的對(duì)數(shù)pow22的冪log自然對(duì)數(shù)log22為底的對(duì)數(shù)sqrt平方根l         復(fù)數(shù)函數(shù)名稱含義名稱含義名稱含義abs絕對(duì)值conj復(fù)數(shù)共軛real復(fù)數(shù)實(shí)部angle相角imag復(fù)數(shù)虛部l         圓整函數(shù)和求余函數(shù)

14、名稱含義名稱含義ceil向+圓整rem求余數(shù)fix向0圓整round向靠近整數(shù)圓整floor向-圓整sign符號(hào)函數(shù)mod模除求余l(xiāng)         矩陣變換函數(shù)名稱含義名稱含義fiplr矩陣左右翻轉(zhuǎn)diag產(chǎn)生或提取對(duì)角陣fipud矩陣上下翻轉(zhuǎn)tril產(chǎn)生下三角fipdim矩陣特定維翻轉(zhuǎn)triu產(chǎn)生上三角Rot90矩陣反時(shí)針90翻轉(zhuǎn)det行列式的計(jì)算l         其他函數(shù)名稱含義名稱含義min最小值max最大值mean平均值me

15、dian中位數(shù)std標(biāo)準(zhǔn)差diff相鄰元素的差sort排序length個(gè)數(shù)norm歐氏(Euclidean)長(zhǎng)度sum總和prod總乘積dot內(nèi)積cumsum累計(jì)元素總和cumprod累計(jì)元素總乘積cross外積例:>>y = sin(10)*exp(-0.3*42)y = -0.0045 【例】復(fù)數(shù)表達(dá),及計(jì)算。(1)經(jīng)典教科書的直角坐標(biāo)表示法z1= 3 + 4i z1 = 3.0000 + 4.0000i (2)采用運(yùn)算符構(gòu)成的直角坐標(biāo)表示法和極坐標(biāo)表示法z2 = 1 + 2 * i%運(yùn)算符構(gòu)成的直角坐標(biāo)表示法z3=2*exp(i*pi/6)%運(yùn)算符構(gòu)成的極坐標(biāo)表示法z=z1*

16、z2/z3 z2 = 1.0000 + 2.0000iz3 = 1.7321 + 1.0000iz = 0.3349 + 5.5801i【例】復(fù)數(shù)矩陣的生成及運(yùn)算A=1,3;2,4-5,8;6,9*iB=1+5i,2+6i;3+8*i,4+9*i C=A*B A = 1.0000 - 5.0000i 3.0000 - 8.0000i 2.0000 - 6.0000i 4.0000 - 9.0000iB = 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 8.0000i 4.0000 + 9.0000iC = 1.0e+002 * 0.9900 1.1600

17、 - 0.0900i 1.1600 + 0.0900i 1.3700 【例】求上例復(fù)數(shù)矩陣C的實(shí)部、虛部、模和相角。C_real=real(C)C_imag=imag(C)C_magnitude=abs(C)C_phase=angle(C)*180/pi%以度為單位計(jì)算相角 C_real = 99 116 116 137C_imag = 0 -9 9 0C_magnitude = 99.0000 116.3486 116.3486 137.0000C_phase = 0 -4.4365 4.4365 0 【例】指令行操作過(guò)程示例。(1)若用戶想計(jì)算的值,那末用戶應(yīng)依次鍵入以下字符y1=2*si

18、n(0.3*pi)/(1+sqrt(5) (2)按【Enter】鍵,該指令便被執(zhí)行,并給出以下結(jié)果y1 = 0.5000 若又想計(jì)算,可以簡(jiǎn)便地用操作鍵獲得指令,具體辦法是: 先用á鍵調(diào)回已輸入過(guò)的指令 y1=2*sin(0.3*pi)/(1+sqrt(5) ;然后移動(dòng)光標(biāo),把y1改成y2;把 sin 改成 cos 便可。即得y2=2*cos(0.3*pi)/(1+sqrt(5) y2 = 0.3633 注:設(shè)置精度值。t = 2.8957e-007digits(8) %精確到小數(shù)點(diǎn)后8位sym(t,'d')ans = .28957372e-6四、陣列與矩陣MATLA

19、B的運(yùn)算事實(shí)上是以陣列 (array) 及矩陣 (matrix) 方式在做運(yùn)算.陣列強(qiáng)調(diào)元素對(duì)元素的運(yùn)算,而矩陣則采用線性代數(shù)的運(yùn)算方式.宣告一變量為陣列或是矩陣時(shí),須用中括號(hào) 將元素置于其中。陣列為一維元素所構(gòu)成,而矩陣為多維元素所組成.例如: » x=1 2 3 4 5 6 7 8 ;% 一維 1x8 陣列【例】簡(jiǎn)單矩陣的輸入步驟。(1)在鍵盤上輸入下列內(nèi)容:( 以 ; 區(qū)隔各列的元素)A = 1,2,3; 4,5,6; 7,8,9 (2)按【Enter】鍵,指令被執(zhí)行。(3)在指令執(zhí)行后,MATLAB指令窗中將顯示以下結(jié)果:A = 1 2 3 4 5 6 7 8 9 【例】矩陣

20、的分行輸入A=1,2,34,5,67,8,9 (以下是顯示結(jié)果)A = 1 2 3 4 5 6 7 8 9 >>a=1,4,6,8,10 %一維矩陣>>a(3) % a的第三個(gè)元素ans = 6»x =1 2 3 4 5 6 7 84 5 6 7 8 9 10 11; %二維2x8 矩陣 » x(3) % x的第三個(gè)元素ans = 2» x(1 2 5) % x的第一、二、五個(gè)元素ans = 1 4 3>> x(2,3) % x的第二行第三列的元素ans = 6x(1:5) % x的第前五個(gè)元素ans = 1 4 2 5 3&#

21、187; x(10:end) % x的第十個(gè)元素后的元素ans = 8 6 9 7 10 8 11» x(10:-1:2) % x的第十個(gè)元素和第二個(gè)元素的倒排ans = 8 5 7 4 6 3 5 2 4» x(find(x>5) % x中大于5的元素ans = 6 7 8 6 9 7 10 8 11» x(4)=100 %給x的第四個(gè)元素重新給值x = 1 2 3 4 5 6 7 8 4 100 6 7 8 9 10 11» x(3)= % 刪除第三個(gè)元素(不是二維數(shù)組)x = Columns 1 through 12 1 4 100 3 6

22、4 7 5 8 6 9 7 Columns 13 through 15 10 8 11» x(16)=1 % 加入第十六個(gè)元素x = Columns 1 through 12 1 4 100 3 6 4 7 5 8 6 9 7 Columns 13 through 16 10 8 11 1當(dāng)元素很多的時(shí)候,則須采用以下的方式:» x=(1:2.5:120); % 以:起始值=1,增量值=2,終止值=120的矩陣» x=linspace(0,1,100); % 利用linspace,以區(qū)隔起始值=0,終止值=1之間,元素?cái)?shù)目=100»a= %空矩陣a =

23、» zeros(2,2) %全為0的矩陣ans = 0 00          0 » ones(3,3) %全為1的矩陣ans = 1 1 1 1 1 11 1 1» rand(2,4); %隨機(jī)矩陣»a=1:7, b=1:0.2:5; %更直接的方式»c=b a; %可利用先前建立的陣列 a 及陣列 b ,組成新陣列以下將陣列的運(yùn)算符號(hào)及其意義列出,除了加減符號(hào)外其余的陣列運(yùn)算符號(hào)均須多加 . 符號(hào)。 陣列運(yùn)算功能 (注意:一定要 多加 .

24、符號(hào))+ 加 - 減 .* 乘 ./ 左除 . 右除 . 次方 .' 轉(zhuǎn)置>> a=1:5; a-2 % 從陣列a減2 ans = -1 0 1 2 3 >> 2*a-1 % 以2乘陣列a再減1 ans = 1 3 5 7 9 >> b=1:2:9; a+b % 陣列a加陣列b ans = 2 5 8 11 14 >> a.*b % 陣列a及b中的元素與元素相乘 ans = 1 6 15 28 45 >> a./b % 陣列a及b中的元素與元素相除 ans = 1.0000 0.66667 0.6000 0.5714 0.55

25、56 >> a.2 % 陣列中的各個(gè)元素作二次方 ans = 1 4 9 16 25 >> 2.a % 以2為底,以陣列中的各個(gè)元素為次方 ans = 2 4 8 16 32 >> b.a % 以陣列b中的各個(gè)元素為底,以陣列a中的各個(gè)元素為次方 ans = 1 9 125 2401 59049 >> b=a' % 陣列b是陣列a的轉(zhuǎn)置結(jié)果 b = 1 2 3 4 5矩陣的幾種基本變換操作1. 通過(guò)在矩陣變量后加的方法來(lái)表示轉(zhuǎn)置運(yùn)算>>a=10,2,12;34,2,4;98,34,6;>>a'an

26、s = 10 34 98 2 2 3412 4 62.       矩陣求逆>>inv(a)ans = -0.0116 0.0372 -0.0015 0.0176 -0.1047 0.0345 0.0901 -0.0135 -0.00453.       矩陣求偽逆>>pinv(a)ans = -0.0116 0.0372 -0.0015 0.0176 -0.1047 0.0345 0.0901 -0.0135 -0.00454.       左右反轉(zhuǎn)>>fliplr(a)ans = 12 2 10 4 2 34 6 34 985.       矩陣的特征值>>u,v=eig(a)u = -0.2960 0.3635 -0.3600 -0.2925 -0.4128 0.7886 -0.9093 -0.8352 0.4985v = 48.8395 0 0 0 -19.8451 0 0 0

溫馨提示

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

評(píng)論

0/150

提交評(píng)論