MATLAB7.0教學2012簡介及數(shù)值運算1_第1頁
MATLAB7.0教學2012簡介及數(shù)值運算1_第2頁
MATLAB7.0教學2012簡介及數(shù)值運算1_第3頁
MATLAB7.0教學2012簡介及數(shù)值運算1_第4頁
MATLAB7.0教學2012簡介及數(shù)值運算1_第5頁
已閱讀5頁,還剩131頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

主講:鄭雪飛2013.2.20MATLAB語言與應(yīng)用MATLAB7.0課程介紹目標:了解MATLAB,能夠熟練掌握數(shù)學(矩陣)運算,簡單編程,簡單的數(shù)據(jù)處理及基本圖形繪制.了解常用工具箱。學習內(nèi)容

MATLAB概述

MATLAB基本命令與基本函數(shù)

MATLAB符號運算

MATLAB的數(shù)值運算

MATLAB的數(shù)據(jù)圖形表示

一、前言1、簡介:MATLAB是美國Mathworks公司生產(chǎn)的一個可以完成各種精確計算和數(shù)據(jù)處理的、可視化的、強大的計算工具。

2、名稱的由來:MATLAB是matrixlaboratory的前三個字母組成,矩陣實驗室的意思。一開始它是一種專門用于矩陣數(shù)值計算的軟件。自MATLAB4.0版本問世以來,該軟件成為最具有吸引力,應(yīng)用最為廣泛的科學計算語言。我們這個課就拿MATLAB7.0版本來講。

應(yīng)用于數(shù)值計算、算法開發(fā)、數(shù)學建模、應(yīng)用仿真、數(shù)據(jù)分析及可視、工程繪圖以及應(yīng)用開發(fā)方面。3、

主要包括以下六部分:MATLAB語言

MATLAB工作環(huán)境

MATLAB函數(shù)庫MATLAB繪圖MATLAB工具箱與simulinkMATLAB應(yīng)用程序接口。二、matlab能在各領(lǐng)域做什么工業(yè)研究與開發(fā)數(shù)學教學,特別是線性代數(shù)數(shù)值分析和科學計算方面的教學與研究電子學、控制理論和物理學等工程和科學學科方面的教學與研究經(jīng)濟學、化學和生物學等計算問題的所有其他領(lǐng)域中的教學與研究例、用一個簡單命令求解線性系統(tǒng)

3x1+x2-x3=3.6x1+2x2+4x3=2.1-x1+4x2+5x3=-1.4A=[31-1;124;-145];b=[3.6;2.1;-1.4];x=A\bx=1.4818-0.46060.3848對于線性系統(tǒng)有Ax=b例、用簡短命令計算并繪制在0x6范圍內(nèi)的sin(2x)、sinx2、sin2x。x=linspace(0,6)y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;plot(x,y1,x,y2,x,y3)階梯圖用四種方法描述cos(x)*sin(y)圖形二、

MATLAB7.0的啟動與工作界面歷史命令窗口工作空間窗口開始按鈕命令窗口MATLAB菜單MATLAB工具欄2.1MATLAB的啟動和退出

啟動:雙擊MATLAB圖標在開始菜單中找到MATLAB程序MATLAB.exe退出:使用簡捷鍵命令窗口中輸入quit主窗口文件菜單中選擇File/ExitMATLAB2.2通用窗口MATLAB7.0工作界面中的常用窗口包括命令窗口、歷史命令窗口、當前工作目錄窗口、工作空間瀏覽器窗口、變量編輯窗口、M文件編輯/調(diào)試窗口、幫助窗口和程序性能剖析窗口等。所有窗口都可以單獨顯示,使用Undock和Dock可使窗口單獨出來和返回到MATLAB工作界面中。1.命令窗口(CommandWindow)在命令窗口中輸入MATLAB的命令和數(shù)據(jù)后按回車鍵,立即執(zhí)行運算并顯示結(jié)果。MATLAB在命令窗口中的語句形式為:>>變量=表達式;說明:命令窗口中的每個命令行前會出現(xiàn)提示符“>>”,沒有“>>”符號的行則是顯示的結(jié)果。例1-1

在命令窗口中輸入不同的命令和數(shù)值,并查看其顯示方式。>>a=0.5a=0.5000>>b='sin'b=sin>>ifa<1c=true%如果a<1則c為trueendc=1

