簡介:MATLAB作為線性系統(tǒng)的一種分析和仿真工具,是理工科大學(xué)生應(yīng)該掌握的技術(shù)工具,它作為一種編程語言和可視化工具,可解決工程、科學(xué)計(jì)算和數(shù)學(xué)學(xué)科中許多問題。,?MATLAB建立在向量、數(shù)組和矩陣的基礎(chǔ)上,使用方便,人機(jī)界面直觀,輸出結(jié)果可視化。,?矩陣是MATLAB的核心,?MATLAB的進(jìn)入與運(yùn)行方式(兩種),1,MATLAB入門,一、變量與函數(shù),二、數(shù)組,三、矩陣,四、MATLAB編程,五、實(shí)驗(yàn)作業(yè),2,1、變量MATLAB中變量的命名規(guī)則是(1)變量名必須是不含空格的單個(gè)詞;(2)變量名區(qū)分大小寫;(3)變量名最多不超過19個(gè)字符;(4)變量名必須以字母打頭,之后可以是任意字母、數(shù)字或下劃線,變量名中不允許使用標(biāo)點(diǎn)符號(hào),一、變量與函數(shù),3,特殊變量表,4,2、數(shù)學(xué)運(yùn)算符號(hào)及標(biāo)點(diǎn)符號(hào),(1)MATLAB的每條命令后,若為逗號(hào)或無標(biāo)點(diǎn)符號(hào),則顯示命令的結(jié)果;若命令后為分號(hào),則禁止顯示結(jié)果(2)“”后面所有文字為注釋(3)“”表示續(xù)行,5,3、數(shù)學(xué)函數(shù),6,MATLAB的內(nèi)部函數(shù)是有限的,有時(shí)為了研究某一個(gè)函數(shù)的各種性態(tài),需要為MATLAB定義新函數(shù),為此必須編寫函數(shù)文件函數(shù)文件是文件名后綴為M的文件,這類文件的第一行必須是一特殊字符FUNCTION開始,格式為FUNCTION因變量名函數(shù)名(自變量名)函數(shù)值的獲得必須通過具體的運(yùn)算實(shí)現(xiàn),并賦給因變量,4、M文件,M文件建立方法1在MATLAB中,點(diǎn)FILENEWMFILE2在編輯窗口中輸入程序內(nèi)容3點(diǎn)FILESAVE,存盤,M文件名必須與函數(shù)名一致。,MATLAB的應(yīng)用程序也以M文件保存。,7,例定義函數(shù)FX1,X2100X2X1221X12,FUNCTIONFFUNXF100X2X1221X12,1建立M文件FUNM,MATLABFUN,2可以直接使用函數(shù)FUNM,例如計(jì)算F1,2,只需在MATLAB命令窗口鍵入命令X12FUNX,返回,8,XLOGSPACEFIRST,LAST,N)創(chuàng)建從開始,到結(jié)束,有N個(gè)元素的對(duì)數(shù)分隔行向量,1、創(chuàng)建簡單的數(shù)組,二、數(shù)組,MATLABSHUZU1,XABCDEF創(chuàng)建包含指定元素的行向量,XFIRSTLAST創(chuàng)建從FIRST開始,加1計(jì)數(shù),到LAST結(jié)束的行向量,XFIRSTINCREMENTLAST創(chuàng)建從FIRST開始,加INCREMENT計(jì)數(shù),LAST結(jié)束的行向量,XLINSPACEFIRST,LAST,N)創(chuàng)建從FIRST開始,到LAST結(jié)束,有N個(gè)元素的行向量,9,2、數(shù)組元素的訪問,MATLABSHUZU2,(3)直接使用元素編址序號(hào)XABCD表示提取數(shù)組X的第A、B、C、D個(gè)元素構(gòu)成一個(gè)新的數(shù)組XAXBXCXD,(2)訪問一塊元素XABC表示訪問數(shù)組X的從第A個(gè)元素開始,以步長為B到第C個(gè)元素(但不超過C),B可以為負(fù)數(shù),B缺損時(shí)為1,(1)訪問一個(gè)元素XI表示訪問數(shù)組X的第I個(gè)元素,10,3、數(shù)組的方向前面例子中的數(shù)組都是一行數(shù)列,是行方向分布的稱之為行向量數(shù)組也可以是列向量,它的數(shù)組操作和運(yùn)算與行向量是一樣的,唯一的區(qū)別是結(jié)果以列形式顯示,產(chǎn)生列向量有兩種方法直接產(chǎn)生例C1;2;3;4轉(zhuǎn)置產(chǎn)生例B1234CB’說明以空格或逗號(hào)分隔的元素指定的是不同列的元素,而以分號(hào)分隔的元素指定了不同行的元素,11,4、數(shù)組的運(yùn)算,(1)標(biāo)量數(shù)組運(yùn)算數(shù)組對(duì)標(biāo)量的加、減、乘、除、乘方是數(shù)組的每個(gè)元素對(duì)該標(biāo)量施加相應(yīng)的加、減、乘、除、乘方運(yùn)算,設(shè)AA1,A2,,AN,C標(biāo)量,則ACA1C,A2C,,ANCACA1C,A2C,,ANCA/CA1/C,A2/C,,AN/C右除)A\CC/A1,C/A2,,C/AN左除)ACA1C,A2C,,ANCCACA1,CA2,,CAN,MATLABSHUZU3,12,(2)數(shù)組數(shù)組運(yùn)算當(dāng)兩個(gè)數(shù)組有相同維數(shù)時(shí),加、減、乘、除、冪運(yùn)算可按元素對(duì)元素方式進(jìn)行的,不同大小或維數(shù)的數(shù)組是不能進(jìn)行運(yùn)算的,設(shè)AA1,A2,,AN,BB1,B2,,BN,則ABA1B1,A2B2,,ANBNABA1B1,A2B2,,ANBNA/BA1/B1,A2/B2,,AN/BNA\BB1/A1,B2/A2,,BN/ANABA1B1,A2B2,,ANBN,MATLABSHUZU4,返回,13,三、矩陣,逗號(hào)或空格用于分隔某一行的元素,分號(hào)用于區(qū)分不同的行除了分號(hào),在輸入矩陣時(shí),按ENTER鍵也表示開始一新行輸入矩陣時(shí),嚴(yán)格要求所有行有相同的列例M1234;5678;9101112P111122223333,1、矩陣的建立,14,特殊矩陣的建立,MATLABMATRIX1,DEYEM,N產(chǎn)生一個(gè)M行、N列的單位矩陣,CONESM,N產(chǎn)生一個(gè)M行、N列的元素全為1的矩陣,BZEROSM,N產(chǎn)生一個(gè)M行、N列的零矩陣,A產(chǎn)生一個(gè)空矩陣,當(dāng)對(duì)一項(xiàng)操作無結(jié)果時(shí),返回空矩陣,空矩陣的大小為零,15,2、矩陣中元素的操作,MATLABMATRIX2,(1)矩陣A的第R行A(R,),(2)矩陣A的第R列A(,R),(4)取矩陣A的第I1I2行、第J1J2列構(gòu)成新矩陣AI1I2,J1J2,(5)以逆序提取矩陣A的第I1I2行,構(gòu)成新矩陣AI21I1,),(6)以逆序提取矩陣A的第J1J2列,構(gòu)成新矩陣A,J21J1),(7)刪除A的第I1I2行,構(gòu)成新矩陣AI1I2,,(8)刪除A的第J1J2列,構(gòu)成新矩陣A,J1J2,(9)將矩陣A和B拼接成新矩陣AB;A;B,(3)依次提取矩陣A的每一列,將A拉伸為一個(gè)列向量A(),16,(2)矩陣矩陣運(yùn)算1元素對(duì)元素的運(yùn)算,同數(shù)組數(shù)組運(yùn)算。,3、矩陣的運(yùn)算,(1)標(biāo)量矩陣運(yùn)算同標(biāo)量數(shù)組運(yùn)算。,MATLABMATRIX3,2矩陣運(yùn)算矩陣加法AB矩陣乘法AB方陣的行列式DET(A)方陣的逆INV(A)方陣的特征值與特征向量V,DEIGA,返回,17,關(guān)系與邏輯運(yùn)算,1、關(guān)系操作符,18,2、邏輯運(yùn)算符,19,1、FOR循環(huán)允許一組命令以固定的和預(yù)定的次數(shù)重復(fù)FORXARRAY{COMMANDS}END在FOR和END語句之間的命令串{COMMANDS}按數(shù)組(ARRAY)中的每一列執(zhí)行一次在每一次迭代中,X被指定為數(shù)組的下一列,即在第N次循環(huán)中,XARRAY,N,控制流,MATLAB提供三種決策或控制流結(jié)構(gòu)FOR循環(huán)、WHILE循環(huán)、IFELSEEND結(jié)構(gòu)這些結(jié)構(gòu)經(jīng)常包含大量的MATLAB命令,故經(jīng)常出現(xiàn)在MATLAB程序中,而不是直接加在MATLAB提示符下,例對(duì)N1,2,,10,求XN的值,MATLABFOR1,20,WHILEEXPRESSION{COMMANDS}END只要在表達(dá)式EXPRESSION里的所有元素為真,就執(zhí)行WHILE和END語句之間的命令串{COMMANDS},2、WHILE循環(huán)與FOR循環(huán)以固定次數(shù)求一組命令相反,WHILE循環(huán)以不定的次數(shù)求一組語句的值,MATLABWHILE1,例設(shè)銀行年利率為1125。將10000元錢存入銀行,問多長時(shí)間會(huì)連本帶利翻一番,21,3、IFELSEEND結(jié)構(gòu)(1)有一個(gè)選擇的一般形式是IFEXPRESSION{COMMANDS}END如果在表達(dá)式EXPRESSION里的所有元素為真,就執(zhí)行IF和END語句之間的命令串{COMMANDS},MATLABFUN1,先建立M文件FUN1M定義函數(shù)F(X),再在MATLAB命令窗口輸入FUN12,FUN11即可。,22,2有三個(gè)或更多的選擇的一般形式是IF(EXPRESSION1){COMMANDS1}ELSEIF(EXPRESSION2){COMMANDS2}ELSEIF(EXPRESSION3){COMMANDS3}ELSEIFELSE{COMMANDS}ENDENDENDEND,23,先建立M文件FUN2M定義函數(shù)F(X),再在MATLAB命令窗口輸入FUN22,FUN205,FUN21即可。,MATLABFUN2,返回,24,對(duì)以下問題,編寫M文件1用起泡法對(duì)10個(gè)數(shù)由小到大排序即將相鄰兩個(gè)數(shù)比較,將小的調(diào)到前頭2有一個(gè)矩陣,編程求出其最大值及其所處的位置3編程求4一球從100米高度自由落下,每次落地后反跳回原高度的一半,再落下求它在第10次落地時(shí),共經(jīng)過多少米第10次反彈有多高5有一函數(shù),寫一程序,輸入自變量的值,輸出函數(shù)值,實(shí)驗(yàn)作業(yè),返回,25,
下載積分: 4 賞幣
上傳時(shí)間:2024-01-06
頁數(shù): 25
大?。?0.38(MB)
子文件數(shù):