第2章-matlab數值計算功能_第1頁
第2章-matlab數值計算功能_第2頁
第2章-matlab數值計算功能_第3頁
第2章-matlab數值計算功能_第4頁
第2章-matlab數值計算功能_第5頁
已閱讀5頁,還剩60頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1 第二章 MATLAB 的數值計算功能 22.1 2.1 變量及其賦值變量及其賦值2.1.1變量變量3. MATLAB嚴格區分大小寫字母,因此,嚴格區分大小寫字母,因此,A和和a是不同的變量。是不同的變量。變量由變量名表示,變量的命名應遵循如下規則:變量由變量名表示,變量的命名應遵循如下規則: 1變量名必須以字母開頭;由字母、數字和下劃線混合組成;不允變量名必須以字母開頭;由字母、數字和下劃線混合組成;不允許使用空格、標點符號;許使用空格、標點符號; 2變量名的字符長度不應超過變量名的字符長度不應超過31個(對于個(對于6.x版本);版本); 4關鍵字(如關鍵字(如 if,while 等)不

2、能作為變量名。等)不能作為變量名。 Sin是變量名,而是變量名,而sin是正弦函數名是正弦函數名3pi 圓周率圓周率 的近似值的近似值3.1415926 inf或或Inf 表示正無窮大表示正無窮大,定義為定義為1/0 NaN 非數,它產生于非數,它產生于0 ,0/0, / 等運算等運算 i,j 虛數單位虛數單位 ans 對于未賦值運算結果,自動賦給對于未賦值運算結果,自動賦給ans永久變量永久變量如果用戶給永久變量賦值,原始默認值丟失,直至清除變量如果用戶給永久變量賦值,原始默認值丟失,直至清除變量或重啟或重啟Matlab42.1.2、 MATLAB 的語句 1.百分號(注釋符)百分號(注釋符

3、)% 與其它程序語言一樣,為了方便其他人及日后自己對程序的閱讀,與其它程序語言一樣,為了方便其他人及日后自己對程序的閱讀,增加程序的可讀性,需要在增加程序的可讀性,需要在MATLAB文件中加入注釋。注釋行必須文件中加入注釋。注釋行必須以以%號開始,執行文件時,號開始,執行文件時,%號后面的語句不予執行。號后面的語句不予執行。2.逗號和分號逗號和分號 在賦值語句中,逗號(空格)用在同一行中各元素之間,分在賦值語句中,逗號(空格)用在同一行中各元素之間,分號用在行與行之間。多條語句放在一行,用號用在行與行之間。多條語句放在一行,用逗號逗號分開表示分開表示要求要求顯顯示結果,由示結果,由分號分號分開

4、表示分開表示不要求不要求顯示結果。顯示結果。53.續行標志(續行標志() 當一條語句或矩陣太長,一行不能顯示時,可用續行標志當一條語句或矩陣太長,一行不能顯示時,可用續行標志 ,另起一行繼續完成該條語句的書寫。另起一行繼續完成該條語句的書寫。4.中斷鍵中斷鍵 在命令的執行過程中,可以隨時按下在命令的執行過程中,可以隨時按下CTRLC鍵中斷鍵中斷MATLAB的的運行。運行。62.1.3 矩陣及其元素的賦值 矩陣是矩陣是 MATLAB 進行數據處理的基本單元,進行數據處理的基本單元,MATLAB 的大部分運算的大部分運算都是在矩陣的意義上進行的。都是在矩陣的意義上進行的。 MATLAB中的變量或常

5、量都代表矩陣,中的變量或常量都代表矩陣,標量應看作是標量應看作是1 11 1階的矩陣階的矩陣。 矩陣運算也是矩陣運算也是 MATLAB 最重要的運算。最重要的運算。矩陣的創建可以通過以下幾種形式:矩陣的創建可以通過以下幾種形式:(1)直接列出元素;)直接列出元素;(2)通過語句和函數產生;)通過語句和函數產生;(3)從外部文件裝入;)從外部文件裝入;(4)在)在M中文件建立。中文件建立。71、直接輸入矩陣:例如輸入語句例如輸入語句a=1 2 3;4 5 6;7 8 9a= 1 2 3 4 5 6 7 8 9顯示的結果為:顯示的結果為:創建矩陣的基本原則:創建矩陣的基本原則:1.矩陣的所有元素必

