版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
MATLAB編程及應(yīng)用全套可編輯PPT課件
1初識MATLAB第章全套可編輯PPT課件
1.1MATLAB簡介MATLAB是Matrixlaboratory的縮寫,即矩陣實驗室。矩陣實驗室MATLAB包含數(shù)百個內(nèi)部函數(shù)。內(nèi)部函數(shù)MATLAB、Mathematica和Maple。三大數(shù)學軟件MATLAB包含40多種工具箱。分為功能性工具箱和領(lǐng)域型工具箱。工具箱20世紀70年代子程序庫:CleveMoler博士開發(fā)了EISPACK和LINPACK程序庫用于特征值求解和解線性方程。1.2MATLAB的產(chǎn)生與發(fā)展20世紀70年代后期MATLAB誕生:開發(fā)子程序庫與FORTRAN的接口程序,取名MATLAB。1983年春第二代專業(yè)版誕生:①基于C語言開發(fā);
②具備了數(shù)值計算和數(shù)據(jù)圖示化功能。1984年MathWorks公司成立:MATLAB推向市場;繼續(xù)進行研究和開發(fā)。1992年MATLAB4.0版本推出:之后陸續(xù)推出4.2、5.0、5.3、6.5等版本,直至7.0版本。時至今日每半年更新一次版本:以該年年份命名,并以a和b區(qū)分上半年和下半年。1.3MATLAB用戶界面當前文件夾窗口命令行窗口工作區(qū)窗口1.3MATLAB用戶界面命令行窗口:用戶交互窗口,在提示符“>>”后輸入命令?;剀嚭螅瑘?zhí)行并在此顯示執(zhí)行結(jié)果。工作區(qū):存儲MATLAB創(chuàng)建的或從數(shù)據(jù)文件、其他程序?qū)氲淖兞?。在命令行提示符?gt;>”后鍵入語句;按Enter鍵,MATLAB會將變量添加到工作區(qū)中,并在命令行窗口中顯示結(jié)果。
1.3.1命令的執(zhí)行>>a=1a=1>>b=2b=2>>c=a+bc=3>>d=cos(a)d=0.5403若要創(chuàng)建更多變量,則只需可在命令行提示符后依次鍵入即可。
1.3.1命令的執(zhí)行>>b=2b=2>>c=a+bc=3>>d=cos(a)d=0.5403如果未指定輸出變量,那么MATLAB將使用變量ans(answer的縮略形式)來存儲計算結(jié)果。
1.3.1命令的執(zhí)行>>sin(a)ans=0.8415如果語句以分號結(jié)束,那么MATLAB會執(zhí)行計算,但不在命令行窗口中顯示輸出。>>e=a*b;使用whos可查看工作區(qū)的內(nèi)容。
1.3.1命令的執(zhí)行>>whosNameSizeBytesClassAttributesa1x18doubleans1x18doubleb1x18doublec1x18double【注意】退出MATLAB后,工作區(qū)中的變量不會保留。此時,可以使用save命令保存數(shù)據(jù)以供將來使用。>>savemyfile.mat
1.3.1命令的執(zhí)行【注意】退出MATLAB后,工作區(qū)中的變量不會保留。此時,可以使用save命令保存數(shù)據(jù)以供將來使用。>>savemyfile.mat圖1-2當前工作區(qū)中的變量
1.3.1命令的執(zhí)行通過保存操作,系統(tǒng)會使用.mat擴展名將工作區(qū)中的變量保存在當前工作文件夾中一個名為“.MAT”的壓縮文件中。使用load命令可以將MAT文件中的數(shù)據(jù)還原到工作區(qū)中。>>loadmyfile.mat【提問】要清除工作區(qū)中的所有變量,應(yīng)該用什么命令呢?【練習】請先將工作區(qū)保存,然后清除工作區(qū)中的全部變量,最后使用load命令將數(shù)據(jù)還原到工作區(qū)中。
1.3.2光標與命令行的操作利用方向鍵“↑”“↓”,可以重新調(diào)用以前的(歷史)命令。再按Enter鍵,即可執(zhí)行前一次的命令。在空白命令行中按“↑”鍵,可以調(diào)出歷史命令。
1.3.2光標與命令行的操作而“↓”鍵的功用則是在按下它并調(diào)出歷史命令后,與“↑”鍵配合使用,對歷史命令進行選擇,選定后按Enter鍵執(zhí)行該命令。也可在鍵入命令的前幾個字符后按“↑”鍵。例如,要重新調(diào)用歷史命令b=2,在命令行鍵入“b=”后,按“↑”鍵,該歷史命令被選中,鍵入的內(nèi)容“b=”被黃色標記,同時,歷史命令“b=2”被回調(diào)至命令行。
1.3.2光標與命令行的操作常用操作鍵及快捷鍵:操作鍵功能說明操作鍵功能說明↑Ctrl+1前尋式調(diào)回歷史命令行EscCtrl+u清除當前行的全部內(nèi)容↓后尋式調(diào)回歷史命令行BackSpace刪除光標左邊的字符←在當前行中左移光標Delete刪除光標右邊的字符→在當前行中右移光標Ctrl+←光標左移一個單詞PageUp前尋式翻閱當前窗口中的內(nèi)容Ctrl+→光標右移一個單詞PageDown后尋式翻閱當前窗口中的內(nèi)容Ctrl+Z刪除光標所在命令行內(nèi)容Home使光標移到當前行的首端Ctrl+A全選當前窗口內(nèi)容End使光標移到當前行的末端Alt+BackSpace恢復上一次刪除
1.3.3工作窗與命令行的操作MATLAB除提供常用的操作鍵之外,還提供了許多通過鍵盤在命令行鍵入的控制命令??刂泼詈xclc清除命令行窗口中的所有顯示內(nèi)容clear清除內(nèi)存中的變量和函數(shù)clf清除MATLAB的當前圖形窗口中的圖形dir列出指定目錄下的文件和子目錄清單cdcd后加路徑,改變當前工作子目錄;cd+Enter鍵,顯示當前工作子目錄disp在運行中顯示變量和文字內(nèi)容:disp(x)或disp('字符')type顯示所有指定文件的全部內(nèi)容:typefilenamehold控制當前圖像窗口對象是否被刷新,常與holdon和holdoff配合使用home發(fā)送光標復位命令,顯示為清空屏幕而不刪除任何文本1.4MATLAB幫助系統(tǒng)010203利用help指令利用菜單欄中的“幫助”(Help)按鈕利用lookfor指令在MATLAB系統(tǒng)中,相關(guān)的線上(On-Line)幫助方式有一下3種?!咀⒁狻縈ATLAB幫助系統(tǒng)中還有一些在線學習和視頻可供初學者快速入門。可通過幫助系統(tǒng)多多嘗試和發(fā)掘,學會使用幫助系統(tǒng)學習和查詢相關(guān)學習內(nèi)容,可以在學習MATLAB的過程中達到事半功倍的效果。利用菜單欄中的“幫助”按鈕查詢查詢界面1.4MATLAB幫助系統(tǒng)MATLAB編程及應(yīng)用2MATLAB基本計算和基礎(chǔ)知識第章使用MATLAB進行數(shù)學基本計算就像用計算器一樣方便、簡單;在命令行窗口的命令行提示符后鍵入算式,MATLAB就會把計算結(jié)果顯示出來。>>1+2+3+4+5+6ans=21>>1/2ans=0.50002.1
基本計算入門實例算術(shù)運算:加(+)、減(-)、乘(*)、除(/或\)及冪次方(^);>>((1+4)*5-12)/2ans=6.50002.1
基本計算入門實例優(yōu)先級:如果有括號,那么括號優(yōu)先執(zhí)行,而且MATLAB允許括號嵌套。復數(shù)的計算:MATLAB還具有超越計算器的功能,它認識復數(shù),能夠進行復數(shù)的計算。>>(2+3i)+(4+5i)ans=6.0000+8.0000i三角函數(shù):可以如計算器般進行三角函數(shù)的運算。>>sin(pi/3)ans=0.86602.1
基本計算入門實例變量是指在程序執(zhí)行過程中其值可以變化的量。2.2
變量變量用戶自定義變量系統(tǒng)預定義變量2.2.1用戶自定義變量以非數(shù)字的符號來表達,一般用拉丁字母來表示。變量的定義不需要特別聲明數(shù)據(jù)類型,其定義與賦值是同時完成的。>>a=3a=3定義了一個變量a,同時將其賦值為3。在對變量進行命名時,需要滿足下列4條規(guī)則。變量名區(qū)分大小寫,如“a”和“A”是不同的變量。變量名不能超過63個字符,第63個字符后的字符被忽略。變量名必須以字母開頭,其組成可以是任意字母、數(shù)字或下畫線,但不能含有空格和標點符號,如“6”“abc”“ac%b”都是不合法的變量名。關(guān)鍵詞、系統(tǒng)命名函數(shù)等不能作為變量名,如“if”“while”等。2.2.1用戶自定義變量2.2.1用戶自定義變量>>a=3a=3>>b=5*ab=153變量a15變量b5*3=15
先定義變量a,并賦值3;再定義變量b,同時調(diào)用變量a的當前值,計算后將結(jié)果賦值給變量b2.2.2系統(tǒng)預定義變量MATLAB系統(tǒng)提供了一些用戶不能清除的特殊變量,即系統(tǒng)預定義變量。
MATALB系統(tǒng)預定義變量及其含義預定義變量名含義ans運算結(jié)果默認變量名pi圓周率eps浮點數(shù)的精度,也是系統(tǒng)運算時確定的極小值nan或NAN非數(shù),如0/0inf無窮大,如1/0i或j虛數(shù)標志,i=j=sqrt(-1)2.3數(shù)據(jù)類型MATLAB數(shù)據(jù)類型數(shù)值類型邏輯類型字符串類型單元類型結(jié)構(gòu)類型2.3.1數(shù)值類型數(shù)值類型分類方法根據(jù)數(shù)據(jù)存儲空間和方式分類根據(jù)數(shù)據(jù)結(jié)構(gòu)分類整型浮點型標量數(shù)組矩陣2.3.1數(shù)值類型實數(shù)的數(shù)值類型分類類型子類型符號位數(shù)用法整型有符號整型int88a=int32(12)
int1616
int3232
int6464
無符號整型uint88a=uint32(12)
uint1616
uint3232
uint6464
浮點型單精度浮點型single32a=single(12.34)
雙精度浮點型double64a=12.342.3.1數(shù)值類型【注意】(1)系統(tǒng)默認的數(shù)值類型是雙精度浮點型,因此,在使用double時,可以省略double符號。(2)當double類型的數(shù)值與其他類型的數(shù)值進行運算時,結(jié)果為其他類型的數(shù)值,single類型的數(shù)值不能和整型直接進行運算,各種不同位數(shù)的整型之間也不能直接進行運算。2.3.1數(shù)值類型因為系統(tǒng)默認的數(shù)據(jù)類型是雙精度浮點型,所以在將變量設(shè)置為整數(shù)時,需要進行轉(zhuǎn)換。函數(shù)運算法則例子floor向下取整floor(1.4)=1,floor(3.5)=3,floor(-3.5)=-4ceil向上取整ceil(1.4)=2,ceil(3.5)=4,ceil(-3.5)=-3round取最接近的整數(shù),若小數(shù)部分是0.5,則向絕對值大的方向取整round(1.4)=1,round(3.5)=4,round(-3.5)=-4fix向0取整fix(1.4)=1,fix(3.5)=3,fix(-3.5)=-3將雙精度浮點型轉(zhuǎn)化為整數(shù)的轉(zhuǎn)化函數(shù)2.3.1數(shù)值類型復數(shù)由實部和虛部兩部分構(gòu)成,在MATLAB中,字符i和j等價,默認作為虛部標志,數(shù)值與符號之間的乘號可以省略。>>a=1+2ia=1.0000+2.0000i>>b=3+4*jb=3.0000+4.0000i2.3.2邏輯類型MATLAB本身并沒有專門提供邏輯類型,而借用整型來描述邏輯類型數(shù)據(jù)。MATLAB規(guī)定,邏輯數(shù)據(jù)真(true)為1、邏輯數(shù)據(jù)假(false)為0。>>2<3ans=logical1>>2>3ans=logical02.3.3字符串類型MATLAB中的字符串是包含在單引號中的字符集合。>>s='你好,MATLAB'%定義字符串變量ss='你好,MATLAB'【注意】在MATLAB中,所有字符串都用英文半角單引號標識,字符串和字符數(shù)組是等價的,字符串中的每個字符(包括空格)都是字符數(shù)組的一個元素。利用length函數(shù)可以求取字符串的長度。length('你好,MATLAB!')ans=102.3.4單元類型單元類型是MATLAB中比較特殊的一種數(shù)據(jù)類型,其本質(zhì)也是數(shù)組。一般數(shù)組:所有數(shù)組元素只能是同一種數(shù)據(jù)類型單元數(shù)組:可以把不同的數(shù)據(jù)類型組合在一起,從而形成一種比較復雜的數(shù)組。2.3.4單元類型創(chuàng)建單元類型數(shù)組的方法:(1)通過賦值語句創(chuàng)建單元類型數(shù)組:單元類型數(shù)組使用花括號“{}”來創(chuàng)建,使用“,”或空格來分隔單元,使用“;”來分行。>>A={'x',[2;3;6];10,2*pi}A=2×2cell數(shù)組{'x'}{3×1double}{[10]}{[6.2832]}2.3.4單元類型(2)使用cell函數(shù)創(chuàng)建空單元類型數(shù)組:先使用cell函數(shù)創(chuàng)建空單元類型數(shù)組,預先分配存儲空間;然后逐個對元素進行賦值。>>B=cell(1,2) %創(chuàng)建空單元類型數(shù)組BB=1×2cell數(shù)組{0×0double}{0×0double}>>B(1,1)={'MATLAB'};B{1,2}='好用!'; %為單元類型數(shù)組元素分別賦值B=1×2cell數(shù)組{'MATLAB'}{'好用!'}>>B(1,1)={'MATLAB'};B{1,2}='好用!'; %為單元類型數(shù)組元素分別賦值B=1×2cell數(shù)組{'MATLAB'}{'好用!'}2.3.5結(jié)構(gòu)類型結(jié)構(gòu)類型是另一種可以將不同的數(shù)據(jù)類型組合在一起的特殊數(shù)據(jù)類型,其本質(zhì)依然是數(shù)組。創(chuàng)建單元類型數(shù)組的方法:(1)使用賦值語句創(chuàng)建結(jié)構(gòu)類型數(shù)組并賦值;(2)使用struct函數(shù)創(chuàng)建結(jié)構(gòu)類型數(shù)組并賦值。2.3.5結(jié)構(gòu)類型(1)使用賦值語句創(chuàng)建結(jié)構(gòu)類型數(shù)組并賦值;結(jié)構(gòu)類型變量的使用必須指出結(jié)構(gòu)的屬性名,并以操作符“.”來連接結(jié)構(gòu)變量名與屬性名,對該屬性進行直接賦值,如A.b1、B(2,3).a3等。結(jié)構(gòu)類型數(shù)組不同元素的類型可以不同。>>student.Name='小明';>>student.Age=18;>>student.Score=88student=包含以下字段的struct:Name:'小明'Age:18Score:882.3.5結(jié)構(gòu)類型(2)使用struct函數(shù)創(chuàng)建結(jié)構(gòu)類型數(shù)組并賦值。采用struct函數(shù)預先分配存儲空間并賦值,具體形式為:>>student=struct('Name','小明','Age',18,'Score',88)student=包含以下字段的struct:Name:'小明'Age:18Score:88結(jié)構(gòu)類型變量=struct(元素名1,元素值1,元素名2,元素值2,…)。例如:2.4.1算數(shù)運算MATLAB運算包括算數(shù)運算、關(guān)系運算、邏輯運算、位運算和集合運算五大類。其中,算數(shù)運算、關(guān)系運算、邏輯運算為MATLAB的基本運算。MATLAB運算算數(shù)運算關(guān)系運算邏輯運算位運算集合運算2.4.1算數(shù)運算運算符含義+加-減*乘\矩陣左除/矩陣右除^矩陣冪次方.*數(shù)組乘./數(shù)組右除.\數(shù)組左除.^數(shù)組冪次方MATLAB的算數(shù)運算符及其含義2.4.1算數(shù)運算【注意】MATLAB中的算數(shù)運算與數(shù)學上的算數(shù)運算相比,需要注意和區(qū)分以下不同點。(1)除法分為左除和右除。(2)乘、左除、右除和冪次方運算將矩陣看作一個整體,遵循矩陣運算規(guī)則;數(shù)組乘、數(shù)組冪次方、數(shù)組左除和數(shù)組右除按數(shù)組元素進行相應(yīng)的運算?!纠?-1】求解算數(shù)表達式[1+2×(11-4)]+23的值。>>(1+2*(11-4))+2^3ans=232.4.2關(guān)系運算關(guān)系運算是用來判斷運算對象之間關(guān)系的運算,一共有6種。MATLAB的關(guān)系運算符及其含義運算符含義<小于<=小于或等于>大于>=大于或等于==等于~=不等于2.4.3邏輯運算MATLAB中的基本邏輯運算符有3種。MATLAB的邏輯運算符及其含義運算符含義&與|或~非2.5MATLAB的標點符號和特殊字符MATLAB中有一些被賦予特殊意義的符號,有一定的特殊含義。MATLAB的標點符號和特殊字符符號名稱含義:冒號有多種運算功能,用于定義行向量或截取指定矩陣中的部分=等號為變量賦值。等號左邊為變量名、右邊為變量的值;分號區(qū)別矩陣的行;命令行不輸出回顯信息.小數(shù)點描述小數(shù)%百分號注釋語句,增加程序的可讀性…續(xù)行符號續(xù)行,逗號矩陣每行元素之間的分隔符'單引號矩陣轉(zhuǎn)置運算、復數(shù)的共軛值、字符串定義等!感嘆號調(diào)用系統(tǒng)操作命令[]方括號矩陣的定義()圓括號指定函數(shù)中參量的輸入{}花括號構(gòu)成單元類型數(shù)組2.6常用數(shù)學函數(shù)在MATLAB計算中,常常要用到一些數(shù)學函數(shù)。函數(shù)含義abs(x)對自變量取絕對值sqrt(x)對自變量開二次方exp(x)自然底數(shù)e的x次方sin(x)x的正弦值[其中x為弧度制,如果需要使用角度制,則采用sind(x)]asin(x)x的反正弦值(其中x為弧度制,角度制同上)cos(x)x的余弦值(其中x為弧度制,角度制同上)acos(x)x的反余弦值(其中x為弧度制,角度制同上)tan(x)x的正切值(其中x為弧度制,角度制同上)atan(x)x的反正切值(其中x為弧度制,角度制同上)log(x)自然對數(shù):求以e為底x的對數(shù)log10(x)常用對數(shù):求以10為底x的對數(shù)log2(x)求以2為底x的對數(shù)2.6常用數(shù)學函數(shù)在MATLAB計算中,常常要用到一些數(shù)學函數(shù)。函數(shù)含義round(x)、fix(x)對x進行取整。其中,round為四舍五入,fix為向下取整mod(x,y)求x/y的余數(shù)imag(x)、real(x)求x的虛部、實部find(x)尋找變量round(x)、fix(x)對x進行取整。其中,round為四舍五入,fix為向下取整find(x)尋找變量sort(x)將數(shù)組元素按照從小到大排序sum(x)數(shù)組元素求和roots(x)求解多項式的根axis([x1,x2,y1,y2])設(shè)置坐標軸范圍2.7函數(shù)語句在MATLAB中,一條命令就是一條語句,其格式與數(shù)學表達式十分接近。用戶在命令行窗口的命令提示符“>>”后輸入語句并按Enter鍵后,該語句就在MATLAB中運行,并在命令行窗口返回運行結(jié)果。函數(shù)語句表達式中一般包括運算符、標點符號和常用函數(shù),表達式按照從左向右的順序執(zhí)行。運算的優(yōu)先級遵循數(shù)學運算的優(yōu)先級規(guī)定,即冪運算優(yōu)先,其次是乘除法,最后是加減法。若運算中有圓括號,則圓括號優(yōu)先?!咀⒁狻勘磉_式中的圓括號必須使用半角符號。2.7函數(shù)語句【例2-2】求
的值,并把它賦值給變量。>>a=(5*(7-2)^2)/(2/3)a=187.5000
在MATLAB中“變量=表達式”形式表示將表達式運算后賦值給變量。2.7函數(shù)語句>>a=8;b=7;c=6; %為變量a、b、c賦值>>s=(a+b+c)/2; %定義s為三角形的半周長>>S=sqrt(s*(s-a)*(s-b)*(s-c)) %利用海倫公式求面積S=20.3332為了增加代碼的可讀性,通常通過對代碼增添注釋來使代碼更容易讀懂,通過“%”表明標注開始,%后的所有內(nèi)容均為注釋內(nèi)容,MATLAB在運行時會自動忽略%后的內(nèi)容。【例2-3】設(shè)三角形的3條邊的邊長為a=8、b=7、c=6,求此三角形的面積?!痉治觥?/p>
,其中MATLAB編程及應(yīng)用3MATLAB數(shù)值計算第章矩陣是MATLAB進行數(shù)據(jù)處理和運算的基本元素,即最基本的MATLAB數(shù)據(jù)結(jié)構(gòu)體就是矩陣。矩陣是按行和列排列的數(shù)據(jù)元素的二維矩形數(shù)組。一般的數(shù)學運算也都可以轉(zhuǎn)化成相應(yīng)的矩陣運算來處理。>>clear>>A=100;>>whos%列出當前工作空間中所有變量的的變量名、尺寸、所占字節(jié)數(shù)及數(shù)據(jù)類型等NameSizeBytesClassAttributesA1x18double3.1
數(shù)據(jù)擬合MATLAB直接輸入法創(chuàng)建矩陣步驟:(1)用方括號“[]”把所有的矩陣元素括起來。(2)同一行的不同元素用逗號或空格來分隔。(3)用分號“;”指定一行元素的結(jié)束來分隔行,或者用回車符代替分號。(4)矩陣元素可以是實數(shù)或復數(shù),也可以是表達式。如果是表達式,那么系統(tǒng)將自動計算表達式的結(jié)果,并賦值給相應(yīng)的元素。>>a=[123]%構(gòu)造1×3的矩陣a或行向量aa=123>>x=[123;456]%構(gòu)造2×3的矩陣xx=1234563.1.1利用直接輸入法創(chuàng)建矩陣MATLAB中有許多內(nèi)部函數(shù),可以創(chuàng)建具有特定值或特定結(jié)構(gòu)的矩陣。>>A=zeros(3,2)%利用zeros函數(shù)創(chuàng)建3×2全零矩陣A=000000>>B=ones(2,4)
%利用ones函數(shù)創(chuàng)建2×4全幺矩陣B=111111113.1.2利用函數(shù)創(chuàng)建矩陣3.1.2利用函數(shù)創(chuàng)建矩陣函數(shù)功能zeros(m,n)創(chuàng)建一個m行n列的全部元素為0的矩陣ones(m,n)創(chuàng)建一個m行n列的全部元素為1的矩陣eye(m,n)創(chuàng)建一個m行n列的單位矩陣rand(m,n)創(chuàng)建一個m行n列的0~1均勻分布的隨機矩陣randn(m,n)創(chuàng)建一個m行n列的均值為0、方差為1的標準正態(tài)分布隨機矩陣linspace(a,b,n)創(chuàng)建一個在[a,b]區(qū)間上線性n等分的矩陣[]創(chuàng)建空矩陣diag(X)若X是矩陣,則diag(X)為X的主對角線向量;若X是向量,則diag(X)產(chǎn)生以X為主對角線的對角矩陣tril(A)提取一個矩陣的下三角部分triu(A)提取一個矩陣的上三角部分創(chuàng)建矩陣的函數(shù)3.1.2利用函數(shù)創(chuàng)建矩陣【例3-1】分別構(gòu)建隨機矩陣x和y,要求x是在區(qū)間[20,50]內(nèi)均勻分布的3階隨機矩陣,y是均值為0.6、方差為0.1的3階正態(tài)分布隨機矩陣。>>x=20+(50-20)*rand(3)x=25.897934.198737.557927.532530.549836.491738.481344.924947.5158>>y=0.6+sqrt(0.1)*randn(3)y=0.34560.52290.23700.82030.66820.63320.86410.23130.82843.1.3利用M文件創(chuàng)建矩陣對于比較大且比較復雜的矩陣,可以為它專門建立一個M文件。MATLAB直接輸入法創(chuàng)建矩陣步驟:(1)使用編輯程序或MATLAB文本編輯器輸入文件內(nèi)容。(2)把輸入的內(nèi)容以M文件方式存盤。(3)在MATLAB命令行窗口中輸入文件名,就會自動建立一個矩陣,可供以后顯示和調(diào)用。3.1.3利用M文件創(chuàng)建矩陣x=[123]例如,打開MATLAB文本編輯器,輸入:保存文件,命名文件名為mymatrix.m;在命令行窗口的命令行提示符后輸入mymatrix,按Enter鍵后可生成以x為變量名的矩陣。>>mymatrixx=1233.1.4矩陣元素與矩陣元素變量MATLAB在定義矩陣的同時衍生出了矩陣元素變量??梢杂孟聵藖肀硎揪仃囋?,如:A(2,3)表示A矩陣的第2行第3列的元素;A(:,1)表示矩陣A的第1列的元素;A(2,:)表示矩陣A的第2行的元素。3.1.4矩陣元素與矩陣元素變量矩陣元素可以修改。有兩種方法:方法一,可以通過界面的可視化操作直接編輯矩陣的某個元素。先在工作區(qū)中找到定義的矩陣變量名,然后雙擊變量名進入變量編輯界面。3.1.4矩陣元素與矩陣元素變量單擊需要修改的元素即可進行修改。例如,選擇元素A(1,3),將其值修改為10。在命令行窗口的命令行提示符后鍵入A,可查看修改后的矩陣A。>>AA=12104567893.1.4矩陣元素與矩陣元素變量方法二,使用MATLAB命令訪問數(shù)組的某個元素,采用“矩陣名(序號1,序號2)=數(shù)據(jù)”的方式來修改矩陣元素。>>A=[123;456;789] %定義3×3的矩陣AA=123456789>>A(2,1)=5; %修改元素變量A(2,1)的值為53.1.4矩陣元素與矩陣元素變量【例3-2】輸入矩陣A,并將矩陣A的第1行和第2行元素對調(diào),其中矩陣
。>>A=[1234;5678;9101112] %輸入矩陣AA=123456789101112>>b=A(1,:) %取出矩陣A的第1行元素,賦值給變量bb=1234>>A(1,:)=A(2,:) %將第2元素賦值給第1行元素A=567856789101112>>A(2,:)=b%將原始矩陣A的第1行元素賦值給第2行元素A=5678123491011123.1.5串聯(lián)矩陣MATLAB可以使用方括號將現(xiàn)有矩陣連接在一起構(gòu)建新的矩陣。這種創(chuàng)建矩陣的方法稱為串聯(lián)。>>A=ones(1,4);>>B=zeros(1,4);>>C=[AB]C=11110000>>D=[A;B]D=11110000要將A和B排列為一個矩陣的兩行,可以使用分號:3.1.5串聯(lián)矩陣要串聯(lián)兩個矩陣,它們的大小必須兼容:在水平串聯(lián)矩陣時,它們的行數(shù)必須相同;在垂直串聯(lián)矩陣時,它們的列數(shù)必須相同。>>A=ones(2,3)A=111111>>B=zeros(2,2)B=0000>>C=[AB]C=1110011100>>D=[A;[B,[0;0]]]D=1111110003.1.6擴展矩陣通過將一個或多個元素置于現(xiàn)有行和列索引邊界之外,可以將它們添加到矩陣中。MATLAB會自動用0填充矩陣,使其保持為矩形。>>A(3,4)=1A=102030060708000001還可以通過在現(xiàn)有索引范圍之外插入新矩陣來擴展其大小。>>A(4:5,5:6)=[23;45]A=10203000060708000000
0
1
0000
0
0
2300
0
0
453.1.7矩陣運算矩陣運算是根據(jù)矩陣運算規(guī)則進行的運算,MATLAB的處理方法與線性代數(shù)中的相同。運算符用途說明+加法A+B表示將A和B加在一起-減法A-B表示從A中減去B*矩陣乘法A*B表示A和B按矩陣乘法規(guī)則進行運算^矩陣冪次A^k表示矩陣A的k次冪運算/矩陣右除A/B表示矩陣A右除B,即AB-1\矩陣左除A\B表示矩陣A左除除B,即A-1B'矩陣轉(zhuǎn)置A'表示A的列元素與行元素互換3.1.7矩陣運算(1)矩陣的加減運算矩陣的加減是矩陣與矩陣對應(yīng)元素的加減,其運算符是“+”和“-”。進行相加減的矩陣的階數(shù)必須相同。如果階數(shù)不同,則系統(tǒng)顯示出錯信息。MATLAB檢查矩陣階數(shù)的語句是size。例如>>A=[1234;5678;9101112]%輸入矩陣AA=123456789101112>>[m,n]=size(A) %檢查矩陣A的階數(shù)m=3n=43.1.7矩陣運算【例3-3】計算C=A+B,D=A-B,E=A+3。其中,,。>>A=[1234;5678;9101112]%輸入矩陣AA=123456789101112>>B=[2368;1357;1122]%輸入矩陣BB=236813571122>>C=A+B%A、B對應(yīng)元素相加C=3591269121510111314>>D=A-B%A、B對應(yīng)元素相減D=-1-1-3-4432189910>>E=A+3%矩陣與常量相加:每個元素進行加3的運算E=4567000189101112131415>>A=[123;567;91011]; %輸入矩陣A>>B=[159;2610;3711]; %輸入矩陣B>>C=A*B %矩陣A與矩陣B相乘C=143862381101862182302>>D=A*3 %矩陣A與標量3相乘D=369151821273033(2)矩陣的乘法運算矩陣乘法的運算符是“*”。只有當前一矩陣的列數(shù)與后一矩陣的行數(shù)相等或至少其中一個為標量時,才能進行乘法運算;否則,系統(tǒng)會提示錯誤信息。【例3-4】計算C=A+B,D=A-B,E=A+3。其中,
,
。3.1.7矩陣運算(3)矩陣的除法運算矩陣的除法運算分為左除和右除兩種,其運算符分別為“\”和“/”。A\B=A-1BB/A=BA-1【注意】A矩陣必須可逆。即①A為方陣;②A的各行(列)線性無關(guān);③行列式的值不等于0。MATLAB提供了函數(shù)inv用以求解逆矩陣、函數(shù)det用以求解行列式的值、函數(shù)eye用于生成單位矩陣。3.1.7矩陣運算【例3-5】求矩陣
的行列式的值,當其行列式的值不為0時,求其逆矩陣。>>A=[21-3;431;1-42];>>det(A)ans=70>>inv(A)ans=0.14290.14290.1429-0.10000.1000-0.2000-0.27140.12860.02863.1.7矩陣運算>>A=[123;301;421];>>det(B) %求矩陣B的行列式的值ans=0>>inv(B) %B矩陣的行列式的值為0,數(shù)學上%的逆陣并不存在,驗證MATLAB對此的處理。警告:矩陣為奇異工作精度。ans=InfInfInfInfInfInfInfInfInf>>B=[555;555;555];3.1.7矩陣運算當數(shù)學上的逆矩陣并不存在時,MATLAB并不會報錯,而是給出警告,并提供參考計算結(jié)果。>>A/B警告:矩陣為奇異工作精度。ans=NaNNaNNaN
NaNNaNNaNNaNNaNNaN>>B\A%B左除A警告:矩陣為奇異工作精度。ans=NaNNaNNaNNaNNaNNaNInfNaN-Inf【例3-6】已知矩陣
,矩陣
,計算A左除B和B右除A。>>A=[123;301;421];%輸入矩陣A>>B=[555;555;555];%輸入矩陣B>>C=A\BC=1.11111.11111.1111-0.5556-0.5556-0.55561.66671.66671.6667>>D=B/AD=1.3889-0.27781.11111.3889-0.27781.11111.3889-0.27781.11113.1.7矩陣運算通常,X=A\B是A*X=B的解,X=A/B是X*B=A的解。>>A=[21-3;431;1-42];>>B=[4;5;12];>>X=A\BX=3.0000-2.3000-0.10003.1.7矩陣運算【例3-7】求線性方程組
的解?!痉治觥烤€性方程組一般可以表示成AX=B的形式。其中,A為等式左邊各方程式的系數(shù)項,X為欲求解的未知項,B為等式右邊的已知列向量。根據(jù)線性代數(shù)知識,可知,X=A-1B。因此,在MATLAB中求解線性方程組可通過矩陣除法運算獲得,即X=A\B。(4)矩陣的乘方運算矩陣的乘方運算使用的運算符是“^”,如果A是一個矩陣,P是一個整數(shù),則A^P表示矩陣A自乘P次。3.1.7矩陣運算>>A=[21-3;431;1-42];>>A^3ans=67100-207176-68-103-5711(5)矩陣的轉(zhuǎn)置運算矩陣轉(zhuǎn)置是將第行第列的元素與第行第列的元素互換,其運算符為“'”。3.1.7矩陣運算>>A=[21-3;431;1-42]A=21-34311-42>>B=A'B=24113-4-312對于矩陣運算,MATLAB還提供了許多矩陣函數(shù),正是因為擁有了如此眾多和完善的函數(shù),MATLAB才具有了功能強大的數(shù)學處理能力。3.1.8矩陣的運算函數(shù)(1)矩陣行列式的值在MATLAB中,使用函數(shù)det(A)求矩陣行列式的值。3.1.8矩陣的運算函數(shù)例如,構(gòu)建5階隨機矩陣,并求其行列式的值。>>A=rand(5)A=0.93400.33710.16560.74820.15240.12990.16220.60200.45050.82580.56880.79430.26300.08380.53830.46940.31120.65410.22900.99610.01190.52850.68920.91330.0782>>B=det(A)B=-0.11613.1.8矩陣的運算函數(shù)(2)矩陣求逆對于一個方陣A,如果存在一個與其同階的方陣B,使得AB=BA=I(I為單位矩陣),則稱B為A的逆矩陣。當然,A也是B的逆矩陣。求方陣的逆矩陣可調(diào)用函數(shù)inv?!纠?-8】求方陣A的逆矩陣,且驗證。>>A=[1,-1,1;5,-4,3;2,1,1];>>B=inv(A)B=-1.40000.40000.20000.2000-0.20000.40002.6000-0.60000.2000>>E=A*BE=1.000000-0.00001.00000-0.000001.00003.1.8矩陣的運算函數(shù)(3)抽取對角矩陣在研究矩陣時,有時需要將矩陣的對角線上的元素提取出來形成一個列向量,有時也需要用一個向量構(gòu)造一個對角矩陣。提取矩陣的對角線元素和構(gòu)造對角矩陣的函數(shù)為diag。>>A=[1,2,3;4,5,6];>>D=diag(A)%提取對角線元素D=15diag函數(shù)還有一種形式:diag(矩陣名,k),實現(xiàn)提取第k條對角線上的元素。>>D1=diag(A,1)D1=263.1.8矩陣的運算函數(shù)(3)抽取對角矩陣如果V是一個含有m個元素的向量,那么diag(V)將產(chǎn)生一個m×m對角矩陣,其主對角線元素即向量V的元素。>>diag([1,2,-1,4])ans=1000020000-1000043.1.8矩陣的運算函數(shù)【例3-9】建立一個5×5的矩陣A,將其第1行元素乘以1,第2行元素乘以2……第5行元素乘以5。>>A=ones(5)A=1111111111111111111111111>>D=diag(1:5)D=1000002000003000004000005>>D*Aans=11111222223333344444
555553.1.8矩陣的運算函數(shù)(4)矩陣重構(gòu)MATLAB提供將矩陣或向量重構(gòu)為新矩陣的函數(shù)reshape,其形式有以下兩種。①B=reshape(A,[m,n])。②B=reshape(A,m,n)。【注意】①重構(gòu)矩陣的元素個數(shù)m×n必須與向量元素個數(shù)相等。②重構(gòu)矩陣按列進行。3.1.8矩陣的運算函數(shù)【例3-10】將10個元素的1×10矩陣(向量)重構(gòu)為5×2矩陣。>>A=1:10A=12345678910>>B=reshape(A,[5,2])B=162738495103.1.8矩陣的運算函數(shù)【例3-11】將一個4×4方陣重構(gòu)為一個2列矩陣。為第一個維度指定[],以使reshape自動計算合適的行數(shù)。>>A=magic(4)%構(gòu)造4階魔方矩陣A=16231351110897612414151>>B=reshape(A,[],2)B=163510964152131187121413.1.8矩陣的運算函數(shù)(5)求矩陣的特征值設(shè)A為n階矩陣,是一個數(shù),如果方程Ax=x存在非零解向量,則稱為A的一個特征值,相應(yīng)的非零解向量x稱為與特征值對應(yīng)的特征向量。MATLAB中求特征值和特征向量的函數(shù)為eig?!纠?-12】求例3-8中的矩陣的特征值。>>A=[1,-1,1;5,-4,3;2,1,1]A=1-115-43211>>eig(A)ans=-3.5688-0.63562.20443.1.8矩陣的運算函數(shù)(6)求特征多項式MATLAB中使用poly函數(shù)來求矩陣的特征多項式,使用roots函數(shù)可以求特征多項式的根,特征多項式的根是矩陣的特征值。>>A=[123;456;780]
%構(gòu)造矩陣AA=123456780>>p=poly(A) %求矩陣A的特征多項式p=1.0000-6.0000-72.0000-27.0000>>r=roots(p) %求特征多項式的根r=12.1229-5.7345-0.3884>>eig(A) %矩陣A的特征多項式的根是矩陣A的特征值ans=12.1229-0.3884-5.73453.1.8矩陣的運算函數(shù)除以上介紹的矩陣函數(shù)外,還有一些其他的矩陣函數(shù)。如下表:函數(shù)名功能det計算方陣的行列式的值inv方陣的逆陣diag抽取對角矩陣reshape向量重構(gòu)矩陣或數(shù)組eig求特征值和特征向量poly求特征多項式rank矩陣的秩expm矩陣指數(shù)logm矩陣對數(shù)sqrtm矩陣開方可以把向量看作只有一行或一列的矩陣,也可以認為矩陣是由一組向量構(gòu)成的,即可以將向量看作矩陣的組成元素。3.2向量向量分行向量和列向量,向量的構(gòu)造方法有兩種:①按矩陣構(gòu)造方式構(gòu)造向量;②利用字符“:”生成具有固定步長的行向量;③利用函數(shù)linspace生成在一定數(shù)值區(qū)間內(nèi)等間距產(chǎn)生一定數(shù)量元素的行向量。>>x=1:0.5:3%產(chǎn)生以1為初值、步長為0.5、不大于3的行向量x=1.00001.50002.00002.50003.0000>>y=1:5%產(chǎn)生以1為初值、默認步長為1、不大于5的行向量y=12345>>z=linspace(2,12,6)%產(chǎn)生以2為初值、12為終值、6個元素間距相等的行向量z=246810123.2向量列向量可通過行向量的轉(zhuǎn)置運算獲得。>>x=1:0.5:3%產(chǎn)生以1為初值、步長為0.5、不大于3的行向量x=1.00001.50002.00002.50003.0000>>y=x'y=1.00001.50002.00002.50003.00003.3數(shù)組數(shù)組就是相同數(shù)據(jù)類型的元素按一定順序排列的集合,是用于程序設(shè)計的數(shù)據(jù)結(jié)構(gòu)中的概念,而并不同矩陣一樣是數(shù)學上的概念?!咀⒁狻繉τ贛ATLAB工作空間中的變量,MATLAB并不做矩陣和數(shù)組的區(qū)分,只是在調(diào)用不同的函數(shù)和運用不同的運算符時才將其進行分類和區(qū)分,進行相應(yīng)的計算。MATLAB的乘法運算(*)、除法運算(/或\)和冪次方運算(^),指數(shù)函數(shù)expm、對數(shù)函數(shù)logm和開方函數(shù)sqrtm均是對矩陣進行的,即把矩陣作為一個整體來運算,其變量即矩陣。若對所有元素按單個元素進行運算,則這類運算即數(shù)組運算,其對應(yīng)的變量即數(shù)組。3.3.1數(shù)組的創(chuàng)建與索引數(shù)組有一維數(shù)組、二維數(shù)組和多維數(shù)組,其創(chuàng)建與引用有所不同。(1)一維數(shù)組一維數(shù)組的創(chuàng)建與矩陣相同,每個數(shù)組元素由一個下標以“數(shù)組名(元素序號)”的形式來索引。例如,1×5一維數(shù)組索引示意圖如圖所示。(1)(2)(3)(4)(5)3.3.1數(shù)組的創(chuàng)建與索引對于一維數(shù)組A,A(1)表示一維數(shù)組A的第1個元素。>>A=[123]%一維數(shù)組的創(chuàng)建與矩陣相同A=123>>A0=A(1)A0=1(2)二維數(shù)組二維數(shù)組的創(chuàng)建與矩陣相同。在數(shù)組中,兩個維度由行和列表示,每個數(shù)組元素由兩個下標以“數(shù)組名(行序號,列序號)”的形式來索引。3.3.1數(shù)組的創(chuàng)建與索引(1,1)(1,2)(1,3)(1,4)(1,5)(2,1)(2,2)(2,3)(2,4)(2,5)(3,1)(3,2)(3,3)(3,4)(3,5)(4,1)(4,2)(4,3)(4,4)(4,5)對于二維數(shù)組A,A(1,2)表示二維數(shù)組A的第1行第2列元素。>>X=[12;34];%二維數(shù)組的創(chuàng)建與矩陣相同>>X12=X(1,2)X12=25×5二維數(shù)組索引示意圖3.3.1數(shù)組的創(chuàng)建與索引(3)多維數(shù)組MATLAB中的多維數(shù)組是指具有兩個以上維度的數(shù)組,是二維數(shù)組的擴展,使用額外的下標進行索引。例如,三維數(shù)組使用3個下標,以“數(shù)組名(行序號,列序號,頁序號)”進行索引。3.3.1數(shù)組的創(chuàng)建與索引創(chuàng)建多維數(shù)組:先創(chuàng)建二維矩陣,再進行擴展。例如,創(chuàng)建一個3×3×3的三維數(shù)組。首先定義一個3×3矩陣,作為三維數(shù)組中的第一頁。>>A=[123;456;789]A=1234567893.3.1數(shù)組的創(chuàng)建與索引然后添加第2頁:可將另一個3×3矩陣賦給第3個維度中的索引值2,語法為A(:,:,2),在第1個和第2個維度中使用冒號,以在其中包含賦值表達式右側(cè)的所有行和所有列。>>A(:,:,2)=[101112;131415;161718]A(:,:,1)=123456789A(:,:,2)=1011121314151617183.3.1數(shù)組的創(chuàng)建與索引若還有第3頁,則輸入以下命令>>A(:,:,3)=[192021;222324;252627]A(:,:,1)=123456789A(:,:,2)=101112131415161718A(:,:,3)=1920212223242526273.3.1數(shù)組的創(chuàng)建與索引要訪問多維數(shù)組中的元素,同樣需要使用整數(shù)下標,就像在向量和矩陣中一樣。例如,找到A中下標為(1,2,2)的元素,它位于A的第2頁上的第1行第2列>>AA(:,:,1)=123456789A(:,:,2)=101112131415161718A(:,:,3)=192021222324A122=A(1,2,2)A122=113.3.1數(shù)組的創(chuàng)建與索引若在第2個維度中使用索引向量[13],只訪問A的每頁上的第1列和第3列,則命令如下:>>C=A(:,[13],:)C(:,:,1)=134679C(:,:,2)=101213151618C(:,:,3)=1921222425273.3.1數(shù)組的創(chuàng)建與索引同樣,若要查找每頁的第2行和第3行,則也可以使用冒號運算符“:”創(chuàng)建索引向量:>>D=A(2:3,:,:)D(:,:,1)=456789D(:,:,2)=131415161718D(:,:,3)=2223242526273.3.2數(shù)組的基本算術(shù)運算MATLAB具有兩種不同類型的算術(shù)運算:數(shù)組運算和矩陣運算。矩陣運算遵循線性代數(shù)的法則,數(shù)組運算執(zhí)行逐元素運算并支持多維數(shù)組。用句點字符“.”來區(qū)別數(shù)組運算與矩陣運算。MATLAB中常用的數(shù)組算術(shù)運算符運算符用途說明+加法A+B表示將A和B加在一起-減法A-B表示從A中減去B.*按元素乘法A.*B表示A和B的逐元素乘積.^按元素求冪A.^B表示包含元素A(i,j)的B(i,j)次冪的矩陣./數(shù)組右除A./B表示元素A(i,j)/B(i,j).\數(shù)組左除A.\B表示元素B(i,j)/A(i,j)3.3.2數(shù)組的基本算術(shù)運算(1)基本運算的數(shù)組兼容MATLAB中的大多數(shù)二元(兩個輸入)運算符和函數(shù)都支持具有兼容大小的數(shù)值數(shù)組。如果兩個輸入的維度大小相同或其中一個輸入的維度為1,則這些輸入將具有兼容的大小。例如,如果兩個數(shù)組執(zhí)行按元素或函數(shù)運算時,MATLAB會將大小兼容的數(shù)組隱式擴展為相同的大小,再進行元素運算。3.3.2數(shù)組的基本算術(shù)運算(1)基本運算的數(shù)組兼容具有相同或兼容大小的標量、向量和數(shù)組的組合有如下幾種,其運算結(jié)果如下。①兩個大小完全相同的輸入:3.3.2數(shù)組的基本算術(shù)運算(1)基本運算的數(shù)組兼容具有相同或兼容大小的標量、向量和數(shù)組的組合有如下幾種,其運算結(jié)果如下。②其中一個輸入是標量:3.3.2數(shù)組的基本算術(shù)運算(1)基本運算的數(shù)組兼容具有相同或兼容大小的標量、向量和數(shù)組的組合有如下幾種,其運算結(jié)果如下。③一個輸入是數(shù)組或矩陣,另一個輸入是行向量或列向量:3.3.2數(shù)組的基本算術(shù)運算(1)基本運算的數(shù)組兼容具有相同或兼容大小的標量、向量和數(shù)組的組合有如下幾種,其運算結(jié)果如下。④一個輸入是列向量,另一個輸入是行向量:3.3.2數(shù)組的基本算術(shù)運算(2)數(shù)組加減運算數(shù)組加減運算可針對向量、矩陣和多維數(shù)組的對應(yīng)元素執(zhí)行逐元素運算。>>A=[111]A=111>>B=[123]B=123>>A+B%兩個數(shù)組的大小相同ans=2343.3.2數(shù)組的基本算術(shù)運算(2)數(shù)組加減運算如果一個操作對象是標量,而另一個操作對象不是標量,則MATLAB會將該標量隱式擴展為與另一個操作對象具有相同的大?。▽?shù)組的每個元素與標量進行加減運算)。>>A=[111]A=111>>A+3%將標量3隱式擴展為與操作對象A具有相同大小的數(shù)組,進行加法運算ans=4443.3.2數(shù)組的基本算術(shù)運算(2)數(shù)組加減運算如果操作對象的大小不相同,兩個輸入中的其中一個的維度為1,則這些輸入將具有兼容的大小。>>A=[111;222;333]A=111222333>>m=[246]m=246>>A-m%m隱式擴展為[246;246;246]ans=-1-3-50-2-41-1-33.3.2數(shù)組的基本算術(shù)運算(2)數(shù)組加減運算行向量和列向量的大小兼容。如果將一個1×3向量與一個2×1向量相加,則每個向量都會在MATLAB執(zhí)行按元素進行加法運算之前隱式擴展為一個2×3矩陣。>>x=[123]x=123>>y=[10;15]y=1015>>x+yans=1112131617183.3.2數(shù)組的基本算術(shù)運算(2)數(shù)組加減運算如果兩個操作對象的大小不兼容,則會收到錯誤消息。>>A=[816;357;492]A=816357492>>B=[24]B=24>>A-B對于此運算,數(shù)組的大小不兼容。3.3.2數(shù)組的基本算術(shù)運算(3)數(shù)組乘法運算數(shù)組乘法運算的運算符為“.*”。數(shù)組運算是元素對元素的算術(shù)運算,運算符中的“.”可以理解為“元素”,通常將數(shù)組乘法運算稱為“點乘”。兩個具有相同行列數(shù),且元素個數(shù)相同的矩陣的點乘運算如下:>>x=[123;456;789];>>y=[246;135;369];>>x.*y%x的元素與y的元素對應(yīng)相乘ans=2818415302148813.3.2數(shù)組的基本算術(shù)運算兩個具有大小兼容性的操作對象:一個為3×3數(shù)組,一個為1×3數(shù)組。當兩者點乘時,1×3數(shù)組隱式擴展為3×3數(shù)組。>>x=[123;456;789];>>m=[246];>>x.*m%x數(shù)組點乘mans=2818820361432543.3.2數(shù)組的基本算術(shù)運算(4)數(shù)組除法運算數(shù)組除法分為數(shù)組左除和數(shù)組右除兩種,運算符分別為“.\”和“./”。MATLAB規(guī)定,A和B的大小必須相同或兼容。>>A=ones(2,3);>>B=[123;456];>>x=B.\A%A的元素除以B的對應(yīng)元素x=1.00000.50000.33330.25000.20000.1667>>x=A./B%A的元素除以B的對應(yīng)元素x=1.00000.50000.33330.25000.20000.16673.3.2數(shù)組的基本算術(shù)運算(4)數(shù)組除法運算數(shù)組除法分為數(shù)組左除和數(shù)組右除兩種,運算符分別為“.\”和“./”。MATLAB規(guī)定,A和B的大小必須相同或兼容。>>c=2;>>D=[123;456]; %創(chuàng)建2×3數(shù)組>>B=[123;456];>>x=c./D %結(jié)果的大小與數(shù)組大小相同:2×3數(shù)組2.00001.00000.66670.50000.40000.33333.3.2數(shù)組的基本算術(shù)運算若創(chuàng)建1×2行向量和3×1列向量,并將它們相除,則MATLAB會先將1×2行向量和3×1列向量隱式擴展為3×2數(shù)組,再進行對應(yīng)元素的除法運算。>>c=2;>>a=1:2;>>b=(1:3)';>>a./b%a數(shù)組右除bans=1.00002.00000.50001.00000.33330.66673.3.2數(shù)組的基本算術(shù)運算(5)數(shù)組冪運算數(shù)組冪運算的運算符為“.^”。也稱為“點冪”。>>A=1:5;>>C=A.^2C=1491625>>A=[123;456;789];>>C=A.^-1C=1.00000.50000.33330.25000.20000.16670.14290.12500.11113.3.2數(shù)組的基本算術(shù)運算若列向量A有m個元素、行向量B有n個元素,則當進行兩者的點冪運算時,MATLAB先將列向量A和行向量B隱式擴展為m×n數(shù)組,再對兩個數(shù)組的對應(yīng)元素進行冪運算。>>a=[23]a=23>>b=[1;2;3]b=123>>a.^bans=2349827【例3-13】創(chuàng)建一個1×2行向量和一個3×1列向量,以列向量中的各元素為指數(shù),求行向量中各元素的冪。3.4
多項式多項式的運算與矩陣的運算是不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度公寓樓租賃合同模板(含裝修設(shè)計、施工及家具家電配置)3篇
- 二零二五年度熱處理廢棄物處理與環(huán)保合同2篇
- 二零二五年度新能源科技公司股份轉(zhuǎn)讓合同3篇
- 二零二五年度車輛租賃平臺開發(fā)與運營合同3篇
- 2025年度農(nóng)村水井承包合同與水資源管理信息化建設(shè)協(xié)議
- 2025年度年度電子科技公司轉(zhuǎn)讓協(xié)議書3篇
- 2025解除買賣合同的通知書
- 2025年度離婚后房產(chǎn)分割及使用權(quán)協(xié)議3篇
- 2025年度低壓供用電設(shè)備節(jié)能改造與升級合同3篇
- 二零二五年度養(yǎng)生館綠色環(huán)保合作合同協(xié)議3篇
- 第四章蛋白質(zhì)吸附和生物相容性
- 套管開窗側(cè)鉆施工作業(yè)程序(2014-5)
- 高速公路瀝青路面設(shè)計計算書
- QC小組活動管理制度
- 市區(qū)自備井排查整治工作實施方案
- 8位半萬用表大比拼
- 品牌管理部績效考核指標
- 瀝青路面施工監(jiān)理工作細則
- 公司走賬合同范本
- 獲獎一等獎QC課題PPT課件
- 人教版小學三年級數(shù)學上冊判斷題(共3頁)
評論
0/150
提交評論