練習2.歷史命令窗口(CommandHistory)歷史命令窗口默認地出現(xiàn)在MATLAB界面的左下側(cè),用來記錄并顯示已經(jīng)運行過的命令、函數(shù)和表達式。在默認設(shè)置下,該窗口會顯示自安裝以來所有使用過命令的歷史記錄,并標明每次開啟MATLAB的時間。3.當前目錄瀏覽器窗口(CurrentDirectoryBrowser)用來設(shè)置當前目錄,并顯示當前目錄下的M文件、MAT文件、MDL文件等文件信息,窗口中包括文件類型(FileType)、文件大?。⊿ize)、最后修改(LastModified)時間和文件的說明信息(Description)等。4.工作空間瀏覽器窗口(Workspace)工作空間瀏覽器窗口用于顯示內(nèi)存中所有的變量名、數(shù)據(jù)結(jié)構(gòu)、類型、大小和字節(jié)數(shù),不同的變量類型使用不同的圖標。在MATLAB7.0的命令窗口中也可以通過命令來查看工作空間的變量,以下是常用的命令:Who:查閱MATLAB內(nèi)存變量名。Whos:查閱MATLAB內(nèi)存變量名、大小、類型和字節(jié)數(shù)。clear變量名1變量名2…:刪除內(nèi)存中的變量,變量名1變量名2可省略,省略時表示刪除所有變量。5.M文件編輯/調(diào)試器窗口(Editor/Debugger)打開M文件編輯/調(diào)試器窗口的方法有:單擊MATLAB工作界面工具欄上的圖標;單擊菜單“File”→“New”→“M-file”創(chuàng)建新M文件;1.2MATLAB的基本命令與基本函數(shù)1)基本的系統(tǒng)函數(shù)例如cdD:\MATLAB7\work\處理數(shù)據(jù)loadff(文件名)2)工作區(qū)和變量的基本命令clearclc(清除窗口命令)format輸出格式命令formatlonge:將系統(tǒng)默認的5位數(shù)字的顯示格式轉(zhuǎn)換位16位數(shù)字加3位指數(shù)位的顯示格式。formatshort-----恢復(fù)系統(tǒng)默認設(shè)置以4位小數(shù)的浮點格式輸出。>>formatlonge>>pp=Column1-1.000000000000000e+000Column20Column31.000000000000000e+000Column40Column5-9.093000000000000e-001p=[-1,0,1,0,-0.9093];3)MATLAB中的預(yù)定義變量4)算數(shù)表達式和基本數(shù)學函數(shù)MATLAB的算數(shù)表達式由字母或數(shù)字用運算符號聯(lián)結(jié)而成。MATLAB的語法舉例:

例:在MATLAB中可寫為:在執(zhí)行本句之前首先要對a、b、c賦值。MATLAB的語法舉例:

1-d*c^(x+2)d*c^x

或2+d*c^x

(d*c^x+2)/g^2.7

sqrt(d*c^x+2)或(d*c^x+2)^0.5

y=sqrt(abs(pi-sin(x)/cosh(a)-ln(x+a)))例:一個長管,其內(nèi)表面半徑為a,溫度為Ta;外表面半徑為Tb;則其徑向和切向應(yīng)力可分別表示為:式中r為管子的徑向坐標,E為管子材料的彈性模量,ɑ為熱膨脹系數(shù)。沿徑向管壁的溫度分布為:用MATLAB表達形式寫出該方程并用如下值進行驗證:ɑ=1.2x10-5,E=3x107,v=0.3,Ta=500,Tb=300,a=0.25,b=0.5,r=0.375。=-8011.5=5231.9,=383.0075]

壓力為po的氣體在可逆絕熱條件下從容器中溢出,其質(zhì)量與流量之比如下:式中pe為容器出口的外部壓力,k為可逆絕熱的氣體常數(shù)。用MATLAB表達形式寫出該方程并用如下給出值進行驗證:k=1.4,pe/p0=0.3。

=0.4271]{2.基本賦值和運算

1簡單的數(shù)學計算:>>3721+7428/24ans=4.0305e+003>>abs(-27)ans=27>>sin(29)小括號ans=-0.6636>>3^4,6^3*(3+2)一行輸入多個表達式用逗號(顯示結(jié)果)

隔開ans=81ans=10802)簡單賦值運算:>>x=18將18賦值給變量xx=18>>y=3*x^2-78將3*x^2-78賦值給變量yy=894命令行尾為分號則屏幕上不顯示計算信息2.2向量、向量運算MATLAB是一門語言,它的運算指令和語法基于一系列基本的矩陣運算以及它們的擴展運算。2.2.1向量的創(chuàng)建第一種方法是使用冒號來指定數(shù)值范圍和相鄰值的步長;第二種方法是指定數(shù)值的范圍和期望的數(shù)值個數(shù)