6、須放在方括號矩陣的所有元素必須放在方括號“ ”內;內;2.矩陣元素之間必須用逗號矩陣元素之間必須用逗號“,”或空格隔開;或空格隔開;3.矩陣行與行之間用分號矩陣行與行之間用分號“;”或回車符隔開;或回車符隔開;4.矩陣元素可以是矩陣元素可以是 數字數字 或或 表達式。表達式。8 eye(n) 單位矩陣單位矩陣, nn階的方陣階的方陣 zeros(m,n) 元素全為零的元素全為零的mn階階矩陣矩陣 ones(m,n) 元素全為元素全為 1 的的mn矩陣矩陣 rand(m,n) 元素為在元素為在0,1上均勻分布的上均勻分布的mn隨機矩陣隨機矩陣 randn(m,n) 元素為正態分布的元素為正態分布

7、的mn隨機矩陣隨機矩陣 magic(n) 魔方矩陣,其特點是元素由魔方矩陣,其特點是元素由1到到n2的自然數組成,每行、每列及兩的自然數組成,每行、每列及兩對角線上的元素之和均等于對角線上的元素之和均等于(n3+n)/2幾種特殊矩陣的產生幾種特殊矩陣的產生2、由函數創建矩陣:93、從外部數據文件調入矩陣:例如:目錄例如:目錄C:Program FilesMATLABR2007bworkmatlab_training下有生物醫學信號的文下有生物醫學信號的文本文件本文件bio_signal.txt,在命令窗口輸入:,在命令窗口輸入:loadload(C:Program FilesMATLABR20

8、07bworkmatlab_trainingbio_signal.txt)從磁盤讀入從磁盤讀入.mat文件,或讀入排列成矩陣的文件,或讀入排列成矩陣的.txt文件文件10importdata例如:目錄例如:目錄C:Program FilesMATLABR2006aworktemp下有下有生物醫學信號的文本文件生物醫學信號的文本文件bio_signal.txt,在命令窗口輸入:,在命令窗口輸入: importdata(C:Program FilesMATLABR2006aworktempbio_signal.txt);其他方法fopen, fread, textscan, fscan, fclo

9、se從文件中讀入數據,能自動分析文件的格式。應用廣泛從文件中讀入數據,能自動分析文件的格式。應用廣泛11數據存儲 save save filename a b c 把把a、b、c三個變量保存在文件名為三個變量保存在文件名為filename.mat的文件中。的文件中。save filename 把全部內存變量保存為把全部內存變量保存為filename.mat文件。文件。save filename a b c append 把把a、b、c三個變量添加到文件三個變量添加到文件名名為為filename.mat的文件中。的文件中。12clear; %刪除工作空間內的所有變量刪除工作空間內的所有變量N=1

10、000; x=rand(1,N); %產生一個隨機向量產生一個隨機向量y=5; % save rand_data x y; % 把把x y存入文件存入文件rand_data.mat中中save rand_data_txt.txt x -ascii clear %刪除工作空間內的所有變量刪除工作空間內的所有變量 load(rand_data.mat); % 把文件把文件rand_data.mat中的變量載入工作空中的變量載入工作空間間示例示例132.1.4 向量的生成數組可以看成是行向量,即只有一行或一列的矩陣。前面介紹的所數組可以看成是行向量,即只有一行或一列的矩陣。前面介紹的所有矩陣的建立和

