




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、MATLAB編程入門 目 錄第1章 MATLAB簡介第2章 MATLAB基本語法2.1 變量及其賦值2.2 矩陣的初等運算2.3 元素群運算2.4 邏輯判斷及流程控制2.5 M文件及程序調(diào)試第一章 MATLAB簡介 MATLAB(MATrix LABoratory,即矩陣實驗室)是MathWork公司推出的一套高效率的數(shù)值計算和可視化軟件。 MATLAB是當(dāng)今科學(xué)界最具影響力、也是最具活力的軟件,它起源于矩陣運算,并已經(jīng)發(fā)展成一種高度集成的計算機語言。 它提供了強大的科學(xué)運算、靈活的程序設(shè)計流程、高質(zhì)量的圖形可視化與界面設(shè)計、便捷的與其他程序和語言接口的功能。 MATLAB語言有如下優(yōu)點: 1
2、.編程簡單使用方便 MATLAB的基本數(shù)據(jù)單元是既不需要指定維數(shù)、也不需要說明數(shù)據(jù)類型的矩陣,而且數(shù)學(xué)表達式和運算規(guī)則與通常的習(xí)慣相同。因此,在MATLAB環(huán)境下,數(shù)組的操作與數(shù)的操作一樣簡單。 MATLAB的矩陣和向量操作功能是其他語言無法比擬的。 2.函數(shù)庫可任意擴充 由于MATLAB語言庫函數(shù)與用戶文件的形式相同,所以用戶文件可以像庫函數(shù)一樣隨意調(diào)用。所以用戶可根據(jù)自己的需要任意擴充函數(shù)庫。 3.語言簡單內(nèi)涵豐富 MATLAB語言中最重要的成分是函數(shù),其一般形式為: Function a,b,c=fun(d,e,f) fun是自定義的函數(shù)名,只要不與庫函數(shù)名相重,并且符合字符串的書寫規(guī)則
3、即可。這里的函數(shù)既可以是數(shù)學(xué)上的函數(shù),也可以是程序塊或子程序,內(nèi)涵十分豐富。每個函數(shù)建立一個同名的M文件,如上述函數(shù)的文件名為fun.m。這種文件簡單、短小、高效,并且便于調(diào)試。 4.簡便的繪圖功能 MATLAB具有二維和三維繪圖功能,使用方法十分簡便。而且用戶可以根據(jù)需要在坐標(biāo)圖上加標(biāo)題。坐標(biāo)軸標(biāo)記。文本注釋及柵格等,也可以指定圖線形式(如實線、虛線等)和顏色,也可以在同一張圖上畫不同函數(shù)的曲線,對于曲面圖還可以畫出等高線。 5.豐富的工具箱 由于MATLAB的開放性,許多領(lǐng)域的專家都為MATLAB編寫了各種程序工具箱。 這些工具箱提供了用戶在特別應(yīng)用領(lǐng)域所需的許多函數(shù),這使得用戶不必花大量
4、的時間編寫程序就可以直接調(diào)用這些函數(shù),達到事半功倍的效果。第二章 MATLAB基本語法2.1 變量及其賦值(1)標(biāo)識符與數(shù) 標(biāo)識符是標(biāo)識變量名、常量名、函數(shù)名和文件名的字符串的總稱。標(biāo)識符可以是英文字母、數(shù)字和下劃線等符號。標(biāo)識符第1個字符必須是英文字母,MATLAB對大、小寫敏感。 MATLAB只有一種數(shù)據(jù)格式,雙精度(即64位)二進制,對應(yīng)于十進制16位有效數(shù)和308次冪。(2)矩陣及其元素的賦值變量=表達式(數(shù))a=1 2 3; 4 5 6;7 8 9x=-1.3 sqrt(3) (1+2+3)/5*4x(5)=abs(x(1)a(4,3)=6.5a = 1.0000 2.0000 3.
5、0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 0 0 6.5000 元素之間用逗號、空格分開。不同行以分號隔開。語句結(jié)尾用回車或逗號,會顯示結(jié)果,如果不想顯示結(jié)果,用分號。 元素用()中的數(shù)字(下標(biāo))來注明,一維用一個下標(biāo),二維用兩個下標(biāo),逗號分開。 a(5,:)=5,4,3b=a(2,3,1,3)a(2,4,5, : )=a/7 如果賦值元素的下標(biāo)超過原來矩陣的大小,矩陣的行列會自動擴展。 全行賦值,用冒號。 提取交點元素; 抽取某行元素用空矩陣。 (4)變量檢查whowhosinfNaN 檢查工作空間中的變量; 檢查變量的詳細(xì)特征 無窮大 1
6、/0; 非數(shù)(Not a Number) 0/0 inf/inf 0*inf。 系統(tǒng)不停止運算,結(jié)果仍為inf或NaN。(5)基本賦值矩陣f1=ones(3,2)f2=zeros(2,3)f4=eye(2) 全1矩陣 全0矩陣 單位矩陣是nn階的方陣。對角線上元素為1。2.2 矩陣的初等運算(3_3計應(yīng)1、2)(1)矩陣的加減乘法i. 加、減法:相加減的兩矩陣階數(shù)必須相同,對應(yīng)元素相加減。n,m=size(fb2)x=-1 0 1; y=x-1y = -2 -1 0 語句size檢查矩陣階數(shù),兩矩陣相加,階數(shù)必須相同。 兩相加減的矩陣中有一個是標(biāo)量時,MATLAB將標(biāo)量擴展成同等元素矩陣,與另
7、一矩陣相加減。 (4)矩陣結(jié)構(gòu)形式的提取與變換A=8 1 6 0; 3 5 7 1; 4 9 2 2B1=fliplr(A)B2=flipud(A)B3=reshape(A,2,6) 提取矩陣中某些特殊結(jié)構(gòu)的元素, 組成新的矩陣,改變矩陣結(jié)構(gòu)。 fliplr矩陣左右翻轉(zhuǎn) flipud矩陣上下翻轉(zhuǎn) reshape階數(shù)重組(元素總數(shù)不變)B8=A(: ) 將元素按列取出排成一列 A = 8 1 6 0 3 5 7 1 4 9 2 2B1=fliplr(A)B1 = 0 6 1 8 1 7 5 3 2 2 9 4B2=flipud(A)B2 = 4 9 2 2 3 5 7 1 8 1 6 0B3=r
8、eshape(A,2,6)B3 = 8 4 5 6 2 1 3 1 9 7 0 2B4=rot90(A)B4 = 0 1 2 6 7 2 1 5 9 8 3 4B5=diag(A)B5 = 8 5 2B6=tril(A)B6 = 8 0 0 0 3 5 0 0 4 9 2 0B7=triu(A)B7 = 8 1 6 0 0 5 7 1 0 0 2 2B8=A(: ) B8 =8 3 4 1 5 9 6 7 2 0 1 22.3 元素群運算(1)數(shù)組及其賦值數(shù)組是單行或單列的矩陣,一個N階的數(shù)組可以表述為一個N組向量。t=0 : 0.02 : 1z=10 : -3: -5k=1 : 6用兩個冒號
9、組成等增量語句格式:t=初值:增量:終值增量也可以設(shè)為負(fù)值,此時初值要比終值大增量為1時,增量值可以省略。(2)元素群的四則運算和冪次運算 元素群的運算是矩陣中所有元素按單個元素運算。運算符前加.號,表示元素群運算。 元素群的運算的兩個矩陣必須是同階的。(標(biāo)量會自動擴展為同階矩陣參與運算)x=1, 2, 3y=4, 5, 6z=x.*yz=x.yz=x.yz=x.2z =4 10 18 x*y不能成立z =4.0 2.5 2.0 元素群沒有左除右除之分z =1 32 729 xy 能成立嗎?z =1 4 9 x2能成立嗎?(3)元素群的函數(shù) 除矩陣運算的乘、右除、左除、冪指數(shù)( / )、sqr
10、tm、expm、logm函數(shù)外,基本函數(shù)庫中的常用函數(shù)都可用于元素群運算。自變量可以是任意階的矩陣。 基本函數(shù)庫(elfun)x=0: 0.1: pi/4x = 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000disp(顯示 x sin(x) cos(x) tan(x)disp(x, sin(x) cos(x) tan(x) 顯示 x sin(x) cos(x) tan(x) 0 0 1.0000 0 0.1000 0.0998 0.9950 0.1003 0.2000 0.1987 0.9801 0.2027 0.3000 0.2955 0
11、.9553 0.3093 0.4000 0.3894 0.9211 0.4228 0.5000 0.4794 0.8776 0.5463 0.6000 0.5646 0.8253 0.6841 0.7000 0.6442 0.7648 0.84232.4 邏輯判斷及流程控制 1. 關(guān)系運算a= 2+2=4a=(2+2=4)a=(34)a=(43)a=(3=4)a=(43)a=(34)等于a = 1a = 1小于a = 1 a = 0小于等于a = 1a = 0大于a =1a =0a=(4=3)a=(3=4)a=(3=4)A=magic(6)rem(A,3)p=(rem(A, 3)=0)lp=f
12、ind (p) 大于等于a=1a=0不等于a=1魔方矩陣,每行、每列、對角線的元素之和=(n3+n)/2A整除3,求余數(shù)余數(shù)為0,是真,即整除找出p矩陣中不為零元素的序號,矩陣元素是按列排序號的。A=magic(6)A =35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11rem(A,3)ans = 2 1 0 2 1 0 0 2 1 0 2 1 1 0 2 1 0 2 2 1 0 2 1 0 0 2 1 0 2 1 1 0 2 1 0 2p=(rem
13、(A, 3)=0)p =0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0lp=find (p) lp=2 5 9 12 13 16 20 23 27 30 31 34矩陣元素的序號排法: nm陣中下標(biāo)為(j,k)的元素序號為 l=(k-1)*n+j171319253128142026323915212733410162228345111723293561218243036符號意義符號意義符號意義+加-減*矩陣乘矩陣左除/矩陣右除矩陣乘冪.*矩陣元素乘./矩陣元素除.矩陣元素乘冪( )優(yōu)先,下標(biāo)輸入?yún)⒘?/p>
14、矩陣,向量輸入變量:整行(列)等增量賦值.小數(shù)點.母目錄行命令延續(xù)符,語句分割符,顯示;語句分割符,不顯示=賦值符轉(zhuǎn)置,引用!操作系統(tǒng)命令%注釋符=關(guān)系相等符關(guān)系大小符=關(guān)系不等符&邏輯與|邏輯或邏輯非xor異或kronKronecker積數(shù)學(xué)及邏輯運算符號 exist檢查變量或函數(shù)是否有定義any檢查向量中有無非零元素all檢查向量中元素是否全為非零find找到非零元素的序號isnan元素為NaN時得1isinf元素為Inf時得1isfinite元素為有限值時得1isempty矩陣為空陣時得1isreal矩陣為實數(shù)陣時得1issparse矩陣為稀疏陣時得1isstr為文本字符串時得1isgl
15、obal變量為全局變量時得1bitand按位求“與”bitcmp按位求“非”(補)bitor按位求“或”bitmax最大浮點整數(shù)bitxor按位求“異或”bitset設(shè)置位bitget獲取位bitshift按位移動union集合“合”unique去除集合中的重復(fù)元素intersect集合“交”setdiff集合“差”setxor集合“異或”ismember是集合中的元素時為真邏輯字符檢查 位運算 集合運算 2. 邏輯運算A=0 0 1 1B=0 1 0 1A&BA|BAxor(A, B)將邏輯運算用于元素群,得出同階的0-1矩陣。與或非異或3. 流程控制語句(1)if語句if (表達式) 語句
16、組A,endif (表達式1) 語句組A,else 語句組B,endif (表達式1) 語句組A,elseif (表達式2) 語句組B,else 語句組C,end n=input( n=), if rem(n, 2)=0 a=even, else a=odd, end n = 7 a =odd; n = 8 a =even n = a =odd n=input( n=), if isempty(n)=1 a=empty, elseif rem(n,2)=0 a=even, else a=odd, end n = a =empty 輸入數(shù)n,判斷奇偶性。如果用戶沒有鍵入數(shù)就回車,程序會判斷為od
17、d。 修改為用戶無輸入時程序自動中止。(2)while語句while (表達式) 語句組A,endx=1; while x=inf, x1=x; x=2*x; end, x1x1 = 8.9885e+307x=1; while x=inf, x1=x; x=1.1*x; end, x1x1 =1.7837e+308求MATLAB中的最大實數(shù)。X不斷增大,直到無法表示它的值,只能用inf表示為止。y=1; while 1+y1, y1=y y=y/2; end, y1 y1 =2.2204e-016求MATLAB相對精度,y不斷減小,直至MATLAB分不出1+y與1的差別為止。 (3) for語
18、句for k= 初值:增量:終值 語句組A,end將語句組A反復(fù)執(zhí)行N次,每次執(zhí)行時程序中的k值不同。N=1+(終值-初值)/增量用for語句求三角函數(shù)表for x=0: 0.1: pi/4 disp(x, sin(x), cos(x), tan(x), end運行結(jié)果 x sin(x) cos(x) tan(x) 0 0 1 0 1/10 839/8404 1195/1201 1499/14940 1/5 209/1052 295/301 374/1845 3/10 409/1384 1647/1724 275/889 2/5 368/945 2882/3129 1777/4203 1/2
19、501/1045 1699/1936 820/1501 3/5 1153/2042 430/521 979/1431 7/10 947/1470 992/1297 486/577 break, continue 1、兩種語句一般應(yīng)在循環(huán)語句中。 2、break 是中止循環(huán)的命令,在多重循環(huán)中,break只能使程序跳出包含它的最內(nèi)部的那個循環(huán)。 3、 continue 是中止本次循環(huán),執(zhí)行下一次循環(huán)。(4)switch語句switch-case-otherwiseswitch 表達式(標(biāo)量或字符串)case 值1語句組ACase 值2語句組B.Otherwise語句組Nend 當(dāng)表達式的值(或字
20、符串)與某case語句中的值(或字符串)相同時,它就執(zhí)行該case語句后的語句組,然后跳到終點的end。 case語句可以有N-1個,如果沒有任何一個case值能與表達式值相符,則執(zhí)行otherwise后面的語句組N。n=input( n=), switch mod(n,2), case 1, a=奇, case 0, a=偶, otherwise, a=空, endn = 5 a =奇n=input( n=), switch rem(n,2), case 1, a=奇, case 0, a=偶, otherwise, a=空, end n = 8 a =偶判斷輸入數(shù)n的奇、偶、空的程序mod
21、(x,m)x整除m取正余數(shù),rem(a,b) a整除b,求余數(shù)n= 負(fù)數(shù) n = -5 a =奇n=-8a =偶2.5 M文件、M函數(shù)及程序調(diào)試M文件是文本文件,擴展名*.m。(example.m)可以用任何編輯器來建立,可直接閱讀。MATLAB程序可直接調(diào)用M文件并執(zhí)行。M文件分為兩種:一種是主程序,為用戶解決特定的問題編制的;一種是子程序,函數(shù)文件,必須由其他M文件來調(diào)用,函數(shù)文件可以遞歸調(diào)用(自己調(diào)用自己)。MATLAB軟件的大部分功能是來自其建立的函數(shù)集。1主程序文件主程序文件格式特征:(1)用clear 、close all等語句開始,清除原有的變量和圖形。注釋行以%號開始,增加可讀
22、性。MATLAB不執(zhí)行%號后面的任何內(nèi)容。在鍵入“help 文件名example.m”時,屏幕會顯示以%號起始的行的內(nèi)容,注釋可以是漢字的。(2)程序的主體全局變量:在子程序中和主程序中共用的變量。應(yīng)在程序的起始部分注明。全局變量語句:global 變量名1 變量名2 程序必須用半角英文字母和符號編制(包括標(biāo)點符號),只有%號后面的注釋可以用中文。要注意流程控制語句的縮進及與end的對應(yīng)關(guān)系。選項可以自動對程序進行縮進排版。元素之間用逗號、空格分開。不同行以分號隔開。語句結(jié)尾用回車或逗號,會顯示結(jié)果,如果不想顯示結(jié)果,用分號。 (3)M文件的文件名、路徑名不能用中文,要按MATLAB的標(biāo)識符編
23、制,因為M文件也就是MATLAB的調(diào)用命令。在MATLAB的命令窗鍵入程序的M文件名后,系統(tǒng)就開始執(zhí)行M文件中的程序。 例1列出一個求fibonnaci數(shù)的程序,它是一個數(shù)列,從1,1開始,由數(shù)列的最后兩個元素之和生成新的元素,依次遞推。%計算fibonnaci數(shù)的M文件clear,close allN=input(輸入最大數(shù)值范圍 N=) f=1,1; i=1; %變量的初始化while f(i)+f(i+1)N %循環(huán)條件檢驗f(i+2)=f(i+1)+f(i); i=i+1; %求fibonnaci數(shù)的算式endf,plot(f) %顯示和繪圖輸入最大數(shù)值范圍 N=20N = 20f =
24、 1 1 2 3 5 8 13將程序以文件名fibon.m存入一MATLAB搜索目錄下,在MATLAB命令窗中鍵入fibon,即可執(zhí)行。例2求素數(shù)的程序。只能被自身和1除凈的數(shù)。%求素數(shù)(prime number)的程序clear, close allN=input(N=), x=2:N;for u=2:sqrt(N) n=find (rem(x, u)=0 & x=u);x(n)= ;end, x N = 44x =2 3 5 7 11 13 17 19 23 29 31 37 41 43人機交互命令:echo on(off) 在執(zhí)行M文件每行程序前先顯示其內(nèi)容。pause(n) 程序執(zhí)行到此,暫停n秒,再繼續(xù)。keyboard程序執(zhí)行到此暫停,在屏幕上顯示字符K,用戶可以在命令窗進行任何操作,鍵入字符串return,恢復(fù)運行原來的程序。input(提示符) 程序執(zhí)行到此暫停,屏幕顯示引號中的字符串,要求用戶輸入數(shù)據(jù)。數(shù)據(jù)輸入后,程序繼續(xù)運行。c (contro
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 14888-4:2024 EN Information security - Digital signatures with appendix - Part 4: Stateful hash-based mechanisms
- 2025年充電樁充電設(shè)備生產(chǎn)許可證申請與審批合同
- 2025年度新能源汽車充電樁建設(shè)與運營服務(wù)合同-@-3
- 2024 年度中國汽車行業(yè)爭議解決報告
- 2025年度小時工維修養(yǎng)護服務(wù)合同范本
- 2025年度知識產(chǎn)權(quán)保險產(chǎn)品代理與服務(wù)合同
- 2025年心電遙測監(jiān)護儀項目合作計劃書
- 英語-黑龍江省大慶市實驗中學(xué)2024-2025學(xué)年高一上學(xué)期階段考試
- 2025年瀝青試驗儀器項目合作計劃書
- 2025年度走讀生戶外活動安全責(zé)任承諾協(xié)議范本
- 中建雨季專項施工方案
- 《我國個人所得稅制下稅收征管問題研究》
- 建筑工程三通一平技術(shù)方案
- 綠化養(yǎng)護工安全培訓(xùn)
- 婦產(chǎn)科課件-早產(chǎn)臨床防治指南(2024)解讀
- DB21-T 1720-2017海水源熱泵系統(tǒng)工程技術(shù)規(guī)程
- 組長競選課件教學(xué)課件
- 《基于UTAUT2模型的虛擬學(xué)術(shù)社區(qū)用戶持續(xù)使用意愿影響因素研究》
- 2022年公務(wù)員多省聯(lián)考《申論》真題(遼寧A卷)及答案解析
- 2024 ESC慢性冠脈綜合征指南解讀(全)
- 消防設(shè)施操作員(初級)題庫與參考答案
評論
0/150
提交評論