第一種方法:x=s:d:f其中,s=初值,d=增量或減量值,f=結(jié)束值或終值??僧a(chǎn)生如下的行向量x:x=[s+d,s+2d,…,s+nd]其中,s+nd〈=f

。當d省略時,MATLAB默認d=1。即:x=s:f

產(chǎn)生向量:x=[s+1,s+2,…,s+n]向量或矩陣賦值方式:變量名=[變量值]

直接輸入:如A=(1,2,3,4,5)]>>A=[12345]行向量數(shù)字之間用空格隔開A=12345>>B=[1;2;3;4]列向量數(shù)字之間用分號隔開B=1234例1:若想創(chuàng)建[-2,1,3,5,7,9,10]的向量x。

x=[-2,1:2:9,10]或x=[-2,1,3,5,7,9,10]若z=x-1

→z=[-3,0,2,4,6,8,9]

若z=x;z(2)=z(2)/2;→z=[-2,0.5,3,5,7,9,10]

若:z=x;z(2)=z(2)/2;z(3:4)=z(3:4)*3-1;其中z(3:4)為z的第三個和第四個元素z=[-2,0.5,8,14,7,9,10]例2:確定sin(x)的值,其中x在-π≤x≤π的區(qū)間內(nèi)以π/5的步長變化。x=-pi:pi/5:pi;y=sin(x)y→[0.0000-0.5878-0.9511-0.9511-0.58780.00000.58780.95110.58780.0000]第二種方法:(指定n個從s到f的等間隔值)s=linspace(s,f,n)其中,增量或減量值d由MATLAB通過下式計算得出:如果沒有指定n的值,MATLAB則默認n=100。例如:linspace(1,3,3)ans=1232.2.2向量的基本運算(1)向量的加減:用+、-。

同維向量才可以加、減。相應(yīng)元素加減

(2)向量與數(shù)可以加、減。用+、-。

數(shù)與向量的每個元素進行作用。

(3)向量與數(shù)可以相乘。用*。

(4)向量與數(shù)可以相除。向量/數(shù),數(shù)./向量。

(5)兩個向量點積。必須是同維向量。用dot(a,b)。

(6)兩個向量叉積。cross(a,b),a,b必須有是3維且次序不能顛倒,。

(7)混合積。由以上兩個函數(shù)實現(xiàn)。dot(a,cross(b,c))算術(shù)操作符:

+、-:加,減;可以通用。*,^,\,/:分別為矩陣乘,乘方,左除,右除;.*,.^,.\,./:分別為數(shù)組乘,乘方,左除,右除;小結(jié)MATLAB概述MATLAB基本命令與基本函數(shù)第二講數(shù)值運算的功能創(chuàng)建矩陣矩陣運算多項式運算

2.1、矩陣的創(chuàng)建

直接輸入:如:a=[1,3,4;4,3,2].a=134432(2)第二種方法:1直接輸入法例子2-7用直接輸入矩陣元素的方法創(chuàng)建矩陣。在MATLAB的命令行窗口中鍵入下面的指令:>>A=[123;456;789]A=123456789>>whosNameSizeBytesClassA3x372doublearrayGrandtotalis9elementsusing72bytes圖2-1MATLAB的工作空間瀏覽器在上面的例子中創(chuàng)建了一個3×3的矩陣,在創(chuàng)建矩陣的時候,需要注意:*整個矩陣的元素必須在“[]”中鍵入;*矩陣的元素行與行之間需要使用分號“;”間隔,也可以在需要分行的地方用回車鍵間隔;*矩陣的元素之間可以使用逗號“,”或者空格間隔。其實創(chuàng)建上面的矩陣時還可以這么做>>B=[1:3;4:6;7:9]B=1234567892.1.1函數(shù)生成矩陣表2-2MATLAB的矩陣生成函數(shù)函數(shù)的格式(1)zeros(n):生成n×n階0矩陣。(2)zeros(m,n):生成m×n階0矩陣。(3)zeros(size(a)):生成與a階數(shù)相同的0矩陣。(4)eye(n):生成n階單位矩陣。(5)eye(m,n):生成m×n階單位矩陣。(6)eye(size(a)):生成與a階數(shù)相同的單位矩陣。(7)ones(n):生成n階全1矩陣。(8)ones(m,n):生成m×n階全1矩陣。(9)ones(size(a)):生成與a階數(shù)相同的全1矩陣。(10)rand(n):生成n×n階隨機矩陣,其元素值在0和1之間。

