matlab實例講解及基礎知識必備_第1頁
matlab實例講解及基礎知識必備_第2頁
matlab實例講解及基礎知識必備_第3頁
matlab實例講解及基礎知識必備_第4頁
matlab實例講解及基礎知識必備_第5頁
已閱讀5頁,還剩104頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 第八章 MATLAB 的數(shù)值計算功能 第二節(jié)第二節(jié) 簡單的數(shù)學運算簡單的數(shù)學運算第三節(jié)第三節(jié) MATLAB數(shù)值計算基礎數(shù)值計算基礎第四節(jié)第四節(jié) MATLAB數(shù)值分析與數(shù)值分析與多項式計算多項式計算第一節(jié)第一節(jié) 變量命名與保存變量命名與保存31.1 變量及其賦值1.1.1變量3. MATLAB嚴格區(qū)分大小寫字母,因此,A和a是不同的變量。變量由變量名表示,變量的命名應遵循如下規(guī)則: 1變量名必須以字母開頭;由字母、數(shù)字和下劃線混合組成;不允許使用空格、標點符號; 2變量名的字符長度不應超過31個(對于6.x版本); 4關鍵字(如 if,while 等)不能作為變量名。 Sin是變量名,而si

2、n是正弦函數(shù)名4 eps 容差變量,定義為1.0到最近浮點數(shù)的距離,在 pc機上= 2-52 pi 圓周率的近似值3.1415926 inf或Inf 表示正無窮大,定義為1/0 NaN 非數(shù),它產(chǎn)生于0 ,0/0,/ 等運算 i,j 虛數(shù)單位 ans 對于未賦值運算結果,自動賦給ans永久變量如果用戶給永久變量賦值,原始默認值丟失,直至清除變量或重啟Matlab51.1.2、 MATLAB 的語句 1.百分號(注釋符)% 與其它程序語言一樣,為了方便其他人及日后自己對程序的閱讀,增加程序的可讀性,需要在MATLAB文件中加入注釋。注釋行必須以%號開始,執(zhí)行文件時,%號后面的語句不予執(zhí)行。2.逗

3、號和分號 在賦值語句中,逗號(空格)用在同一行中各元素之間,分號用在行與行之間。多條語句放在一行,用逗號分開表示要求顯示結果,由分號分開表示不要求顯示結果。63.續(xù)行標志() 當一條語句或矩陣太長,一行不能顯示時,可用續(xù)行標志 ,另起一行繼續(xù)完成該條語句的書寫。4.中斷鍵 在命令的執(zhí)行過程中,可以隨時按下CTRLC鍵中斷MATLAB的運行。71.1.3 矩陣及其元素的賦值 矩陣是 MATLAB 進行數(shù)據(jù)處理的基本單元,MATLAB 的大部分運算都是在矩陣的意義上進行的。 MATLAB中的變量或常量都代表矩陣,標量應看作是11階的矩陣。 矩陣運算也是 MATLAB 最重要的運算。矩陣的創(chuàng)建可以通

4、過以下幾種形式:(1)直接列出元素;(2)通過語句和函數(shù)產(chǎn)生;(3)從外部文件裝入;(4)在M中文件建立。81、直接輸入矩陣:例如輸入語句a=1 2 3;4 5 6;7 8 9a= 1 2 3 4 5 6 7 8 9顯示的結果為:創(chuàng)建矩陣的基本原則:1.矩陣的所有元素必須放在方括號“ ”內(nèi);2.矩陣元素之間必須用逗號“,”或空格隔開;3.矩陣行與行之間用分號“;”或回車符隔開;4.矩陣元素可以是 數(shù)字 或 表達式。9 eye(n) 單位矩陣, nn階的方陣 zeros(m,n) 元素全為零的mn階矩陣 ones(m,n) 元素全為 1 的mn矩陣 rand(m,n) 元素為在0,1上均勻分布的

5、mn隨機矩陣 randn(m,n) 元素為正態(tài)分布的mn隨機矩陣 magic(n) 魔方矩陣,其特點是元素由1到n2的自然數(shù)組成,每行、每列及兩對角線上的元素之和均等于(n3+n)/2幾種特殊矩陣的產(chǎn)生2、由函數(shù)創(chuàng)建矩陣:103、從外部數(shù)據(jù)文件調入矩陣:例如:目錄C:Program FilesMATLABR2007bworkmatlab_training下有生物醫(yī)學信號的文本文件bio_signal.txt,在命令窗口輸入:loadload(C:Program FilesMATLABR2007bworkmatlab_trainingbio_signal.txt)從磁盤讀入.mat文件,或讀入排

6、列成矩陣的.txt文件11importdata例如:目錄C:Program FilesMATLABR2006aworktemp下有生物醫(yī)學信號的文本文件bio_signal.txt,在命令窗口輸入: importdata(C:Program FilesMATLABR2006aworktempbio_signal.txt);其他方法fopen, fread, textscan, fscan, fclose從文件中讀入數(shù)據(jù),能自動分析文件的格式。應用廣泛12數(shù)據(jù)存儲 save save filename a b c 把a、b、c三個變量保存在文件名為filename.mat的文件中。save fi

7、lename 把全部內(nèi)存變量保存為filename.mat文件。save filename a b c append 把a、b、c三個變量添加到文件名為myfile.mat的文件中。13clear; %刪除工作空間內(nèi)的所有變量N=1000; x=rand(1,N); %產(chǎn)生一個隨機向量y=5; % save rand_data x y; % 把x y存入文件rand_data.mat中save rand_data_txt.txt x -ascii clear %刪除工作空間內(nèi)的所有變量 load(rand_data.mat); % 把文件rand_data.mat中的變量載入工作空間示例第二節(jié)