11、保存的方法,對向量同樣適用有矩陣的建立和保存的方法,對向量同樣適用1.利用冒號利用冒號“:”創建等差數列:創建等差數列:t=初值:增量:終值初值:增量:終值其中其中 “增量增量”是可以省略的,省略時,默認的增量步長為是可以省略的,省略時,默認的增量步長為1。增量也可。增量也可以是以是負值,負值,但此時,初值應該但此時,初值應該大于大于終值。終值。例如:例如:x=1:5; y=0:pi/4:2*pi; z=6:-1:0;142.利用函數利用函數linspace和和logspace創建向量:創建向量:linspace 函數,創建指定長度的等距向量函數,創建指定長度的等距向量例:例:k=linspa

12、ce(-pi,pi,4)t=linspace(初值初值d1,終值,終值d2,點數,點數n)logspace 函數,創建對數等距的向量函數,創建對數等距的向量y=logspace(d1,d2) y=logspace(d1,d2,N)從從10的的d1次冪到次冪到d2次冪之間按等比級數等分為次冪之間按等比級數等分為N個點,個點,N缺省時,默認為缺省時,默認為50。在線性空間上,行矢量的值從在線性空間上,行矢量的值從d1到到d2,數據個數,數據個數n,缺省時,缺省時n為為100。152.1.5 矩陣的下標創建了矩陣之后,若要調用矩陣里的元素,就要了解單個元素標志和創建了矩陣之后,若要調用矩陣里的元素,

13、就要了解單個元素標志和尋訪的尋訪的3種方式:種方式:1.“全下標全下標”標志標志 “全下標全下標”標志由標志由行下標行下標和和列下標列下標組成,組成,例如:例如:A(3,5)標志矩陣標志矩陣A的第的第3行第行第5列元素。列元素。2.“單下標單下標”標志標志A(3,:) %矩陣矩陣A的第三行的第三行A(:) %把矩陣把矩陣A轉換成列向量,轉換成列向量,按列計數,表示下標按列計數,表示下標A = 0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214 A(8)ans = 0.018516例例找出數組找出數組A=-4 -2 0 2

14、 4-3 -1 1 3 5中所有絕對值大于中所有絕對值大于3的元素的元素A=-4,-2,0,2,4;-3,-1,1,3,5; L=abs(A)3islogical(L)X=A(L) %創建矩陣創建矩陣A%建立矩陣建立矩陣L%判斷判斷L中是否有邏輯中是否有邏輯1%指出指出A中絕對值大于中絕對值大于3的元素的元素3. 邏輯矩陣邏輯矩陣L = 1 0 0 0 1 0 0 0 0 1X = -4 4 5172.1.6 復數表示 1.將其元素逐個賦予復數將其元素逐個賦予復數 2.將其實部和虛部矩陣分別賦值將其實部和虛部矩陣分別賦值如如z=1,3;5,7+2,4;6,8*i (*號不能省略)號不能省略)如

15、如 z=1+2i,3+4i;5+6i,7+8i若在前面程序中曾經給若在前面程序中曾經給i或或j賦過值,則賦過值,則i或或j就不再是虛數單位,就不再是虛數單位,此時應把賦值的此時應把賦值的i或或j清除再執行虛數賦值語句。清除再執行虛數賦值語句。18clear命令(刪除變量)刪除內存變量。刪除內存變量。clear操作通常有兩種方式:操作通常有兩種方式:clear 清除當前工作空間中的全部變量清除當前工作空間中的全部變量clear a b c 清除當前工作空間中的變量清除當前工作空間中的變量a、b、c被清除的變量之間只能用空格,不能用逗號或分號。被清除的變量之間只能用空格,不能用逗號或分號。 因為在