(11)rand(m,n):生成m×n階隨機矩陣。(12)rand:生成一個隨機數(shù)。(13)rand(size(a)):生成與a階數(shù)相同的隨機矩陣。例子2-12

函數(shù)生成矩陣的示例。在MATLAB命令行中鍵入下面的指令:>>%創(chuàng)建三階帕斯卡矩陣>>A=pascal(3)A=111123136>>%從矩陣A生成下三角矩陣>>tril(A)ans=100120136>>%獲取矩陣A的對角線元素>>diag(A)ans=126>>%利用向量生成對角矩陣>>diag(ans)ans=100020006兩個非常有用的函數(shù)可以生成矩陣的元素。1、創(chuàng)建一個元素為1的(rc)階矩陣:其中r,c分別為行數(shù)與列數(shù)

one=ones(r,c)2、創(chuàng)建一個元素為0的(rc)階矩陣:

zero=zeros(r,c)c=eye(3)c=100010001

d=ones(3)d=111111111試創(chuàng)建如下矩陣a=[3:2:11;linspace(20,21,5);ones(1,5)]a(1,1)→3,a(3,4)→1,a(:,2)→[520.251]‘a(chǎn)(2,:)→[2020.2520.520.7521]a(1:3,3:5)→[7911;20.520.7521;111]例:已知A2=[1,2,3,4,5]>>B1=[sqrt(A2)]利用函數(shù)(p29)B1=1.00001.41421.73212.00002.2361>>B2=[sin(A2)]B2=0.84150.90930.1411-0.7568-0.95892.2基本矩陣運算針對矩陣的運算MATLAB提供了若干函數(shù)和基本的運算規(guī)則,這些規(guī)則和函數(shù)都分別和線性代數(shù)的基本概念和運算規(guī)則對應(yīng)。矩陣的基本運算參見表2-2。表2-2矩陣的基本運算>>A=[136;489;102578]A=136489102578>>det(A)ans=-147>>AN=inv(A)AN=-2.71430.57140.14291.5102-0.1224-0.1020-0.1361-0.03400.0272練習:已知水的黏度隨溫度的變化公式為

μ=μ0/(1+at+bt2)其中μ0=1.785×10-3,

a=0.03368,b=0.000221,

求水在0,20,40,60,80℃時的黏度。程序如下:miu0=1.785e-3;a=0.03368;b=0.000221;t=0:20:80miu=miu0./(1+a*t+b*t.^2)矩陣的運算舉例一、矩陣運算(p38)+、-、*:加、減、乘運算。

(2)矩陣的除法有兩種形式:左除“\”和右除‘/’。左除是先計算逆再做乘法;右除不計算逆直接進行除法運算,這樣可避免奇異矩陣無法求逆帶來的麻煩.如:A=[1,2,3,2;3,2,4,1;3,1,5,6;2,5,3,2],b=[1;3;2;1],求方程組Ax=b的解。

由于rank(A)=rank(B)=4(B為增廣矩陣B=[A,b])

所以有唯一解,x=A\b,或x=inv(A)*b又如:A=[361,625,961,1444,1936;1,1,1,1,1],b=[1;1],求方程組Ax=b的解.由于rank(A)=rank(B)=2(B為增廣矩陣),所以有無窮多個解,MATLAB中用除法解方程組時所得到的解是所有解中范數(shù)最小的一個x=A\b。求解線性方程組矩陣的特征值函數(shù)eig給出特征值和特征向量的值A(chǔ)=[73-2;34-1;-2-13][X,Y]=eig(A)說明:X為特征向量矩陣,Y為特征值矩陣>>A=[73-2;34-1;-2-13][X,Y]=eig(A)A=73-234-1-2-13X=0.5774-0.0988-0.8105-0.57740.6525-0.49080.57740.75130.3197Y=2.00000002.39440009.6056練習題:A=11121314212223243132333441424344求(1)A(:,1)(2)A(2,:)(3)A(:,2:3)(4)A(2:3,2:3)(5)A(:)(6)A(:,:)(7)ones(2,2)(8)eye(2)(9)diag(A)A=[11,12,13,14;21,22,23,24;31,32,33,34;41,42,43,44]

(1)A(:,1)(2)A(2,:)

(3)A(:,2:3)1213222332334243A(2:3,2:3)22233233>>A(:,1:2:3)ans=1113212331334143A(:)ans=11213141122232421323334314243444>>A(:,:)ans=11121314212223243132333441424344

ones(2,2)ans=1111

eye(2)ans=1001

diag(A)ans=112233442.3、多項式、多項式運算2.3.1多項式表示方法

