數(shù)學建模課件第2講MATLAB入門_第1頁
數(shù)學建模課件第2講MATLAB入門_第2頁
數(shù)學建模課件第2講MATLAB入門_第3頁
數(shù)學建模課件第2講MATLAB入門_第4頁
數(shù)學建模課件第2講MATLAB入門_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)學建模與數(shù)學實驗數(shù)學建模與數(shù)學實驗后勤工程學院數(shù)學教研室 MATLAB入門入門n MATLAB作為線性系統(tǒng)的一種分析和仿真工具,是理工科大學生應該掌握的技術工具,它作為一種編程語言和可視化工具,可解決工程工程、科學計算科學計算和數(shù)學學科數(shù)學學科中許多問題。 n MATLAB建立在向量向量、數(shù)組數(shù)組和矩陣矩陣的基礎上,使用方便,人機界面直觀,輸出結果可視化。n 矩陣矩陣是MATLAB的核心n MATLAB的進入與運行方式(兩種) MATLAB入門入門一、變一、變 量量 與與 函函 數(shù)數(shù)二、數(shù)二、數(shù) 組組三、三、 矩矩 陣陣四、四、 MATLAB編程編程五、五、 實實 驗驗 作作 業(yè)業(yè) 1、變量

2、、變量 MATLAB中變量的命名規(guī)則命名規(guī)則是:(1)變量名必須是不含空格的單個詞;(2)變量名區(qū)分大小寫;(3)變量名最多不超過19個字符;(4)變量名必須以字母打頭,之后可以是 任意字母、數(shù)字或下劃線,變量名中 不允許使用標點符號. 一、變一、變 量量 與與 函函 數(shù)數(shù)特殊變量取 值ans用于結果的缺省變量名pi圓周率eps計算機的最小數(shù),當和 1 相加就產生一個比1大的數(shù)flops浮點運算數(shù)inf無窮大,如 1/0NaN不定量,如 0/0i,ji=j=1nargin所用函數(shù)的輸入變量數(shù)目nargout所用函數(shù)的輸出變量數(shù)目realmin最小可用正實數(shù)realmax最大可用正實數(shù)特殊變量表