8、第二節(jié) 簡單的數(shù)學運算簡單的數(shù)學運算一、常用的數(shù)學運算符一、常用的數(shù)學運算符二、二、Matlab 語言規(guī)則語言規(guī)則三、常用操作命令和鍵盤技巧三、常用操作命令和鍵盤技巧四、常量和變量四、常量和變量五、函數(shù)五、函數(shù)一、常用的數(shù)學運算符一、常用的數(shù)學運算符1 1、Matlab 的數(shù)學運算定義在復數(shù)域上。的數(shù)學運算定義在復數(shù)域上。4+5j+2ians = 4.0000 + 7.0000i1ij復數(shù)的輸入:復數(shù)的輸入:z1=3+4*iMatlab12121* 21/ 213zzzzzzzzz中復數(shù)運算不需要特殊處理,可以直接進行,如:, z2=5-6*j復數(shù)單位:復數(shù)單位:u + 加法加法u - 減法減

9、法u * 乘法乘法 u / 右除右除 u 乘方(冪運算)乘方(冪運算)一個數(shù)在一個數(shù)在matlab中被看成中被看成1 11 1矩陣矩陣對標量而言,這二者的作用沒對標量而言,這二者的作用沒有區(qū)別;但對矩陣來說,有區(qū)別;但對矩陣來說,“左左除除”和和“右除右除”將產(chǎn)生不同的將產(chǎn)生不同的結果。結果。u 左除左除 在運算式中,在運算式中,MATLAB通常不需要考慮空格。通常不需要考慮空格。2 2、Matlab 的數(shù)學運算符是定義在矩陣上的。的數(shù)學運算符是定義在矩陣上的。3+ 43+4與復數(shù)相關的一些函數(shù)與復數(shù)相關的一些函數(shù) 22cossinireal zzarimag zzbrabs zzrabban

10、gle zzarctgaconj zzzzabire給出復數(shù) 的實部給出復數(shù) 的虛部給出復數(shù) 的模給出復數(shù) 的相角給出復數(shù) 的共軛復數(shù)上機練習上機練習求復數(shù)求復數(shù)Z的實部、虛部、模和相角。的實部、虛部、模和相角。Example1-2上機練習上機練習(x-0.98)20.3*piExample1-1二、二、Matlab 語言規(guī)則語言規(guī)則 q Matlab 區(qū)分大小寫區(qū)分大小寫,命令和函數(shù)全是小寫命令和函數(shù)全是小寫q 一行可以輸入幾個命令,用分號一行可以輸入幾個命令,用分號“;” 或逗號或逗號“,”隔開。若隔開。若命令后無標點符號,則顯示命令的結果;若命令后為分號,命令后無標點符號,則顯示命令的結

11、果;若命令后為分號,則禁止顯示結果。則禁止顯示結果。q 續(xù)行符:續(xù)行符: “”(三個點),如果語句很長,可用續(xù)行符(三個點),如果語句很長,可用續(xù)行符將一個語句寫成多行。將一個語句寫成多行。續(xù)行符前要留一個空格。續(xù)行符前要留一個空格。q 注釋符:注釋符: “%”,其后面的內(nèi)容為注釋,對,其后面的內(nèi)容為注釋,對 Matlab 的計的計算不產(chǎn)生任何影響算不產(chǎn)生任何影響 q :冒號:冒號 :在數(shù)組中應用較多。:在數(shù)組中應用較多。q ()() :指定運算優(yōu)先級。:指定運算優(yōu)先級。q :用于構成單元數(shù)組:用于構成單元數(shù)組三、常用操作命令和鍵盤技巧三、常用操作命令和鍵盤技巧qctrl+P:調用上一行:調用

12、上一行 qctrl+n:調用下一行:調用下一行 qctrl+b:光標左移一個字符:光標左移一個字符 qctrl+f:光標右移一個字符:光標右移一個字符 qctrl+ :光標左移一個單詞:光標左移一個單詞qctrl+ :光標右移一個單詞:光標右移一個單詞qctrl+a:home 光標置于當前行開頭光標置于當前行開頭qctrl+e:end 光標置于當前行結尾光標置于當前行結尾qctrl+u:Esc 清除當前輸入行清除當前輸入行qBackSpace退格鍵:刪除光標前字符退格鍵:刪除光標前字符qctrl+k:刪除到行尾:刪除到行尾qctrl+c:中斷正在執(zhí)行的命令:中斷正在執(zhí)行的命令四、四、 常量和變

13、量常量和變量1 1、常量、常量 常量:已經(jīng)被預定了某個特定值的特定的變量。常量:已經(jīng)被預定了某個特定值的特定的變量。 常量可任意調用。常量可任意調用。 ans用于結果的缺省變量名用于結果的缺省變量名 pi圓周率圓周率 i或或j表示虛數(shù)單位表示虛數(shù)單位 beep使計算機發(fā)出使計算機發(fā)出“嘟嘟嘟嘟”聲聲 eps浮點數(shù)相對誤差浮點數(shù)相對誤差 inf無窮大數(shù)無窮大數(shù),如如1/0 NaN 不定量不定量,如如0/0 example1i=1i = 1u Matlab 并不要求對所使用的變量進行事先聲明,并不要求對所使用的變量進行事先聲明,也不需要指定變量類型,也不需要指定變量類型,Matlab會自動根據(jù)所賦

14、予變會自動根據(jù)所賦予變量的值或對變量所進行的操作來確定變量的類型。量的值或對變量所進行的操作來確定變量的類型。2、變量:、變量:u 變量是任何程序設計語言的變量是任何程序設計語言的基本元素基本元素之一。之一。u 在賦值過程中,如果變量已經(jīng)存在,在賦值過程中,如果變量已經(jīng)存在,Matlab會用會用新值新值代替代替舊值舊值,并以,并以新的變量類型新的變量類型代替代替舊的變量類舊的變量類型型。u 賦值:賦值: 變量變量=表達式(或數(shù))表達式(或數(shù))MATLAB變量的命名規(guī)則:變量的命名規(guī)則:(2 2)變量名區(qū)分大小寫;)變量名區(qū)分大小寫;(3 3)變量名長度)變量名長度不超過不超過3131位位;64