在MATLAB中多項式p(x)=anxn+an-1xn-1+…+a0是以向量p=[an,an-1,…,a0]的形式儲存的(從高次冪到低次冪)。(1)系數(shù)向量直接輸入:例輸入多項式x^3-5x^2+6x-33.p=[1,-5,6,-33];

poly2sym(p)%polynomial多項式,將系數(shù)向量表示成符號多項式>>p=[1,-5,6,-33];>>poly2sym(p)

ans=

x^3-5*x^2+6*x-33

(2)矩陣的特征多項式輸入

a=[1,2,3;2,3,4;3,4,5];

p=poly(a);%求a的特征多項式的系數(shù)向量p1=poly2sym(p);%即為a的特征多項式p=1.0000-9.0000-6.0000-0.0000p1=x^3-9*x^2-6*x-8399472656541061/2535301200456458802993406410752(3)由根創(chuàng)建多項式:例

root=[-5,-3+4i,-3-4i];%是某個多項式的根p=poly(root)%求相應(yīng)的多項式的系數(shù)向量P1=poly2sym(p)%將多項式系數(shù)向量表示成符號多項式>>a=[1,2,3;2,3,4;3,4,5]p=poly(a)%求a的特征多項式系數(shù)向量

p1=poly2sym(p)a=123234345p=1.0000-9.0000-6.0000-0.0000p1=

x^3-9*x^2-6*x-8399472656541061/2535301200456458802993406410752

2.3.2多項式運算:(1)求多項式的值:Polyval(p,x)計算以向量p為系數(shù)的多項式在變量為x時的值例

p=[1,11,55,125];a=1.2b=[1,2;2,3]

polyval(p,a)polyvalm(p,b)例

p=[1,11,55,125];a=1.2b=[1,2;2,3]

polyval(p,a)%polynomialvalue求多項式在1.2的值(208.5680)

polyvalm(p,b)%多項式在b的值

256232232488(2)求多項式的根roots(p)

例求多項式

2x^4-5x^3+6x^2-x+9=0的所有根.p=[2,-5,6,-1,9]

roots(p)%得到多項式的根

1.6024+1.2709i1.6024-1.2709i-0.3524+0.9755i-0.3524-0.9755i(3)多項式乘除運算分別用conv和deconv:(convolution,deconvolution)例

p1=[2,-5,6,-1,9];p2=[3,-90,18];p=conv(p1,p2)%為p1和p2所相應(yīng)的多項式的乘積多項

式的系數(shù)向量(p=[6-195504-633225-828162])p3=deconv(p,p1)%為p2p4=deconv(p,p2)%為p1poly2sym(p1);poly2sym(p2);poly2sym(p)poly2sym(p3)poly2sym(p4)%觀看這幾個多項式p3=[3-9018]p4=[2-56-19]poly2sym(p3)3*x^2-90*x+18poly2sym(p4)2*x^4-5*x^3+6*x^2-x+9polyfit(x,y,n)其中x,y為擬合數(shù)據(jù),n為擬合多項式的階數(shù)。例

用最小二乘法擬合數(shù)據(jù)x:0.501.001.502.002.503.00y:1.752.453.814.808.008.60x1=0.5:0.05:3

2.3.3多項式擬合x=[0.5,1,1.5,2,2.5,3],y=[1.75,2.45,3.81,4.80,8.00,8.60]

a=polyfit(x,y,2)%用2次多項式擬合上組數(shù)據(jù),a為擬合多項式的系數(shù)向量x1=0.5:0.05:3(51維)y1=a(1)*x1.^2+a(2)*x1+a(3)

plot(x1,y1,'o')%畫出擬合曲線的圖形

holdon%保留上面的圖形和坐標,可在該坐標系中繼續(xù)作圖