3、特殊變量表2、數(shù)學運算符號及標點符號、數(shù)學運算符號及標點符號+加法運算,適用于兩個數(shù)或兩個同階矩陣相加.減法運算*乘法運算.*點乘運算/除法運算./點除運算乘冪運算.點乘冪運算反斜杠表示左除.(1)MATLAB的每條命令后,若為逗號逗號或或無標點無標點符號, 則顯示命令的結果;若命令后為分號分號,則禁止顯示結果. (2)“%” 后面所有文字為注釋. (3) “.”表示續(xù)行.函 數(shù)名 稱函 數(shù)名 稱sin(x)正弦函數(shù)asin(x)反正弦函數(shù)cos(x)余弦函數(shù)acos(x)反余弦函數(shù)tan(x)正切函數(shù)atan(x)反正切函數(shù)abs(x) 絕對值max(x) 最大值min(x) 最小值sum(

4、x)元素的總和sqrt(x) 開平方exp(x)以 e為底的指數(shù)log(x)自然對數(shù))(log10 x以 10 為底的對數(shù)sign(x)符號函數(shù)fix(x)取整3、數(shù)學函數(shù)、數(shù)學函數(shù) MATLAB的內部函數(shù)是有限的,有時為了研究某的內部函數(shù)是有限的,有時為了研究某一個函數(shù)的各種性態(tài),需要為一個函數(shù)的各種性態(tài),需要為MATLAB定義新函數(shù),定義新函數(shù),為此必須編寫函數(shù)文件為此必須編寫函數(shù)文件. 函數(shù)文件是文件名后綴為函數(shù)文件是文件名后綴為M的文件,這類文件的的文件,這類文件的第一行必須是一特殊字符第一行必須是一特殊字符function開始開始,格式為:,格式為: function 因變量名因變量

5、名=函數(shù)名(自變量名)函數(shù)名(自變量名)函數(shù)值的獲得必須通過具體的運算實現(xiàn),并賦給因變函數(shù)值的獲得必須通過具體的運算實現(xiàn),并賦給因變量量. 4、M文件文件M文件建立方法:文件建立方法:1. 在在Matlab中,點中,點:File-New-M-file 2. 在編輯窗口中輸入程序內容在編輯窗口中輸入程序內容 3. 點:點:File-Save,存盤,存盤,M文件名必須文件名必須 與函數(shù)名一致。與函數(shù)名一致。Matlab的應用程序也以的應用程序也以M文件保存。文件保存。例:定義函數(shù)例:定義函數(shù) f(x1,x2)=100(x2-x12)2+(1-x1)2function f=fun(x)f=100*(

6、x(2)-x(1)2)2+(1-x(1)21.建立建立M文件:文件:fun.mMATLAB(fun)2. 可以直接使用函數(shù)可以直接使用函數(shù)fun.m例如:計算例如:計算 f(1,2), 只需在只需在Matlab命令窗口鍵入命令:命令窗口鍵入命令:x=1 2fun(x) 返回返回x=logspace(first,last,n) 創(chuàng)建從開始,到結束,有n個元素的對數(shù)分隔行向量. 1、創(chuàng)建簡單的數(shù)組、創(chuàng)建簡單的數(shù)組二、數(shù)二、數(shù) 組組MATLAB(shuzu1)x=a b c d e f 創(chuàng)建包含指定元素的行向量x=first:last 創(chuàng)建從first開始,加1計數(shù),到last結束的行向量x=fir

7、st:increment:last 創(chuàng)建從first開始,加increment計數(shù),last結束的行向量x=linspace(first,last,n) 創(chuàng)建從first開始,到last結束,有n個元素的行向量 2、 數(shù)組元素的訪問數(shù)組元素的訪問MATLAB(shuzu2)(3)直接使用元素編址序號直接使用元素編址序號. x(a b c d) 表示提取數(shù)組x的第a、b、c、d個元素構成一個新的數(shù)組x(a) x(b) x(c) x(d). (2)訪問一塊元素訪問一塊元素: x(a :b :c)表示訪問數(shù)組x的從第a個元素開始,以步長為b到第c個元素(但不超過c),b可以為負數(shù),b缺損時為1. (

8、1)訪問一個元素訪問一個元素: x(i)表示訪問數(shù)組x的第i個元素. 3 3、數(shù)組的方向、數(shù)組的方向 前面例子中的數(shù)組都是一行數(shù)列,是行方向分布的前面例子中的數(shù)組都是一行數(shù)列,是行方向分布的. 稱之為稱之為行向量行向量. 數(shù)組也可以是數(shù)組也可以是列向量列向量,它的數(shù)組操作和運,它的數(shù)組操作和運算與行向量是一樣的,唯一的區(qū)別是結果以列形式顯示算與行向量是一樣的,唯一的區(qū)別是結果以列形式顯示. 產生列向量有兩種方法:產生列向量有兩種方法: 直接產生直接產生 例例 c=1;2;3;4 轉置產生轉置產生 例例 b=1 2 3 4; c=b 說明:以說明:以空格空格或或逗號逗號分隔的元素指定的是不同列的

9、分隔的元素指定的是不同列的元素,而以元素,而以分號分號分隔的元素指定了不同行的元素分隔的元素指定了不同行的元素. 4、數(shù)組的運算、數(shù)組的運算 (1)標量)標量-數(shù)組運算數(shù)組運算 數(shù)組對標量的加、減、乘、除、乘方是數(shù)組的每個數(shù)組對標量的加、減、乘、除、乘方是數(shù)組的每個元素對該標量施加相應的加、減、乘、除、乘方運算元素對該標量施加相應的加、減、乘、除、乘方運算. 設:設:a=a1,a2,an, c=標量標量則:則:a+c=a1+c,a2+c,an+c a.*c=a1*c,a2*c,an*c a./c= a1/c,a2/c,an/c(右除)右除) a.c= c/a1,c/a2,c/an (左除)左除