15、64(1 1)變量名必須以字母打頭,之后可以是任意字母、)變量名必須以字母打頭,之后可以是任意字母、數(shù)字或下劃線,變量名中不允許使用標點符號和空格。數(shù)字或下劃線,變量名中不允許使用標點符號和空格。(4 4)不能含中文(包括文件名)不能含中文(包括文件名) ;例:例: 6x、yr、o p為非法變量。為非法變量。 ui_y、y9oi都是合法變量。都是合法變量。五、五、函數(shù)函數(shù)1 1、標量函數(shù):、標量函數(shù): 三角、指數(shù)、對數(shù)、取整(三角、指數(shù)、對數(shù)、取整(fix)等基本函數(shù))等基本函數(shù)作用于標量或矩陣作用于標量或矩陣( (數(shù)組數(shù)組) )的每一元素的每一元素 要想得到基本要想得到基本初等函數(shù)初等函數(shù)的

16、列表,命令窗口輸入:的列表,命令窗口輸入: help elfun elementary function常用標量函數(shù)常用標量函數(shù)2、向量函數(shù):、向量函數(shù):max, min, sum, length, 作用于矩陣的作用于矩陣的每一列向量每一列向量(或行向量或行向量)3、矩陣函數(shù)、矩陣函數(shù)構造矩陣構造矩陣zeros, ones, eye, rand, diag, triu, tril, 矩陣計算矩陣計算size, det, rank, inv, eig, trace, norm, 第二節(jié)第二節(jié) MATLAB數(shù)值計算基礎數(shù)值計算基礎一、矩陣的構造一、矩陣的構造三、矩陣的四則運算三、矩陣的四則運算二、

17、對矩陣的操作二、對矩陣的操作四、矩陣的特征參數(shù)運算和分解運算四、矩陣的特征參數(shù)運算和分解運算五、矩陣元素之間的關系運算五、矩陣元素之間的關系運算六、矩陣元素之間的邏輯運算六、矩陣元素之間的邏輯運算一、矩陣的構造一、矩陣的構造1 1、向量的構造、向量的構造(1)逐個輸入法:)逐個輸入法:x= 行向量:行向量:數(shù)據(jù)元素之間均用空格(或逗號)隔開;數(shù)據(jù)元素之間均用空格(或逗號)隔開;列向量列向量:數(shù)據(jù)元素之間均用分號隔開:數(shù)據(jù)元素之間均用分號隔開例例:x1=2 3 sqrt(3) 5 向量是向量是1N( N1 )的特殊矩陣,稱為)的特殊矩陣,稱為N維向量。維向量。是一種特殊的矩陣是一種特殊的矩陣注:

18、行向量和列向量之間的轉換注:行向量和列向量之間的轉換“ ”例例:x2=2;3;sqrt(3);5 (a)冒號生成法:冒號生成法:x=first:increment:last,表示包含,表示包含由由首元素首元素開始,步長為開始,步長為increment,到,到末元素末元素結束的組成的行向量。結束的組成的行向量。(2)等差元素向量的生成)等差元素向量的生成 v2=0:-0.1:pi %步距為負,不能生成向量,得出空矩陣步距為負,不能生成向量,得出空矩陣v2 = Empty matrix: 1-by-0 v3=0:piv3 = 0 1 2 3 v4=pi:-1:0 逆序排列構成新向量逆序排列構成新向

19、量v4 = 3.1416 2.1416 1.1416 0.1416例例: v1=0:pi/4:pi v1 = 0 0.7854 1.5708 2.3562 3.1416 (b)函數(shù)法:函數(shù)法: a=linspase ( first,last ,n), 創(chuàng)建均勻間隔的創(chuàng)建均勻間隔的行向量行向量a,n為元素總數(shù)為元素總數(shù)。 a=linspace(-2,2,5)a = -2 -1 0 1 2(1)逐個輸入法:)逐個輸入法:例:表示矩陣例:表示矩陣 B=1+9i 2+8i 3+7j;4+6j 5+5i 6+4i;7+3i 8+2j 1iB = 1.0000 + 9.0000i 2.0000 + 8.0

20、000i 3.0000 + 7.0000i 4.0000 + 6.0000i 5.0000 + 5.0000i 6.0000 + 4.0000i 7.0000 + 3.0000i 8.0000 + 2.0000i 0 + 1.0000i2、矩陣的構造、矩陣的構造B=1+9i,2+8i,3+7j 4+6j,5+5i,6+4i 7+3i,8+2j,1i(2)特殊矩陣的函數(shù)生成)特殊矩陣的函數(shù)生成一些常用的特殊矩陣一些常用的特殊矩陣單位矩陣單位矩陣:eye(m,n); eye(m)零矩陣零矩陣:zeros(m,n); zeros(m)一矩陣一矩陣:ones(m,n); ones(m)對角矩陣對角矩陣

21、:對角元素向量:對角元素向量 V=a1,a2,an A=diag(V)均勻分布隨機矩陣均勻分布隨機矩陣:rand(m,n)產(chǎn)生一個產(chǎn)生一個mn的均勻的均勻 分部的隨機矩陣分部的隨機矩陣 練習:練習:example2二、對矩陣的操作二、對矩陣的操作 1、對矩陣元素的操作:、對矩陣元素的操作: 基本語句格式基本語句格式 B=A(n,m) n,m分別為矩陣的行號和列號分別為矩陣的行號和列號(1)提取矩陣)提取矩陣A的第的第n行第行第m列的元素,列的元素, b =A(n,m)(2)提取矩陣)提取矩陣A的第的第n行的所有元素,行的所有元素, b =A(n,:)(3)提取矩陣)提取矩陣A的第的第m列的所有

22、元素,列的所有元素, b= A(:,m)(4)將矩陣)將矩陣A的第的第n行的所有元素刪除,行的所有元素刪除,A(n,:)= (5)將矩陣)將矩陣A的第的第m列的所有元素刪除,列的所有元素刪除,A(:,m)= (6)將矩陣)將矩陣A的矩陣元改寫成的矩陣元改寫成n行行m列矩陣,列矩陣,Reshape(A,n,m)example5對矩陣元素的操作對矩陣元素的操作(7)x(:) x (:,:)(8)取矩陣取矩陣A的第的第i1i2行、第行、第j1j2列構成新矩陣:列構成新矩陣: A(i1:i2,j1:j2)。(9)將矩陣將矩陣A和和B拼接成新矩陣:拼接成新矩陣:A B;A;B v5=0:0.4:pi,p