plot(x,y,'*')%用*號的形式畫出被擬合的數(shù)據(jù)圖形MATLAB進行符號運算的主要功能:符號表達式和符號矩陣的基本操作、符號矩陣的基本運算、符號微積分運算、符號線性方程求解、符號微分方程求解、特殊數(shù)學符號函數(shù)、符號函數(shù)圖形等。三、符號運算1符號表達式的生成(1)創(chuàng)建符號函數(shù)(用單引號或sym定義如f='log(x)‘f=log(x)(2)創(chuàng)建符號方程如g='a*x^2+b*y^2+c=0‘a(chǎn)*x^2+b*y^2+c=0(3)創(chuàng)建微分方程如q='Dy-y=x'或者:f=sym('log(x)')、g=sym('a*x^2+b*y^2+c=0')、q=sym('Dy-y=x')說明:符號函數(shù)也可以用另一方法創(chuàng)建(該方法不能創(chuàng)建方程):symsx%用syms可以定義多個變量,變量間用空格分開symsxyuv2符號與數(shù)值之間的轉(zhuǎn)換vpa函數(shù):如

digits(25)%設(shè)置有效數(shù)字的精度為25位有效數(shù)字

vpa(pi+1)%顯示在上述digits函數(shù)設(shè)置下的精度的數(shù)值4.141592653589793115997963或者vpa(pi+1,25)例求函數(shù)f(x)=x-cos(x)在x=2的值。解:

symsxf=x-cos(x);%定義符號函數(shù)ff1=subs(f,'2',x)%字符替代,在符號函數(shù)f中用2代替xf1=2-cos(2)digits(20)

vpa(f1)2.4161468365471423870

例求方程3x^2-e^x=0的精確解和各種精度的近似解。解s=solve('3*x^2-exp(x)=0')

vpa(s,32)%顯示32位有效數(shù)字

vpa(s,6)%顯示6位有效數(shù)字

vpa(s,32)

ans=

[.91000757248870906065733829575944][3.7330790286328142006199540298434][-.45896226753694851459857243243408]]3符號函數(shù)運算1復(fù)合函數(shù)運算

設(shè)z=g(y),y=f(x)

compose(g,f)%即為g(f(x)),自變量的符號取為f函數(shù)的自變量符號。

compose(g,f,t)%即為g(f(x)),自變量的符號取t。反函數(shù)運算:finverse例symsx;symsy;symst;%或者symsxytg=sin(y);f=1/x;compose(g,f)compose(g,f,t)finverse(g)finverse(f)compose(g,f):

sin(1/x)

compose(g,f,t):sin(1/t)finverse(g):asin(y)finverse(f):1/x

collect(s,v)symsxyabF=(x+a)*(x+b)+(x-a)^2F1=collect(F)默認變量x,expand(s)將符號表達式s展開f=(x-3)^2*(x-1)-(x+1)^2expand(f)ans=

x^3-8*x^2+13*x-10factor(x)將符號表達式x因式分解a1=factor(sym('234'))

a1=

(2)*(3)^2*(13)符號矩陣創(chuàng)立

使用sym函數(shù)直接創(chuàng)建符號矩陣

a=sym('[1/sin(x),cos(x)^2;2*x,1+x^2]')或

symsxa=[1/sin(x),cos(x)^2;2*x,1+x^2]符號矩陣的運算

(1)+、-、*、\、/運算

(2)矩陣轉(zhuǎn)置('):a'(3)行列式運算

det(a)%determinant的簡寫計算符號矩陣的行列式。

(4)求逆inv(a):求矩陣a的逆。

(5)求矩陣的秩rank(a):求矩陣a的秩。符號極限limit(f,x,a):求表達式f在x→a時的極限。limit(f):求f在x→0時的極限.imit(f,x,a,'left'):求表達式f在x→a時的左極限。limit(f,x,a,'right'):求表達式f在x→a時的右極限。例MATLAB標點的含義:(1)分號;

區(qū)分行以及取消運行顯示等。例:A=[1,2;3,4]與A=[1,2;3,4];的區(qū)別。

(2)逗號,

區(qū)分列及函數(shù)參數(shù)分隔符等。例:A=[1,2;3,4],B=[1,4,3;3,2,1;4,5,6](3)小括號()

指定運算過程的先后次序等。例:

x=0.5;y=sin(x)/(2+cos(x))z=sin(x)/2+cos(x)(4)方括號[]矩陣定義標志等。見(1)2)

(5)續(xù)行號...

例:y=sin(x)/(2+cos(x))

也可寫為y=sin(x).../(2+cos(x))(6)百分號%

注釋標記,該行%以后的語句不執(zhí)行。例:%線性規(guī)劃程序%a=0.5;b=sin(x);%正弦函數(shù)(7)等號

=賦值標記。見上。

(8)單引號

'

'字符串表示符,單引號里面的內(nèi)容為字符串。單引號一定在英文狀態(tài)下輸入例:

a='xingtaicollege'(9)冒號