10、) a.c= a1c,a2c,anc c.a= ca1,ca2,can MATLAB(shuzu3)(2)數(shù)組)數(shù)組-數(shù)組運算數(shù)組運算 當兩個數(shù)組有相同維數(shù)時,加、減、乘、除、當兩個數(shù)組有相同維數(shù)時,加、減、乘、除、冪運算可按冪運算可按元素對元素元素對元素方式進行的,不同大小或維方式進行的,不同大小或維數(shù)的數(shù)組是不能進行運算的數(shù)的數(shù)組是不能進行運算的. 設:設:a=a1,a2,an, b=b1,b2,bn則:則:a+b= a1+b1,a2+b2,an+bn a.*b= a1*b1,a2*b2,an*bn a./b= a1/b1,a2/b2,an/bn a.b=b1/a1,b2/a2,bn/an

11、 a.b=a1b1,a2b2,anbnMATLAB(shuzu4) 返回返回三、三、 矩矩 陣陣 逗號逗號或或空格空格用于分隔某一行的元素,用于分隔某一行的元素,分號分號用于區(qū)分不用于區(qū)分不同的行同的行. 除了分號,在輸入矩陣時,按除了分號,在輸入矩陣時,按Enter鍵也表示開始鍵也表示開始一新行一新行. 輸入矩陣時,嚴格要求所有行有相同的列輸入矩陣時,嚴格要求所有行有相同的列. 例例 m=1 2 3 4 ;5 6 7 8;9 10 11 12 p=1 1 1 1 2 2 2 2 3 3 3 31、矩陣的建立、矩陣的建立特殊矩陣特殊矩陣的建立:. MATLAB(matrix1)d=eye(m,

12、n) 產生一個產生一個m行、行、n列的單位矩陣列的單位矩陣c=ones(m,n) 產生一個產生一個m行、行、n列的元素列的元素 全為全為1的矩陣的矩陣b=zeros(m,n) 產生一個產生一個m行、行、n列的零矩陣列的零矩陣a= 產生一個空矩陣,當對一項操作無結產生一個空矩陣,當對一項操作無結 果時,返回空矩陣,空矩陣的大小為零果時,返回空矩陣,空矩陣的大小為零. 2、矩陣中元素的操作、矩陣中元素的操作MATLAB(matrix2)(1)矩陣)矩陣A的第的第r行:行:A(r,:),:)(2)矩陣)矩陣A的第的第r列:列:A(:,(:,r)(4)取矩陣)取矩陣A的第的第i1i2行、第行、第j1j

13、2列構成新矩陣列構成新矩陣:A(i1:i2, j1:j2)(5)以逆序提取矩陣)以逆序提取矩陣A的第的第i1i2行,構成新矩陣行,構成新矩陣:A(i2:-1:i1,:),:)(6)以逆序提取矩陣)以逆序提取矩陣A的第的第j1j2列,構成新矩陣列,構成新矩陣:A(:, j2:-1:j1 )(7)刪除)刪除A的第的第i1i2行,構成新矩陣行,構成新矩陣:A(i1:i2,:,:)= (8)刪除)刪除A的第的第j1j2列,構成新矩陣列,構成新矩陣:A(:,:, j1:j2)= (9)將矩陣)將矩陣A和和B拼接成新矩陣:拼接成新矩陣:A B;A;B(3)依次提取矩陣)依次提取矩陣A的每一列,將的每一列,