23、iv5 = 0 0.4000 0.8000 1.2000 1.6000 2.0000 2.4000 2.8000 3.1416n=x(2:3,3:4)例:例: A=1,2,3,4;3,4,5,6;5,6,7,8;7,8,9,0A = 1 2 3 4 3 4 5 6 5 6 7 8 7 8 9 0 B1=A(1:2:end,:) 提取全部奇數(shù)行、所有列。提取全部奇數(shù)行、所有列。B1 = 1 2 3 4 5 6 7 8A(行,列) B2=A(3,2,1,2,3,4) 提取提取3,2,1行、行、2,3,4列構成子列構成子矩陣。矩陣。 A = 1 2 3 4 3 4 5 6 5 6 7 8 7 8 9

24、 0 B2 = 6 7 8 4 5 6 2 3 4 B3=A(:,end:-1:1) 將將A矩陣左右翻轉,即最后一列排在最矩陣左右翻轉,即最后一列排在最前面。前面。 B3 = 4 3 2 1 6 5 4 3 8 7 6 5 0 9 8 7%練習1a=magic(5)b=a(3,4) %提取矩陣a的第n行第m列的元素c=a(3,:) %提取矩陣a的第3行的所有元素d=a(:,4) %提取矩陣a的第4列的所有元素a(2,:)= %將矩陣a的第2行的所有元素刪除a(:,2)= %將矩陣a的第2列的所有元素刪除%練習2a=magic(5)a(:,:)a(:)m=a(1:3,3:5) %取矩陣A的第1-

25、3行、第3-5列構成新矩陣%練習3 矩陣的拼接x=ones(2,3)y=zeros(2,3)z1=x yz2=y xz3=x;yz4=y;x2 2、對矩陣(、對矩陣(A)的部分操作:)的部分操作:函數(shù)函數(shù)功能功能函數(shù)函數(shù)功能功能Fliplr(A)矩陣左右翻轉矩陣左右翻轉Tiag(A,k)取矩陣對角線取矩陣對角線元素元素Flipud(A)矩陣上下翻轉矩陣上下翻轉Tril(A,k)取矩陣的下三取矩陣的下三角部分角部分Flipdim(A,m)矩陣沿特定矩陣沿特定維(維(m)翻轉)翻轉Triu(A,k)取矩陣的上三取矩陣的上三角部分角部分Rot(A,k)矩陣逆時針旋矩陣逆時針旋轉轉k*90度度K可以是

26、正、負整數(shù),但絕對可以是正、負整數(shù),但絕對值一般不大于矩陣的維數(shù)。值一般不大于矩陣的維數(shù)。example53、判斷矩陣的大小、判斷矩陣的大小a=1 2 3;3 4 5;m,n=size(a)m = 2n = 3length(a)ans = 3max(size(a)ans = 3m,n=size(A):返回矩陣的行列數(shù):返回矩陣的行列數(shù)m與與n。length(A)=max(size(A):返回行數(shù)和列數(shù)的最大值。:返回行數(shù)和列數(shù)的最大值。三、矩陣的四則運算三、矩陣的四則運算example31.1.向量的基本運算:向量的基本運算:(1 1)向量與數(shù)的四則運算)向量與數(shù)的四則運算 向量中的每個元素與

27、數(shù)的向量中的每個元素與數(shù)的+-+-* */ /運算運算(2 2)向量與向量之間的加減運算)向量與向量之間的加減運算 對應元素的加減運算對應元素的加減運算(3 3)向量的點積與叉積:)向量的點積與叉積: 點積:點積:dot(A,B)=sum(A.*B) 叉積:叉積:cross(A,B) 限三維限三維 混合積:混合積:(1i+2j+3k) (2i+4j+3k) *(5i+2j+1k) v=dot(a,cross(b,c)(1 1)標量與矩陣的數(shù)運算和數(shù)學函數(shù)對矩陣的運算等)標量與矩陣的數(shù)運算和數(shù)學函數(shù)對矩陣的運算等于對矩陣的每一個元素的運算。于對矩陣的每一個元素的運算。 a=1 2 3;b=a+1

28、00 b = 101 102 103(2 2)進行矩陣加減時,參與運算的矩陣必須同維。)進行矩陣加減時,參與運算的矩陣必須同維。(3 3)進行矩陣乘法時,)進行矩陣乘法時, A的行數(shù)的行數(shù)=B列數(shù)。列數(shù)。 左乘與右乘不同:一般左乘與右乘不同:一般A*B不等于不等于B*A 若若A*B等于等于B*A,則稱,則稱A,B對易對易(4 4)冪運算)冪運算An2 2、矩陣的基本運算:、矩陣的基本運算:非奇異矩陣:對一個非奇異矩陣:對一個 n 行行 n 列的非零矩陣列的非零矩陣 A,如果,如果存在一個矩陣存在一個矩陣 B ,使使 AB = BA =E( E是單位矩陣),是單位矩陣),則稱則稱 A 為非奇異矩

29、陣,也稱為非奇異矩陣,也稱A 是可逆的。是可逆的。AB等效于等效于A的逆左乘的逆左乘B矩陣,即矩陣,即inv(A)*BB/A等效于等效于A的逆右乘的逆右乘B矩陣,即矩陣,即B * inv(A)左除左除與與右除右除不同:不同: AB B/A(5) Matlab矩陣除法矩陣除法 左除左除 / 右除右除如果如果A矩陣為非奇異矩陣(可逆),則矩陣為非奇異矩陣(可逆),則AB和和B/A運算可以實現(xiàn)運算可以實現(xiàn)進行矩陣除法時,進行矩陣除法時,A/B時,時,A、B列數(shù)必須相同。列數(shù)必須相同。 AB時,時,A、B行數(shù)必須相同。行數(shù)必須相同。練習練習: :已知已知A=1 3 5;2 4 6;7 8 7 B=1