:有多種應(yīng)用功能,學習過程中注意。如:選取矩陣的所有行、列;矩陣定義特殊矩陣的生成(1)zeros(n):生成n×n階0矩陣。(2)zeros(m,n):生成m×n階0矩陣。(3)zeros(size(a)):生成與a階數(shù)相同的0矩陣。(4)eye(n):生成n階單位矩陣。(5)eye(m,n):生成m×n階單位矩陣。(6)eye(size(a)):生成與a階數(shù)相同的單位矩陣。(7)ones(n):生成n階全1矩陣。(8)ones(m,n):生成m×n階全1矩陣。(9)ones(size(a)):生成與a階數(shù)相同的全1矩陣。(10)rand(n):生成n×n階隨機矩陣,其元素值在0和1之間。

(11)rand(m,n):生成m×n階隨機矩陣。(12)rand:生成一個隨機數(shù)。(13)rand(size(a)):生成與a階數(shù)相同的隨機矩陣。矩陣的特殊操作:(1)變維操作reshape(a,m,n):把矩陣a變成n×n階矩陣。如a=1:12,reshape(a,2,6),reshape(a,3,4)。注意變維操作要保證元素個數(shù)一致。例

s=1:12;c=zeros(3,4);c(:)=s(:);%符號“:”表示變維操作,這兩個矩陣必須預(yù)先定義維數(shù),結(jié)果c取的是s的元素。

(2)對角元素抽取diag(a,k)(注:diagonal為對角線的意思)

抽取矩陣a的第k條對角線的元素作為向量,k=0時為主對角線,k為正值時為上方第k條對角線,k為負值時為下方第k條對角線。

diag(a)相當于diag(a,0)例a=rand(3);v=diag(a)

說明:如果b是一個向量,則diag(b)為對角矩陣,其對角線元素為b的元素。如:b=1:3,diag(b).(3)tril(a)(注:trianglelow):提取矩a的主下三角。

(4)tril(a,k):提取矩a的第k條對角線下面部分。k=0時為主對角線,k為正值時為上方第k條對角線,k為負值時為下方第k條對角線。(5)triu(a,k)(注:triangleup):提取矩a的第k條對角線上面部分。邏輯運算符(1)==:等于。(2)~=:不等于。(3)〈:小于。(4)〉:大于。(5)〈=:小于等于。(6)〉=:大于等于。(7)&:邏輯與。(8)|:邏輯或。(9)~:邏輯非。說明:

①在關(guān)系比較中,若雙方為同維數(shù)組(矩陣),則比較的結(jié)果也是同維數(shù)組(矩陣)。它們的元素有0和1組成。對應(yīng)位置上的元素滿足比較關(guān)系時為1,否則為0。當常數(shù)與數(shù)組(矩陣)比較時,結(jié)果與數(shù)組(矩陣)同維,其值依次為常數(shù)與數(shù)組元素依次比較的結(jié)果。例:a=[1:3;4:6;7:9]x=5y=x<=a運行結(jié)果y=000011111y.*a②邏輯運算的意義是:

與:當運算雙方的對應(yīng)元素值都為非0時,結(jié)果為1,否則為0;

或:當運算雙方的對應(yīng)元素值有一非0時,結(jié)果為1,否則為0;

非:當運算數(shù)組

(矩陣)的對應(yīng)位置上的元素值為0時,結(jié)果為1,否則為0。例a=[1,2;3,2];b=[0,1;3,0];d=a&b

e=a|b

f=~b

③算術(shù)運算、比較運算、邏輯與或非運算的優(yōu)先級:先比較運算、再算術(shù)運算、最后邏輯與或非運算。4、常用函數(shù)sin(x):正弦函數(shù)

(sine);例:x=-pi:0.1:pi;y=sin(x);plot(x,y)asin(x):反正弦函數(shù)

(anti-sine);cos(x):余弦函數(shù)

(cosine);acos(x):反余弦函數(shù)

(anti-cosine);tan(x):正切函數(shù)

(tangent);atan(x):反正切函數(shù)

(anti-tangent);cot(x):余切函數(shù)

(cotangent);acot(x):反余切函數(shù)

(anti-cotangent);sec(x):正割函數(shù)

(secant);asec(x):反正割函數(shù)

(anti-secant);csc(x):余割函數(shù)

(cosecant);acsc(x):反余割函數(shù)

(anti-cosecant);sinh(x):雙曲正弦

(hyperbolicsine);asinh(x):反雙曲正弦(anti-hyperbolicsine);cosh(x):雙曲余弦

(hyperboliccosine);acosh(x):反雙曲余弦

(anti-hyperboliccosine);tanh(x):雙曲正切函數(shù)

(hyperbolictangent);atanh(x):反雙曲正切函數(shù)

(anti-hyperbolictangent);coth(x):雙曲余切函數(shù)

(hyperboliccotangent);acoth(x):反雙曲余切函數(shù)