16、一條指令中,逗號和分號都表示該指令結束,不同的是逗號結束因為在一條指令中,逗號和分號都表示該指令結束,不同的是逗號結束的指令要顯示運算結果,而分號結束的指令不顯示執行結果。的指令要顯示運算結果,而分號結束的指令不顯示執行結果。19a=1;b=2;c=3;clear a,b;cc= 3bb= 2a? Undefined function or variable a.例例 用用clear命令時,系統不會給出確認提示,一旦命令時,系統不會給出確認提示,一旦刪除將不能恢復。刪除將不能恢復。201.請指出如下請指出如下5個變量名中,哪些是合法的?個變量名中,哪些是合法的?abcd-2 xyz-_33ch

17、an a變量變量ABCDefg5.使用兩種方法產生使用兩種方法產生0,3*pi等間隔分布等間隔分布11個個點的向量點的向量2.指令指令clear, clc各有什么用處?各有什么用處?3.創建一個創建一個6階的魔方矩陣階的魔方矩陣A 把第把第3行第行第4列的元素賦給列的元素賦給B 把第把第2行、第行、第4行的所有元素賦給行的所有元素賦給C4.矩陣矩陣A=2 4 5 9; -4 6 3 -7,找出找出A中大于中大于3 的元素賦值給的元素賦值給B練習練習212.2.1 who和和whos命令命令who(whos) 查看工作空間里所有的變量查看工作空間里所有的變量who(whos) a b 查看工作空

18、間里的變量查看工作空間里的變量a和和b被查看的變量之間只能用空格,不能用逗號或分號。被查看的變量之間只能用空格,不能用逗號或分號。當想個給某一個變量賦值時,為了避免與已存在的變量同名,當想個給某一個變量賦值時,為了避免與已存在的變量同名,就要用就要用exist查詢當前的工作空間內是否存在該變量。調用格查詢當前的工作空間內是否存在該變量。調用格式:式:x=exist(A)2.2 2.2 常用管理命令常用管理命令22例例a=1 2 3;4 5 6;b=2 5+8 9*i;c=23.5;whoYour variables are:a b c whos Name Size Bytes Class a

19、2x3 48 double array b 1x2 32 double array (complex) c 1x1 8 double arrayGrand total is 9 elements using 88 bytes232.2.2 format 命令(數據格式)format 用來控制用來控制 數據數據 顯示格式。顯示格式。format compact 數據顯示緊湊格式數據顯示緊湊格式format loose 數據顯示稀疏格式(系統默認)數據顯示稀疏格式(系統默認) format 命令只改變數字的顯示格式,并不改變命令只改變數字的顯示格式,并不改變數字的大小。數字的大小。24252.3