14、將A拉伸為一個列向量:拉伸為一個列向量:A(:)(:) (2)矩陣)矩陣-矩陣運算矩陣運算 1 元素對元素元素對元素的運算,同數(shù)組的運算,同數(shù)組-數(shù)組運算。數(shù)組運算。 3、矩陣的運算、矩陣的運算(1)標量)標量-矩陣運算矩陣運算 同標量同標量-數(shù)組運算。數(shù)組運算。MATLAB(matrix3) 2矩陣運算:矩陣運算:矩陣加法:矩陣加法:A+B矩陣乘法:矩陣乘法:A*B方陣的行列式:方陣的行列式:det(A)方陣的逆:方陣的逆:inv(A)方陣的特征值與特征向量:方陣的特征值與特征向量:V,D=eigA 返回返回關系與邏輯運算關系與邏輯運算 1、關系操作符、關系操作符關關系系操操作作符符說說明明

15、小小于于大大于于=大大于于或或等等于于= =等等于于=不不等等于于2、邏輯運算符邏輯運算符邏輯操作符邏輯操作符說明說明與與或或非非1、for循環(huán):循環(huán):允許一組命令以固定的和預定的次數(shù)重復允許一組命令以固定的和預定的次數(shù)重復 for x=array commands end 在在for和和end語句之間的命令串語句之間的命令串commands按數(shù)組(按數(shù)組(array)中)中的每一列執(zhí)行一次的每一列執(zhí)行一次. 在每一次迭代中,在每一次迭代中,x被指定為數(shù)組的下一列,即被指定為數(shù)組的下一列,即在第在第n次循環(huán)中,次循環(huán)中,x=array(:,:,n)控制流控制流MATLAB提供三種決策或控制流結

16、構:提供三種決策或控制流結構: for循環(huán)、循環(huán)、while循環(huán)、循環(huán)、if-else-end結構結構. 這些結構經常包含大量的這些結構經常包含大量的MATLAB命令,故經常出現(xiàn)在命令,故經常出現(xiàn)在MATLAB程序中,而不是直接加在程序中,而不是直接加在MATLAB提示符下提示符下. 例例 對對n=1,2,10,求求xn= 的值的值10sinnMATLAB(for1) while expression commands end 只要在表達式只要在表達式(expression)里的所有元素為真,就執(zhí)行里的所有元素為真,就執(zhí)行while和和end語句之間的命令串語句之間的命令串commands.

17、2、While循環(huán)循環(huán) 與與for循環(huán)以固定次數(shù)求一組命令相反,循環(huán)以固定次數(shù)求一組命令相反,while循環(huán)以不定的次循環(huán)以不定的次數(shù)求一組語句的值數(shù)求一組語句的值.MATLAB(while1) 例例 設銀行年利率為設銀行年利率為11.25%。將。將10000元錢存入銀行,元錢存入銀行,問多長時間會連本帶利翻一番?問多長時間會連本帶利翻一番?3、If-Else-End結構結構(1)有一個選擇的一般形式是:)有一個選擇的一般形式是: if expression commands end 如果在表達式如果在表達式(expression)里的所有元素為真,里的所有元素為真,就執(zhí)行就執(zhí)行if和和end

18、語句之間的命令串語句之間的命令串commands. MATLAB(fun1) 1(),2( ,1211)( 2ffxxxxxf求設例 先建立先建立M文件文件fun1.m定義函數(shù)定義函數(shù)f(x),再在),再在Matlab命令窗口輸入命令窗口輸入fun1(2),fun1(-1)即可。即可。2) 有三個或更多的選擇的一般形式是:有三個或更多的選擇的一般形式是: if (expression1) commands1 else if (expression2) commands2 else if (expression3) commands3 else if elsecommands endendend end) 1(),5 . 0(),2( ,0 x1x021x1xf(x) 32fffxx求設例 先建立先建立M文件文件fun2.m定義函數(shù)定義函數(shù)f(x),再在),再

溫馨提示

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

最新文檔

評論

0/150

提交評論