(anti-hyperboliccotangent);exp(x):e指數(shù)函數(shù)

(exponent);log(x):自然對數(shù)函數(shù)

(logarithm);log10(x):以10為底的對數(shù);log2(x):以2為底的對數(shù);sqrt(x):平方根函數(shù)

(squareroot);abs(x):求模函數(shù)

(absolute)symsxlimit(sin(x)/x,x,1)limit(sin(x)/x)limit((1+1/x)^(1/x),x,inf)f=atan(1/(1-x))y=limit(f,x,1)%沒極限

y1=limit(f,x,1,'left')y2=limit(f,x,1,'right')f=1/x,y1=limit(f,x,0,'left')y2=limit(f,x,0,'right')符號積分(積分:integral)(1)int(f,x):計算符號表達式f,自由變量為x的不定積分.

(2)int(f,x,a,b):計算符號表達式f,自由變量為x,從a到b的定積分說明:符號表達式可以是符號函數(shù),也可是符號矩陣。例

symsx

int(sin(x),x)

int(sin(x),x,0,1)

int(sin(x),x,0,1)說明:變量x省略時默認對x積分。a=sym('[1/sin(x),cos(x)^2;2*x,1+x^2]')

int(a,x)符號函數(shù)求導(微分:differential)

(1)diff(f,x)%求表達式f,自由變量為x的導數(shù)。

(2)diff(f,x,n)%求表達式f,自由變量為x的n階導數(shù)。symsxf=sin(x)^2

diff(f,x)%變量x省略時默認對x求導diff(f,x,2)%x省略時默認對x求導線性方程組的符號解法(linsolve)例a=sym('[10,-1,0;-1,10,-2;0,-2,10]')b=sym('[9;7;6]')x=linsolve(a,b)%x為線性方程ax=b的解。注:這里a,b也可是double型,但得到的x為sym型。vpa(x)%轉(zhuǎn)化為浮點近似解,32位有效數(shù)字。非線性方程(組)的符號解法符號微分方程的符號解(dsolve)

(1)fsolve('f',x0):其中f為被求零點的函數(shù),x0為初值。注:fsolve對sym型函數(shù)無效;可用于有函數(shù)文件、字符串、和inline定義的函數(shù)。

(2)slove('方程1','方程2',…)。例、求解下面非線性方程組

x1-0.7sinx1-0.2cosx2=0x2-0.7cosx1+0.2sinx2=0解首先編寫函數(shù)文件f.m如下functiony=fc(x)y(1)=x(1)-0.7*sin(x(1))-0.2*cos(x(2));y(2)=x(2)-0.7*cos(x(1))+0.2*sin(x(2));y=[y(1);y(2)];在命令窗口中輸入x0=[0.502,0.51];%x0為初始向量fsolve('fc',x0)符號微分方程的符號解(dsolve):desolve(‘eq1,eq2,…’,’cond1,cond2,…’,’v’)desolve(‘eq1,eq2’,…,’cond1,cond2,…’,’v’)eq1,eq2指常微分方程的符號解;v為自變量;參數(shù)cond1,cond2為用來指定方程的邊界條件或初始條件。例求dy/dt=-ay的解解dsolve('Dy=-a*y')%得到通解。

dsolve('Dy=-a*y','y(0)=1')%給定了初始條件,求特解。方程和初始條件用逗號分開,都用單引號引起來。dsolve(‘Dy=-a*y’,‘y(0)=1’,‘x’)%指定自變量為x求二階常微分方程

的通解。>>symsxyS=dsolve('D2y=cos(2*x)-y','y(0)=1','Dy(0)=0','x');符號函數(shù)的二維圖形

(1)ezplot(f):繪制f(x)的圖形,x的范圍為[-2π,2π]。如

ezplot('sin(x)')。

(2)ezplot(f,a,b):繪制f(x)的圖形,x的范圍為[a,b]。如

ezplot('sin(x)',0,9)。四、圖形處理圖形可視化是數(shù)學計算人員所喜歡和追求的一項技術(shù)。把結(jié)果用圖形描述出來,便于理解、分析。二維繪圖命令基本二維繪圖命令為:plot(u1,v1,c1,u2,v2,c2,…)ui,vi分別為一系列點的x和y坐標;ci是字符串:如‘s’(用方框畫點),‘*’用*畫點),‘-’(用實線畫點),‘--’(用虛線畫點),‘b—d’(用藍色虛線連接藍色菱形點)等等。

(1)plot(y)%若y是向量,就以向量的索引為橫坐標,以向量的元

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論