20、matlab 的常用數學函數matlab提供了幾乎所有的初等數學函數,包括提供了幾乎所有的初等數學函數,包括三角函數三角函數、對數對數函數函數、指數函數指數函數和和復合運算函數復合運算函數等。等。函數名(變量)函數名(變量)函數的運算分別作用于變量的每一個元素。函數的運算分別作用于變量的每一個元素。所有函數名都是所有函數名都是小寫字母小寫字母。函數的一般調用格式為函數的一般調用格式為262728方向取整數對方向取整數對292.4 矩陣與數組運算矩陣運算是按照線性代數的運算法則定義的;矩陣運算是按照線性代數的運算法則定義的;數組運算是按元素逐個執行的。數組運算是按元素逐個執行的。1.矩陣加、減(

21、矩陣加、減(,)運算)運算相加、減的兩矩陣必須有相同的行和列兩矩陣對應元素相加減。相加、減的兩矩陣必須有相同的行和列兩矩陣對應元素相加減。2.4.1 矩陣與數組的算術運算矩陣與數組的算術運算Matlab有兩類運算指令:矩陣算術運算和數組算術運算。有兩類運算指令:矩陣算術運算和數組算術運算。A+B,A-B,A、B必須同維必須同維302. 乘(乘( 、. )運算運算 A矩陣的列數必須等于矩陣的列數必須等于B矩陣的行數矩陣的行數 標量可與任何矩陣相乘。標量可與任何矩陣相乘。 矩陣乘(矩陣乘( )運算運算A*B 數組乘(數組乘(. )運算運算A.*BA,B維數相同,相應元素相乘。維數相同,相應元素相乘

22、。A=1 2 3;4 5 6;7 8 9;B=2 4 6;1 3 5;7 9 10;A.*BAmn*Bnpc*Bnp313. 乘方(、.)運算 矩陣乘方(矩陣乘方()運算運算 Ap矩陣矩陣A必須是方陣,必須是方陣,A和和p不能同時為矩陣;不能同時為矩陣;當當p取整數時,該指令的運算結果可以做如下的理解:取整數時,該指令的運算結果可以做如下的理解:u當當p0時,時, Ap表示方陣表示方陣A的直接自乘的直接自乘p次;次;u當當p a=1+2i 3-2ia = 1.0000 + 2.0000i 3.0000 - 2.0000i aans = 1.0000 - 2.0000i 3.0000 + 2.0

23、000i例例37矩陣的轉置。只是將排列形式進行轉置。矩陣的轉置。只是將排列形式進行轉置。 矩陣轉置(矩陣轉置(.)運算運算 a=1+2i 3-2ia = 1.0000 + 2.0000i 3.0000 - 2.0000i a.ans = 1.0000 + 2.0000i 3.0000 - 2.0000i例例對于實數矩陣用(對于實數矩陣用()符號或()符號或(.)求轉置結果是一樣的;)求轉置結果是一樣的;381. 矩陣大小矩陣大小 size 命令命令m,n=size(A,x):返回矩陣的行列數:返回矩陣的行列數m與與n,當,當x=1,則只返回行數則只返回行數m,當,當x=2,則只返回列數,則只返

24、回列數n。 length 命令命令n=length(A):當:當A為數組時,返回數組的元素個數,當為數組時,返回數組的元素個數,當A為矩陣時,返回矩陣行數或列數的最大值。為矩陣時,返回矩陣行數或列數的最大值。length(A)=max(size(A)2.4.2 矩陣的塊操作393、A=magic(4)找出找出A (B-3)習題習題1、A=3,B=4 計算計算A-2B-3的結果的結果2、a=1,2,3,b=4;5;6 A) a.*b B) a*b C) a/b D) a.b以上各計算是否可實現以上各計算是否可實現A=magic(4); x=find(AA=0 -6 -1;6 2 -16;-5 2

25、0 -10;d=eig(A)d = -3.0710 -2.4645 +17.6008i -2.4645 -17.6008i41 det(A) 計算矩陣計算矩陣A的行列式的值,的行列式的值,A必須為方陣。必須為方陣。 rank(A) 求矩陣求矩陣A的秩的秩 inv(A) 計算矩陣計算矩陣A的逆,的逆,A必須為方陣。必須為方陣。 trace(A) 求矩陣求矩陣A的對角線元素的和。的對角線元素的和。 poly(A) 求矩陣求矩陣A的特征多項式。的特征多項式。 roots(poly(A) 求矩陣求矩陣A的特征方程的特征根。的特征方程的特征根。42手工計算特征值手工計算特征值0)5)(1(05404*2

26、)3)(1 (032412434445ija46)log(ija47ijae482.4.4 基本的數據分析常用的數據處理命令常用的數據處理命令命命 令令說說 明明maxmax求各列元素的最大值求各列元素的最大值minmin求各列元素的最小值求各列元素的最小值meanmean求各列元素的平均值求各列元素的平均值stdstd求各列元素的標準差求各列元素的標準差medianmedian求各列的中間元素值求各列的中間元素值sumsum求各列元素的和求各列元素的和49data = 154 49 83 67 158 99 81 75 155 100 68 86 145 63 75 96 145 63 75 96 141 55 65 75 155 56 64 85 147 89 87 77 147 96 54 100 145 60 76 67 max(data)ans = 1

溫馨提示

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

評論

0/150

提交評論