30、2 3; 2 3 2;3 4 6比較比較A*B和和B*A AB和和B/A A/B和和BA 的區(qū)別。的區(qū)別。example7練習練習 求解四元線性方程組求解四元線性方程組定義三個矩陣:系數(shù)矩陣、未知數(shù)矩陣、常數(shù)矩陣:定義三個矩陣:系數(shù)矩陣、未知數(shù)矩陣、常數(shù)矩陣: 上述方程可變?yōu)榍蠼猓荷鲜龇匠炭勺優(yōu)榍蠼猓?67452296385243214324314321xxxxxxxxxxxxxx6741212060311512A4321xxxxx0598BBxA*example4BAx3 3、Matlab點運算(數(shù)組運算)點運算(數(shù)組運算) 在在MATLAB中,有一種特殊的運算,因中,有一種特殊的運算,因為

31、其運算符是在有關算術運算符前面加點,為其運算符是在有關算術運算符前面加點,所以叫所以叫點運算點運算。點運算符有:點運算符有:.* ./ . . 兩矩陣進行點運算是指它們的兩矩陣進行點運算是指它們的對應元素對應元素進行進行相關運算,要求兩矩陣的維參數(shù)相同。相關運算,要求兩矩陣的維參數(shù)相同。練習已知A=1 3 5;2 4 6;7 8 7B=1 2 3; 2 3 2;3 4 6比較A*B和A.*B以及A/B和A./B的區(qū)別。練習已知x=0:0.5:8按下列函數(shù)關系求y序列Y=sin2xexample71 1、對矩陣(、對矩陣(A)的特征參數(shù)運算:)的特征參數(shù)運算:(1 1)方陣)方陣A的的行列式值行

32、列式值,可表示為,可表示為 det(A)。(2 2)矩陣)矩陣A的的秩秩,可表示為,可表示為 rank(A)。 向量組的秩:一個向量組的極大線性無關組所含向量個數(shù)。向量組的秩:一個向量組的極大線性無關組所含向量個數(shù)。 m*n矩陣(行秩,列秩)矩陣(行秩,列秩)(3 3)行列式值不為零的方陣)行列式值不為零的方陣A,求,求逆矩陣逆矩陣A A-1-1可表示為可表示為inv(A)。(4 4)矩陣)矩陣A的的轉置矩陣轉置矩陣,可表示為,可表示為A。(5 5)矩陣)矩陣A的的特征值特征值: AV=DV V,D=eig(A) 等號左邊是函數(shù)對等號左邊是函數(shù)對方陣方陣A的作用后返回的變的作用后返回的變量信息

33、。量信息。V和和D分別為分別為A的特征向量與特征值。的特征向量與特征值。D為特征值對角為特征值對角陣。陣。 函數(shù)調用語句函數(shù)調用語句 返回變量列表函數(shù)名(輸入變量列表)返回變量列表函數(shù)名(輸入變量列表) (6 6)矩陣)矩陣A的的跡:跡:主對角線上所有元素的和??杀硎緸橹鲗蔷€上所有元素的和??杀硎緸?magic(A)。example6四、矩陣的特征參數(shù)運算和分解運算四、矩陣的特征參數(shù)運算和分解運算2 2、對矩陣(、對矩陣(A)的分解運算:)的分解運算:(1 1)特征值分解特征值分解: AV=DVV,D=eig(A)等號左邊是函數(shù)對等號左邊是函數(shù)對方陣方陣A的作用后返回的變量的作用后返回的變量

34、信息。信息。V和和D分別為分別為A的特征向量與特征值。的特征向量與特征值。D為特征值對角陣。為特征值對角陣。(2 2)奇異值分解奇異值分解: U,S,V=svd(A) AV=qU A U =qV U、V為奇異向量,為奇異向量,S為為A奇異值。奇異值。 返回一個與返回一個與A同大小的對角矩陣同大小的對角矩陣S,兩個矩陣,兩個矩陣U和和V,且滿足,且滿足 A= U*S*V。若。若A A為為mn陣,則陣,則U為為mm陣,陣,V為為nn陣。奇陣。奇異值在異值在S的對角線上,非負且按降序排列。的對角線上,非負且按降序排列。(3 3)三角分解三角分解(lu): L,U=lu(A) 非奇異矩陣非奇異矩陣A

35、,A=LU, U:上三角矩陣上三角矩陣 L:下三角矩陣下三角矩陣(4 4)正交分解正交分解(qr) : Q,R=qr(a) 非奇異矩陣非奇異矩陣A ,A=QR,Q為正交矩陣,為正交矩陣,R為上三角陣。為上三角陣。 注意,注意,MATLAB的函數(shù)發(fā)生作用后返回的變量信息這種形式,的函數(shù)發(fā)生作用后返回的變量信息這種形式,特別注意中、小括號的使用。特別注意中、小括號的使用。1 1、MATLAB提供了提供了6 6種關系運算符:種關系運算符: 2 2、關系運算符的運算法則、關系運算符的運算法則(1 1)當)當兩個兩個比較量是比較量是標量標量時,直接比較兩數(shù)大小,若關系成立,關系時,直接比較兩數(shù)大小,若關

36、系成立,關系表達式結果為表達式結果為1 1,否則為,否則為0 0。(2 2)當參與比較的兩個量是)當參與比較的兩個量是兩個維數(shù)相同的矩陣兩個維數(shù)相同的矩陣時,比較是對兩矩陣時,比較是對兩矩陣對應位置的元素按標量關系運算規(guī)則逐個進行,并給出元素比較結對應位置的元素按標量關系運算規(guī)則逐個進行,并給出元素比較結果。最終的關系運算的結果是一個與原矩陣維數(shù)相同的矩陣,元素果。最終的關系運算的結果是一個與原矩陣維數(shù)相同的矩陣,元素由由0 0或或1 1組成。組成。(3 3)當參與比較的一個是標量,而另一個是矩陣時,則把)當參與比較的一個是標量,而另一個是矩陣時,則把標量與矩陣標量與矩陣的每一個元素按標量關系

