Matlab在線性代數(shù)中的應(yīng)用ppt課件
Matlab在線性代數(shù)中的應(yīng)用,1,目標(biāo)要求,會(huì)給矩陣賦值 會(huì)進(jìn)行矩陣的基本運(yùn)算,包括:加、減、數(shù)乘,乘法,轉(zhuǎn)置,冪等運(yùn)算 會(huì)用命令inv計(jì)算矩陣的逆 會(huì)用命令det計(jì)算行列式;,2,Matlab 的特點(diǎn)與功能,Matlab 符號(hào)計(jì)算功能,Matlab 和著名的符號(hào)計(jì)算語(yǔ)言 Maple 相結(jié)合,Matlab 的編程功能,Matlab具有程序結(jié)構(gòu)控制、函數(shù)調(diào)用、數(shù)據(jù)結(jié)構(gòu)、輸入輸出、面向?qū)ο蟮瘸绦蛘Z(yǔ)言特征,而且簡(jiǎn)單易學(xué)、編程效率高。通過 Matlab 進(jìn)行編程完成特定的任務(wù),Matlab 的繪圖功能,Matlab提供豐富的繪圖命令, 很方便實(shí)現(xiàn)數(shù)據(jù)的可視化,3,計(jì)算極限,limit(f,x,a): 計(jì)算 limit(f,a): 當(dāng)默認(rèn)變量趨向于 a 時(shí)的極限 limit(f): 計(jì)算 a=0 時(shí)的極限 limit(f,x,a,'right'): 計(jì)算右極限 limit(f,x,a,'left'): 計(jì)算左極限,例:計(jì)算 ,, syms x h n; L=limit(log(x+h)-log(x)/h,h,0) M=limit(1-x/n)n,n,inf),4,計(jì)算導(dǎo)數(shù),g=diff(f,v):求符號(hào)表達(dá)式 f 關(guān)于 v 的導(dǎo)數(shù) g=diff(f):求符號(hào)表達(dá)式 f 關(guān)于默認(rèn)變量的導(dǎo)數(shù) g=diff(f,v,n):求 f 關(guān)于 v 的 n 階導(dǎo)數(shù),diff, syms x; f=sin(x)+3*x2; g=diff(f,x),5,計(jì)算積分,int(f,v,a,b): 計(jì)算定積分 int(f,a,b): 計(jì)算關(guān)于默認(rèn)變量的定積分 int(f,v): 計(jì)算不定積分 int(f): 計(jì)算關(guān)于默認(rèn)變量的不定積分, syms x; f=(x2+1)/(x2-2*x+2)2; I=int(f,x) K=int(exp(-x2),x,0,inf),例:計(jì)算 和,6,例:繪制等高線 meshc,空間曲面作圖舉例(meshc), X,Y=meshgrid(-8:0.5:8); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r; meshc(X,Y,Z), X,Y=meshgrid(-8:0.5:8); r=sqrt(X.2+Y.2)+eps; Z=sin(r)./r; surf(X,Y,Z),7,1 矩陣賦值,賦值語(yǔ)句一般形式 變量=表達(dá)式(或數(shù)) 如:輸入a=1 2 3; 4 5 6; 7 8 9 顯示a = 1 2 3 4 5 6 7 8 9 輸入x=-1.2 sqrt(3) (1+2+3)/5*4 顯示x=-1.2000 1.7321 4.8000 規(guī)則:矩陣元素放在方括號(hào)中,元素之間以空格或逗號(hào)分隔,不同行以分號(hào)分隔,語(yǔ)句結(jié)尾用回車或逗號(hào)將顯示結(jié)果,8,基本賦值矩陣 ones(m,n), zero(m,n), magic(n), eye(n), rand(m,n), round(A) 如:輸入 f1=ones(3, 2) 顯示 f1= 1 1 1 1 1 1 輸入 f2=zero(2, 3) 顯示 f2= 0 0 0 0 0 0,1 矩陣賦值,輸入 f3=magic(3) 顯示 f3= 8 1 6 3 5 7 4 9 2 輸入 f4=eye(2) 顯示 f4= 1 0 0 1,9,單個(gè)元素的引用,例: A(2,3),矩陣元素的引用,多個(gè)元素的引用:冒號(hào)的特殊用法,利用小括弧和元素所在的位置(下標(biāo)),x ( i ) :向量 x 中的第 i 個(gè)元素 A ( i, j ) :矩陣 A 中的第 i 行,第 j 列元素,例: x=3:2:1,10,例: x(1:3) A(3,1:3),矩陣元素的引用,A(i:j, m:n) 表示由矩陣 A 的第 i 到第 j 行和第 m 到第 n 列交叉線上的元素組成的子矩陣,可利用冒號(hào)提取矩陣 的整行或整列,例: A(1, :) A(:, 1:3) A(:, :),11,2 矩陣的基本運(yùn)算,矩陣算術(shù)運(yùn)算書寫格式與普通算術(shù)相同,包括加、減、乘、除??捎美ㄌ?hào)規(guī)定運(yùn)算的優(yōu)先級(jí)。 Matlab將矩陣加、減、乘的程序編為內(nèi)部函數(shù),只要用+,-*做運(yùn)算符號(hào)就包含階數(shù)檢查和執(zhí)行運(yùn)算的全過程 兩相加矩陣有一個(gè)是標(biāo)量時(shí),Matlab承認(rèn)算式有效,自動(dòng)把標(biāo)量擴(kuò)展為同階等元素矩陣 如:鍵入 X=-1 0 1; Y=X-1 得 Y= -2 -1 0 矩陣除法 矩陣求逆 inv(A),如果det(A)等于或很接近零,Matlab會(huì)提示出錯(cuò) “左除”與“右除”,左乘或右乘矩陣的逆,A或/A,AB A 的逆左乘 B inv(A)*B,B/A A 的逆右乘 B B*inv(A),12,2 矩陣的基本運(yùn)算,冪運(yùn)算 A*A*A=A5 轉(zhuǎn)置 ´ 理論學(xué)習(xí)中,A的轉(zhuǎn)置表示為AT,在Matlab中用“´”表示,13,3 行列式與方程組求解,相關(guān)命令 det(A), 計(jì)算矩陣A的行列式 B(: , i)=b, 把向量b賦給矩陣B的第i行 A(i, j), 引用矩陣A中第i行j列的元素 A, eye(5), 創(chuàng)建5×10矩陣,前5列為A,后5列為單位矩陣 syms x, 定義x為符號(hào)變量,14,3 行列式與方程組求解,逆矩陣各種求法: clear A=-7,-2,-6,4,6;1,3,-6,3,11;3,-11,9,5,-2;-3,0,-2,9,-3;7,30,-18,11,4; % 1.命令法: An1=inv(A) % 2.冪運(yùn)算法: An2=A-1 % 3.右除法: An3=eye(5)/A % eye(5)為5階單位矩陣 % 4.左除法: An4=Aeye(5),思考:如何用求逆陣或初等變換法解方程組?,15,3 行列式與方程組求解,% 求解符號(hào)行列式方程 clear % 清除各種變量 syms x % 定義x為符號(hào)變量 A=3,2,1,1;3,2,2-x2,1;5,1,3,2;7-x2,1,3,2 D=det(A) % 計(jì)算含符號(hào)變量矩陣A的行列式D f=factor(D) % 對(duì)行列式D進(jìn)行因式分解 % 從因式分解的結(jié)果,可以看出方程的解 X=solve(D) % 求方程“D0”的解,解方程:,16,平面上線性變換的幾何意義,例 設(shè)x為二維平面上第一象限中的一個(gè)單位方塊,其四個(gè)頂點(diǎn)的數(shù)據(jù)可寫成 把不同的A矩陣作用于此組數(shù)據(jù),可以得到多種多樣的結(jié)果yi=Ai*x。用程序ag911進(jìn)行變換計(jì)算,并畫出x及yi圖形: x0,1,1,0;0,0,1,1; subplot(2,3,1), fill(x(1,:),0,x(2,:),0,'r') A11,0;0,1, y1A1*x subplot(2,3,2), fill(y1(1,:),0,y1(2,:),0,'g') ,17,18,人口遷徙問題,例 假設(shè)一個(gè)城市的總?cè)丝跀?shù)是固定不變,但人口的分布情況變化如下:每年都有5的市區(qū)居民搬到郊區(qū);而有15的郊區(qū)居民搬到市區(qū)。若開始有700000人口居住在市區(qū),300000人口居住在郊區(qū)。請(qǐng)利用分析: (1)10年后市區(qū)和郊區(qū)的人口各是多少? (2)30年后、50年后市區(qū)和郊區(qū)的人口各是多少? (3)分析(2)中數(shù)據(jù)相似的原因。,19,解:這個(gè)問題可以用矩陣乘法來描述。令人口變量 其中 為市區(qū)人口所占比例, 為郊區(qū)人口所占比例。在n+1年的人口分布狀態(tài)為: 用矩陣乘法可寫成:,20,開始市區(qū)和郊區(qū)的人口數(shù)為 可以得到n年后市區(qū)和郊區(qū)的人口分布: 因此10年后的人口可用程序計(jì)算如下: A=0.95,0.15;0.05,0.85; X0=700000;300000; X10=A10*X0 程序運(yùn)行的結(jié)果為: 市區(qū)和郊區(qū)人口數(shù)約為:744630和255370。,21,無限增加時(shí)間n,市區(qū)和郊區(qū)人口之比將趨向一組常數(shù)0.25/0.75。為了弄清為什么它趨向于一個(gè)穩(wěn)態(tài)值,可以將A對(duì)角化。令 ,其中為對(duì)角矩陣,則有 對(duì)角矩陣的冪次可以化為元素的冪次 所以,它就很容易計(jì)算。,22,程序la24,% 分析n年后城市人口分布 A=0.95,0.15;0.05,0.85; X0=700000;300000; P,lamda=eig(A); syms n % 定義符號(hào)變量n Xn=P*lamda.n*inv(P)*X0 % .n對(duì)矩陣lamda中所有元素進(jìn)行冪運(yùn)算 計(jì)算結(jié)果為: 隨n增大后一項(xiàng)(4/5)n趨近于零。,23,