37、運算規(guī)則逐個比較的每一個元素按標量關系運算規(guī)則逐個比較,并給出元素比較結果。,并給出元素比較結果。最終的關系運算的結果是一個維數(shù)與原矩陣相同的矩陣,它的元素最終的關系運算的結果是一個維數(shù)與原矩陣相同的矩陣,它的元素由由0 0或或1 1組成。組成。五、矩陣五、矩陣元素之間元素之間的關系運算的關系運算example8表表1 關系操作符關系操作符指令指令含義含義指令指令含義含義大于大于=大于等于大于等于=等于等于=不等于不等于 A =1 2 3;4 5 6;7 8 0A = 1 2 3 4 5 6 7 8 0 find(A=5)ans = 3 5 6 8find() i,j=find(A=5);i,

38、j 顯示行標,列標顯示行標,列標 ans = 3 1 2 2 3 2 2 3rem(x,n):):求余函數(shù)。求余函數(shù)。X:被除數(shù);被除數(shù);n:除數(shù)除數(shù)magic(n):):生成生成n階魔術矩陣。方陣的每一行階魔術矩陣。方陣的每一行每一列以及每條主對角線的元素之和都相同(每一列以及每條主對角線的元素之和都相同(2 2階方陣除外)。階方陣除外)。 A=magic(4)B=(rem(A,3);C=(rem(A,3)=1);example7+fix:向零方向取整Example8-六、矩陣六、矩陣元素之間元素之間的邏輯運算的邏輯運算1、MATLAB提供了提供了3種關系運算符:種關系運算符:2、邏輯運算的

39、運算法則為:、邏輯運算的運算法則為:(1)在邏輯運算中,確認非零元素為真,用)在邏輯運算中,確認非零元素為真,用1表示;表示;0元素為假,元素為假,用用0表示。表示。(2)設參與邏輯運算的是兩個標量)設參與邏輯運算的是兩個標量a和和b,那么,那么,a&b a,b全為非零時運算結果為全為非零時運算結果為1,否則為,否則為0。a|b a,b中只要有一個非中只要有一個非0,運算結果為,運算結果為1。a 當當a是是0時,運算結果為時,運算結果為1;當;當a非非0時,運算結果為時,運算結果為0。example8表表2 邏輯運算符邏輯運算符指令指令含義含義指令指令含義含義&邏輯邏輯 and|邏輯邏輯 or

40、邏輯邏輯 notq 相關函數(shù):相關函數(shù):若若 x 為矩陣,則為矩陣,則 any 和和 all 按列運算按列運算,返回一個,返回一個0-1向量向量any(x):若若向量向量 x 中中存在非零元素存在非零元素,則返回,則返回 1,否則返回,否則返回 0all(x): 若若向量向量 x 中中所有元素非零所有元素非零,則返回,則返回 1,否則返回,否則返回 0表表3 邏輯關系函數(shù)邏輯關系函數(shù)指令指令含義含義指令指令含義含義xor不相同取不相同取1,否則取,否則取0any只要有非只要有非0就取就取1,否則取,否則取0all全為全為1取取1,否則為,否則為0isempty矩陣為空取矩陣為空取1,否則取,否

41、則取0 xor(x):異或函數(shù)異或函數(shù) A =1 2 3;4 5 6;7 8 0A = 1 2 3 4 5 6 7 8 0 all(A=5) 某列元素全大于或等某列元素全大于或等于于5時,相應元素為時,相應元素為1,否則為,否則為0。ans = 0 0 0 any(A=5) 某列元素中含有大于某列元素中含有大于或等于或等于5時,相應元素為時,相應元素為1,否則為,否則為0。ans = 1 1 1 a=1 2 3;0 5 6;7 8 0a = 1 2 3 0 5 6 7 8 0 b=ones(3)b = 1 1 1 1 1 1 1 1 1 xor(a,b)ans = 0 0 0 1 0 0 0

42、0 1七、矩陣的多維數(shù)組形式七、矩陣的多維數(shù)組形式1 1、數(shù)組的維、數(shù)組的維(1 1)具有)具有n個元素的一行或一列的矩陣數(shù)組稱為一維數(shù)組。個元素的一行或一列的矩陣數(shù)組稱為一維數(shù)組。(2 2)具有)具有n行行m列的矩陣數(shù)組稱為列的矩陣數(shù)組稱為nm二維數(shù)組。二維數(shù)組。(3 3)具有)具有h個二維數(shù)組稱為個二維數(shù)組稱為nmh三維數(shù)組。三維數(shù)組。2 2、多維數(shù)組的構成、多維數(shù)組的構成(1 1)函數(shù))函數(shù)cat的使用。的使用。(2 2)B=cat(dim,a1,a2.)(3 3)意義:將多個數(shù)組)意義:將多個數(shù)組a1,a2構成一個高維數(shù)組構成一個高維數(shù)組B。Dim是高維數(shù)組是高維數(shù)組B B的維數(shù),它必

43、須等于或大于的維數(shù),它必須等于或大于a1,a2的階次的階次example9第三節(jié)第三節(jié) MATLAB數(shù)據(jù)分析與數(shù)據(jù)分析與多項式計算多項式計算一、 Matlab多項式表示多項式表示q 在在Matlab中,中,n次多項式是用一個長度為次多項式是用一個長度為n+1的向量來的向量來表示,缺少的冪次項系數(shù)為表示,缺少的冪次項系數(shù)為0。0111)(axaxaxaxpnnnn在在Matlab中表示為相應的向量:中表示為相應的向量:1N的的N維向量。維向量。, ,011aaaann例:例:3223 xx 3 , 0 , 1 , 2注:系數(shù)中的零不能??!注:系數(shù)中的零不能?。?, 1, 3二、多項式的創(chuàng)建二、多

44、項式的創(chuàng)建(1 1)系數(shù)矢量系數(shù)矢量直接輸入法直接輸入法 poly2sym(A)example10 P=3 5 0 1 0 12 P= 3 5 0 1 0 12 y=poly2sym(P) %(poly2sym函數(shù)將函數(shù)將該向量轉換為多項式該向量轉換為多項式) y=3*x5+5*x4+x2+12 disp(y) %顯示矩陣或文本顯示矩陣或文本 3*x5+5*x4+x2+12(2 2)由)由根矢量根矢量創(chuàng)建多項式:創(chuàng)建多項式: 若已知多項式的全部根,若已知多項式的全部根,則可以用則可以用poly函數(shù)建立起函數(shù)建立起該多項式,其調用格式該多項式,其調用格式為:為: P=poly(A)()()(21

45、nxxxxxxxp P=1 2 3 4;y=poly(P)y = 1 -10 35 -50 24 h=poly2sym(y) h = x4-10*x3+35*x2-50*x+24如果如果A A為二維或以上的矩陣,為二維或以上的矩陣,poly(A)表示由表示由A的特征根的特征根確定的多項式。如果確定的多項式。如果A A為一維矩陣,為一維矩陣,poly(A)表示由表示由A的的元素為多項式的根創(chuàng)建多項式。元素為多項式的根創(chuàng)建多項式。 a=1 2;3 4; b=poly(a)b= 1.0000 -5.0000 -2.0000 V,D=eig(a) V = -0.8246 -0.4160 0.5658

46、-0.9094D = -0.3723 0 0 5.3723Y= polyval(b,D)Y = 0 -2.0000 -2.0000 0(1 1)polyval函數(shù):函數(shù):調用格式調用格式:Y= polyval(px,x) px為多項式系數(shù)向量,為多項式系數(shù)向量,x為多項式自變量取值,為多項式自變量取值,Y為對應為對應函數(shù)值。多項式函數(shù)值。多項式px在在x點的取值,點的取值,x也可以是一組數(shù),代也可以是一組數(shù),代表多項式表多項式px在各點的值。在各點的值。(2 2) polyvalm函數(shù)函數(shù)調用格式:調用格式: Y= polyvalm(px,x)多項式多項式px對于矩陣對于矩陣x的取值,要求矩陣

47、的取值,要求矩陣x必須是方陣,必須是方陣,x若若是一標量,求得的值與函數(shù)是一標量,求得的值與函數(shù)polyval相同。相同。三、多項式的求值三、多項式的求值polynomial valueexample11example13-y = x3+2*x2+3*x+4四、多項式運算的函數(shù)四、多項式運算的函數(shù)(1 1)多項式求根:)多項式求根: roots(A)-列向量列向量 n次多項式具有次多項式具有n個根,當然這些根可能是實個根,當然這些根可能是實根,也可能含有若干對共軛復根。根,也可能含有若干對共軛復根。MATLAB提供提供的的roots函數(shù)用于求多項式的全部根,其調用格式函數(shù)用于求多項式的全部根,

48、其調用格式為:為:x=roots(A) 其中其中A為多項式的系數(shù)向量,求得的根賦給向為多項式的系數(shù)向量,求得的根賦給向量量x,即,即x(1),x(2),x(n)分別代表多項式的分別代表多項式的n個根。個根。example12(2 2)多項式四則運算多項式四則運算 多項式加減運算:多項式加減運算:Matlab沒有提供專門進行多項式?jīng)]有提供專門進行多項式加減運算的函數(shù),事實上,多項式的加減就是其所對加減運算的函數(shù),事實上,多項式的加減就是其所對應的系數(shù)向量的加減運算。應的系數(shù)向量的加減運算。例例32231xxp 3 , 0 , 1 , 2 對于次數(shù)相同的多項式,可以直接對其系數(shù)向量對于次數(shù)相同的多

49、項式,可以直接對其系數(shù)向量進行加減運算;進行加減運算; 如果兩個多項式次數(shù)不同,則應該把低次多項式如果兩個多項式次數(shù)不同,則應該把低次多項式中系數(shù)不足的高次項用中系數(shù)不足的高次項用0補足,然后進行加減運算。補足,然后進行加減運算。122xp4222321xxxpp 1 , 2 4 , 2 , 1 , 2 1 , 2 0, 0, 多項式乘除法運算多項式乘除法運算例:計算多項式例:計算多項式 和和 的乘積的乘積3223 xx12 x p=2,-1,0,3; q=2,1; k=conv(p,q); 多項式除法運算:多項式除法運算: k=deconv(p,q)k,r=deconv(p,q)其中其中 k

50、 返回的是多項式返回的是多項式 p 除以除以 q 的商,的商,r 是余式。是余式。k,r=deconv(p,q)p=conv(q,k)+r 多項式乘法運算:多項式乘法運算: k=conv(p,q)2(1)( )2(1)1P xxxx( )q x( )k x( )r xdeconv是是conv的逆函數(shù),即有的逆函數(shù),即有P=conv(k,q)+r。例:求多項式例:求多項式 和和 的乘積。的乘積。 1)(3xxxa1)(2 xxb練習:多項式乘法:練習:多項式乘法:conv(a,b) 除法:除法:deconv(a,b)練習:多項式除法:函數(shù)練習:多項式除法:函數(shù)Q,r=deconv(P1,P2)用

51、于對多用于對多項式項式P1和和P2作除法運算。其中作除法運算。其中Q返回多項式返回多項式P1除以除以P2的的商式,商式,r返回返回P1除以除以P2的余式。這里,的余式。這里,Q和和r仍是多項式仍是多項式系數(shù)向量。系數(shù)向量。 deconv是是conv的逆函數(shù),即有的逆函數(shù),即有P1=conv(P2,Q)+r。10834aax322aay計算計算x/yexample13-(2 2)多項式的微積分多項式的微積分對多項式求微分的函數(shù)是:對多項式求微分的函數(shù)是: p=polyder(P)p=3x2+4xP=x3+2x2+1P=1 2 0 1 p=polyder(P)P= 3 4 0example12例:

52、求多項式例:求多項式 的微分和積分。的微分和積分。 1234)(23xxxxa練習:多項式的微分:練習:多項式的微分:polyder(A) 積分:積分:polyint(A)p=polyder(P,Q):求:求PQ的導函數(shù)的導函數(shù)p,q=polyder(P,Q):求:求P/Q的導函數(shù),導函數(shù)的分的導函數(shù),導函數(shù)的分子存入子存入p,分母存入,分母存入q。上述函數(shù)中,參數(shù)上述函數(shù)中,參數(shù)P,Q是多項式的向量表示,結果是多項式的向量表示,結果p,q也是多項式的向量表示。也是多項式的向量表示。22211xxxx P=1 2 0 1P = 1 2 0 1 poly2sym(P) ans = x3+2*x2

53、+1 Q=3 0 1Q = 3 0 1 poly2sym(Q) ans = 3*x2+1 M=conv(P,Q)M = 3 6 1 5 0 1 poly2sym(M)ans = 3*x5+6*x4+x3+5*x2+1 p=polyder(P,Q)p = 15 24 3 10 0 p2=polyder(M)p2 = 15 24 3 10 0 曲線擬合是進行數(shù)據(jù)分析時經(jīng)常遇到的問題,它是指曲線擬合是進行數(shù)據(jù)分析時經(jīng)常遇到的問題,它是指根據(jù)一組或多組測量數(shù)據(jù)找出數(shù)學上可以描述此數(shù)據(jù)走向根據(jù)一組或多組測量數(shù)據(jù)找出數(shù)學上可以描述此數(shù)據(jù)走向的一條曲線的過程。的一條曲線的過程。 曲線擬合曲線擬合:利用兩個或

54、多個變量的離散點,用平滑曲:利用兩個或多個變量的離散點,用平滑曲線來擬合它們之間的關系。線來擬合它們之間的關系。參數(shù)擬合參數(shù)擬合:曲線不通過所有點,采用最小二乘法。:曲線不通過所有點,采用最小二乘法。非參數(shù)擬合非參數(shù)擬合:曲線通過所有點,采用插值法。:曲線通過所有點,采用插值法。5 5、多項式曲線擬合、多項式曲線擬合1 1)最小二乘法)最小二乘法:通過最小化殘差的平方和來獲得待定系數(shù):通過最小化殘差的平方和來獲得待定系數(shù)的估計。的估計。 評價一條曲線是否準確地描述了測量數(shù)據(jù)的最通用方評價一條曲線是否準確地描述了測量數(shù)據(jù)的最通用方法,是看測量數(shù)據(jù)點與該曲線上對應點之間的平方誤差是法,是看測量數(shù)據(jù)

55、點與該曲線上對應點之間的平方誤差是否達到最小。否達到最小。example132)步驟:步驟: (1)找出函數(shù)上的已知點系列。找出函數(shù)上的已知點系列。 (2)由已知點系列確定多項式。由已知點系列確定多項式。 (3)再用再用polyval函數(shù)按所得的多項式計算所給出的函數(shù)按所得的多項式計算所給出的點上的函數(shù)近似值。點上的函數(shù)近似值。3)polyfit函數(shù)來求得最小二乘擬合多項式的系數(shù),即函數(shù)來求得最小二乘擬合多項式的系數(shù),即 P=polyfit(x,y,n),p為模擬的多項式,為模擬的多項式,polyfit為調用為調用函數(shù),函數(shù),x和和y為已知點系列,為已知點系列,n是多項式的階次。(一般是多項式

56、的階次。(一般n越越大越精確)大越精確)P,S=polyfit(x,y,n) 函數(shù)根據(jù)采樣點函數(shù)根據(jù)采樣點x和采樣點函數(shù)值和采樣點函數(shù)值y,產(chǎn)生一個,產(chǎn)生一個n次多項次多項式式P及其在采樣點的誤差向量及其在采樣點的誤差向量S。其中。其中X, ,Y是兩個等長的向是兩個等長的向量,量,P是一個長度為是一個長度為n+1的向量,的向量,P的元素為多項式系數(shù)。的元素為多項式系數(shù)。例:對數(shù)據(jù)例:對數(shù)據(jù)x=0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0和和y=-0.232 0.647 1.877 3.565 5.134 7.443 9.221 10.011 11.678

57、12.566 13.788 做二次曲線擬合,并圖做二次曲線擬合,并圖示擬合曲線和原來數(shù)據(jù)。示擬合曲線和原來數(shù)據(jù)。 example14例:用三次多項式擬合正弦曲線,并圖示擬合曲線和例:用三次多項式擬合正弦曲線,并圖示擬合曲線和原來數(shù)據(jù)。原來數(shù)據(jù)。6、數(shù)據(jù)插值數(shù)據(jù)插值 是指在原數(shù)據(jù)點之間按照一定的關系插入新的數(shù)是指在原數(shù)據(jù)點之間按照一定的關系插入新的數(shù)據(jù)點,以便更準確地分析數(shù)據(jù)的變化規(guī)律。據(jù)點,以便更準確地分析數(shù)據(jù)的變化規(guī)律。1)一維插值:是對單變量函數(shù)進行插值一維插值:是對單變量函數(shù)進行插值例如:在例如:在-2,2區(qū)間上分別用區(qū)間上分別用5個數(shù)據(jù)點和個數(shù)據(jù)點和50個數(shù)據(jù)點個數(shù)據(jù)點繪制拋物線函數(shù)繪制拋物線函數(shù) 的圖形。的圖形。2xy -2-1.5-1-0.500.511.5200.511.522.533.54example15(1)線性插值:)線性插值: (默認方法)兩個數(shù)據(jù)點之間連接直線,根據(jù)(默認方法)兩個數(shù)據(jù)點之間連接直線,根據(jù)給定的插值點計算出它們在直線上的值。給定的插值點計算出它們在直線上的值。調用格式:調用格式: yi=interp1(x,y,xi,linear)(2)三次插值:用于滿足三階多項式的數(shù)據(jù)之間的插值。)三次插值:用于滿足三階多項式的數(shù)據(jù)之間的插值。調用格式:調用格式: yi=interp1

溫馨提示

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

評論

0/150

提交評論