




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、前 言0第一篇 數(shù)學(xué)軟件簡(jiǎn)介1一、MATLAB軟件1一、概 述1二、MATLAB基本的學(xué)習(xí)方法1三、Matlab基礎(chǔ)知識(shí)介紹21、MATLAB 6工作環(huán)境簡(jiǎn)介22、語言規(guī)則43、數(shù)值與變量54、數(shù)據(jù)的輸入和輸出65、矩陣元素的操作76、M文件的編輯與建立87、運(yùn)算符及特殊字符98、數(shù)學(xué)函數(shù)及其運(yùn)算109、使用繪圖命令1310、數(shù)據(jù)處理14四、Matlab的編程141、條件語句152、循環(huán)語句163、switchcaseend分支結(jié)構(gòu)18第二章Mathematica20一、概述20二、Mathematica基本學(xué)習(xí)方法20三、Mathematica基礎(chǔ)知識(shí)介紹221、Mathematica 4.
2、0工作環(huán)境簡(jiǎn)介222、語言規(guī)則253.1數(shù)的表示和計(jì)算253.2、表達(dá)式263.3、求算術(shù)運(yùn)算的近似值:通常我們用格式Nexpr263.4 變量274、常用函數(shù)274.1函數(shù)的有關(guān)常識(shí)274.2 常見數(shù)學(xué)函數(shù)294.3常用表達(dá)式轉(zhuǎn)換函數(shù)295、解方程316、極限327、 微分327.1 求導(dǎo)數(shù)的基本格式為Dexpr,變量327.2 對(duì)于含兩個(gè)以上未知數(shù)的表達(dá)式,可求偏導(dǎo)數(shù)和混合偏導(dǎo)數(shù)。例如327.3 求表達(dá)式的全微分用格式Dtexpr,如337.4 求高階導(dǎo)數(shù)用Dexpr,x,n337.5 對(duì)隱函數(shù)求導(dǎo),用Dexpr,自變量,NonConstants->因變量338、積分348.1 求不
3、定積分的格式為:Integrateexpr,x348.2 求定積分的格式為 Integrateexpr,x,a,b348.3 計(jì)算含有兩個(gè)變量的表達(dá)式的二重積分的格式為:Integrateexpr,x,x1,x2,y,y1,y2359、級(jí)數(shù)359.1 冪級(jí)數(shù)的Taylor展開。359.2 數(shù)列求和,求積3610、 表和矩陣3710.1 表的構(gòu)造3710.2 矩陣,向量3810.3 利用矩陣解線性方程組4011、數(shù)據(jù)擬合4112、圖形處理4212.1 二維作圖4212.2三維作圖44四、Mathematica的編程46第二篇 實(shí) 驗(yàn)49第一章 軟件操作實(shí)驗(yàn)49實(shí)驗(yàn)1 矩陣的基本運(yùn)算49一、實(shí)驗(yàn)?zāi)?/p>
4、的49二、預(yù)備知識(shí)49三、內(nèi)容與要求49四、思考與練習(xí)50五、與你一起做實(shí)驗(yàn)50實(shí)驗(yàn)2 矩陣初等變換及向量的線性相關(guān)性53一、實(shí)驗(yàn)?zāi)康?3二、預(yù)備知識(shí)53三、實(shí)驗(yàn)要求53四、思考與練習(xí)54五、與你一起做實(shí)驗(yàn)54實(shí)驗(yàn)3 解方程和方程組55一、實(shí)驗(yàn)?zāi)康?5二、預(yù)備知識(shí)55三、實(shí)驗(yàn)內(nèi)容與要求55四、與你一起作實(shí)驗(yàn)56實(shí)驗(yàn)4 微分運(yùn)算57一、實(shí)驗(yàn)?zāi)康?7二、預(yù)備知識(shí)57三、實(shí)驗(yàn)內(nèi)容與要求57四、思考與練習(xí)58五、與你一起作實(shí)驗(yàn)58第二章 應(yīng)用實(shí)驗(yàn)59實(shí)驗(yàn)1 最佳售房問題59一、問題59二、實(shí)驗(yàn)?zāi)康?9三、預(yù)備知識(shí)59四、實(shí)驗(yàn)內(nèi)容與要求59五、思考問題60實(shí)驗(yàn)2、工資問題61一、問題61二、實(shí)驗(yàn)?zāi)康?1
5、三、預(yù)備知識(shí)61四、實(shí)驗(yàn)內(nèi)容與要求61五、思考問題62實(shí)驗(yàn)3 放射性廢料的處理問題63一、問題63二、實(shí)驗(yàn)?zāi)康?3三、預(yù)備知識(shí)63四、實(shí)驗(yàn)內(nèi)容與要求63五、思考問題63實(shí)驗(yàn)4 路程估計(jì)問題65一、問題65二、實(shí)驗(yàn)?zāi)康?5三、預(yù)備知識(shí)65四、實(shí)驗(yàn)內(nèi)容與要求65五、思考問題66第三篇、命令總匯67第一章、MATLAB 6 常用函數(shù)簡(jiǎn)介671、通用命令671.1通用信息查詢671.2工作空間管理671.3管理指令和函數(shù)681.4搜索路徑管理681.5指令窗控制681.6操作系統(tǒng)指令682、運(yùn)算符和特殊運(yùn)算符692.1算術(shù)運(yùn)算符692.2關(guān)系運(yùn)算符692.3邏輯操作692.4特殊運(yùn)算符703、編程語言
6、結(jié)構(gòu)703.1控制語句703.2計(jì)算運(yùn)行713.3腳本文件、函數(shù)及變量713.4參數(shù)處理713.5信息顯示713.6交互式輸入724、基本矩陣函數(shù)和操作724.1基本矩陣724.2矩陣基本信息724.3矩陣操作734.4特殊變量和常量734.5特殊矩陣745、基本數(shù)學(xué)函數(shù)745.1三角函數(shù)745.2指數(shù)函數(shù)755.3復(fù)數(shù)函數(shù)755.4圓整和求余函數(shù)756、坐標(biāo)變換、向量運(yùn)算等特殊函數(shù)767、矩陣函數(shù)和數(shù)值線性代數(shù)767.1矩陣分析767.2線性方程767.3特性值與奇異值777.4矩陣函數(shù)777.5因式分解778、數(shù)據(jù)分析和傅立葉變換788.1基本運(yùn)算788.2有限差分788.3相關(guān)788.4
7、濾波卷積799、插補(bǔ)與多項(xiàng)式函數(shù)799.1數(shù)據(jù)插補(bǔ)799.2樣條插補(bǔ)799.3多項(xiàng)式8010、數(shù)值泛函函數(shù)和ODE解算器8010.1優(yōu)化和尋根8010.2優(yōu)化選項(xiàng)處理8010.3數(shù)值積分8010.4繪圖8110.5差微分函數(shù)解算器8111、二維圖形函數(shù)8111.1基本平面圖形8111.2軸控制8211.3圖形注釋8212、三維圖形函數(shù)8212.1基本三維圖形8212.2色彩控制8312.3色圖8313、文件輸入/輸出8414、示例函數(shù)8415、符號(hào)工具包8415.1微積分8415.2線性代數(shù)8515.3化簡(jiǎn)8515.4方程求解8515.5變量精度8615.6積分變換8615.7基本操作8615
8、.8圖形應(yīng)用8615.9 Maple接口8716、圖象處理工具箱8716.1圖象顯示8716.2圖象文件數(shù)據(jù)輸入/輸出8816.3圖象的幾何操作8816.4象值與統(tǒng)計(jì)8816.5圖像分析8816.6圖像增強(qiáng)8916.7線性濾波8916.8二維線性濾波器的設(shè)計(jì)8916.9圖像變換9016.10鄰域及塊處理9016.11二值圖像操作9016.12圖像的區(qū)域處理9116.13色圖操作9116.14色彩空間變換9113.15圖像類型判斷及其轉(zhuǎn)換9116.16圖像處理演示函數(shù)92第二章、Mathematica命令匯總921、數(shù)字計(jì)算921.1數(shù)字求值921.2方程求解93求常微分方程eqns的數(shù)字解,其
9、未知函數(shù)yi為自變量x的函數(shù),且自變量的取值范圍區(qū)間為xmin,xmax931.3求和與求積931.4積分941.5優(yōu)化941.6數(shù)據(jù)處理941.7數(shù)的表達(dá)952、代數(shù)計(jì)算952.1基本代數(shù)95Expandexpr952.2公式操作962.3方程求解962.4微積分963、數(shù)學(xué)函數(shù)973.1基本算術(shù)運(yùn)算973.2數(shù)學(xué)常數(shù)973.3數(shù)值函數(shù)973.4隨機(jī)數(shù)983.5基本初等函數(shù)983.6階乘983.7數(shù)論984、表和矩陣994.1表的構(gòu)建994.2元素抽取994.3表的特征1004.4表的操作1004.5結(jié)構(gòu)操作1014.6向量與矩陣操作1015、圖形1015.1 2D圖形1015.2 3D圖形
10、1025.3等高線圖1025.4圖的組合1025.5基本選項(xiàng)1025.6 3D選項(xiàng)1035.7 等高線選項(xiàng)1035.8圖元1046、編程1046.1變量賦值1046.2檢查1056.3邏輯運(yùn)算1056.4流程控制1056.5功能編程1066.6輸入與輸出1066.7統(tǒng)計(jì)107前 言馬克思曾經(jīng)說過:“任何一門科學(xué)只有充分利用了數(shù)學(xué)才能夠達(dá)到完美的境界”。隨著科學(xué)技術(shù)的發(fā)展,數(shù)學(xué)發(fā)揮著越來越重要的作用。為了適應(yīng)科學(xué)技術(shù)的發(fā)展,數(shù)學(xué)教學(xué)面臨著改革,特別是信息時(shí)代的到來,要求數(shù)學(xué)教學(xué)的實(shí)踐性增強(qiáng)。數(shù)學(xué)實(shí)驗(yàn)這門課程就是基于上述原因而產(chǎn)生的?!皵?shù)學(xué)實(shí)驗(yàn)”是以數(shù)學(xué)建模和數(shù)值計(jì)算為核心、借助計(jì)算機(jī),培養(yǎng)學(xué)生應(yīng)
11、用所學(xué)知識(shí)解決實(shí)際問題內(nèi)容的課程。根據(jù)省教委的要求,我院從1999年上學(xué)期試點(diǎn)以來,目前已在全院推廣。通過近幾年的教學(xué)實(shí)踐兵結(jié)合我院實(shí)際情況,為適應(yīng)培養(yǎng)新世紀(jì)的創(chuàng)新人才的時(shí)代要求,編寫了這本講義。本講義包括以下幾部分:一、學(xué)軟件基本操作介紹(Matlab和Mathematica);二、據(jù)不同專業(yè)的要求和數(shù)學(xué)基礎(chǔ)課程的教學(xué)進(jìn)度而編寫的8個(gè)實(shí)驗(yàn);1、 軟件操作實(shí)驗(yàn):實(shí)驗(yàn)1、2是MATLAB的內(nèi)容;實(shí)驗(yàn)3、4是Mathematica的內(nèi)容;2、基礎(chǔ)實(shí)驗(yàn):原則上每個(gè)實(shí)驗(yàn)都可用MATLAB和Mathematica來作,但實(shí)驗(yàn)1、2用MATLAB,實(shí)驗(yàn)3、4用Mathematica將更方便。三、Matla
12、b和Mathematica的基本命令。根據(jù)這幾年的實(shí)驗(yàn)教學(xué)經(jīng)驗(yàn)以及學(xué)生的要求,軟件操作實(shí)驗(yàn)部分給予了參考答案,而基礎(chǔ)實(shí)驗(yàn)沒有編寫參考答案。為了能讓同學(xué)進(jìn)一步學(xué)習(xí),我們將其常用的命令編寫在最后,以便幫助全面掌握數(shù)學(xué)軟件。“數(shù)學(xué)實(shí)驗(yàn)”是一門新課程,其內(nèi)容和方法在國(guó)內(nèi)外均不是很成熟,講義內(nèi)容的取舍不易掌握,雖經(jīng)努力,但限于水平,仍存在不少問題,懇請(qǐng)各位讀者提出寶貴的意見。有什么意見,請(qǐng)發(fā)E-mail到an編著者2003年2月9日第一篇 數(shù)學(xué)軟件簡(jiǎn)介一、MATLAB軟件一、概 述Matlab是由美國(guó)的Mathworks公司推出的一個(gè)科技應(yīng)用軟件。它的名字是由矩陣(MATrix)和實(shí)驗(yàn)室 ( LABor
13、atory)的頭三個(gè)字母組成。顧名思義,它相當(dāng)于把矩陣放在實(shí)驗(yàn)里做實(shí)驗(yàn),Matlab是以矩陣為單位進(jìn)行處理的,也就是它把一切都當(dāng)作矩陣。即使是一個(gè)數(shù)也是。比如:Matlab是一種高性能的、用于工程計(jì)算的編程軟件,它把科學(xué)計(jì)算、結(jié)果的可視化和編程都集中在一個(gè)使用非常方便的環(huán)境中。一般來說,Matlab系統(tǒng)包括下面五個(gè)主要部分:(1)編程語言:他是以矩陣和數(shù)組為基本單位的編程語言;(2)工作環(huán)境:包括了一系列的應(yīng)用工具,提供編程和調(diào)試程序的環(huán)境;(3)圖形處理:包括繪制二維、三維圖形和創(chuàng)建圖形用戶接口;(4)數(shù)學(xué)庫函數(shù):包含了大量的數(shù)學(xué)函數(shù),也包括復(fù)雜的功能;(5)應(yīng)用程序接口:提供接口程序,可使
14、MATLAB與其它語言程序進(jìn)行交互。Matlab典型的應(yīng)用包括以下兩方面:(1)數(shù)值計(jì)算和符號(hào)計(jì)算; (2)建模和動(dòng)態(tài)仿真二、MATLAB基本的學(xué)習(xí)方法作為一門高級(jí)語言,MATLAB和其它高級(jí)語言一樣,具有完善的幫助系統(tǒng)。如果同學(xué)們能夠?qū)ATLAB的幫助系統(tǒng)很熟悉的話,自由運(yùn)用它進(jìn)行編程肯定沒有多大問題,另外本講義附錄了有關(guān)命令,使得大家能夠更方便的使用幫助,更好的進(jìn)行學(xué)習(xí)。1、help指令在指令窗口中運(yùn)行help能夠獲得范圍不同的幫助信息,例如:(1)運(yùn)行 help help,將得到如何使用help的提示;(2)直接運(yùn)行help,會(huì)列出可以用于help顯示的所有主體(topic);(3)h
15、elp topic可獲得每個(gè)topic的幫助;比如,想對(duì)二維圖形(graph2d)編程有所了解,可運(yùn)行:>> help graph2d(4)對(duì)每個(gè)topic中的任何指令的用法,同樣可以用help來查看;如對(duì)于二維圖形(graph2d)指令中的plot,用help查看則顯示如下:>> help plot2、lookfor指令當(dāng)用戶要查找具有某種功能但不知道其準(zhǔn)確名字的指令時(shí),help就無能為力了。而lookfor可以根據(jù)用戶提供的完整或不完整的關(guān)鍵詞,去搜索出一組與之有關(guān)的指令,用戶可從列表中挑選出滿足需要的指令。這被稱為“模糊查找?!辈贿^這個(gè)命令所查找的范圍只限于一個(gè)。
16、如利用 lookfor 指令查找矩陣求逆函數(shù)>>lookfor inverse3、doc、helpwin和helpdesk指令在指令窗口中運(yùn)行doc、helpwin和helpdesk指令中的任何一個(gè),都會(huì)打開一個(gè)名為help的幫助窗口。大家自己在計(jì)算機(jī)上試一試。4、demo指令Demo指令用于查看集成于MATLAB環(huán)境內(nèi)的各種演示內(nèi)容。在MATLAB的指令窗口鍵入Demo指令可以得到演示界面,從而可以方便的了解MATLAB的基本功能。5、幫助菜單啟動(dòng)matlab應(yīng)用程序后,單擊help主菜單,則會(huì)彈出一系列子菜單,可以根據(jù)菜單直接進(jìn)行操作三、Matlab基礎(chǔ)知識(shí)介紹1、MATLAB
17、 6工作環(huán)境簡(jiǎn)介MATLAB 6的啟動(dòng)l 雙擊Windows桌面上的快捷圖標(biāo);l 從開始菜單的程序子菜單中的MATLAB 6l 在MATLAB目錄中搜索到可執(zhí)行程序的matlab.exe,雙擊該程序使之啟動(dòng)啟動(dòng)后的對(duì)話框如圖1,它大致包括以下幾個(gè)部分:圖1l 菜單項(xiàng);l 工具欄;l Command Window窗口(指令窗口);l Launch Pad窗口(分類幫助文件夾);l Workspace窗口(工作臺(tái));l Command History窗口(指令的歷史記錄);l Current Directory窗口(當(dāng)前目錄選項(xiàng))。MATLAB 6菜單環(huán)境介紹a) 文件菜單File文件菜單出了具有
18、Windows一般應(yīng)用程序所具有的新建、打開、關(guān)閉、退出、打印選項(xiàng)外,還包括如下選項(xiàng):l Import Data:有關(guān)數(shù)據(jù)的導(dǎo)入;l Save Workspace As:保存工作平臺(tái);l Preferences:部分MATLAB工作環(huán)境的交互性設(shè)置l Set Path:設(shè)置當(dāng)前工作路徑。b) 編輯菜單Edit編輯菜單出了具有Windows一般應(yīng)用程序所具有的撤消操作、重復(fù)操作、拷貝、粘貼、全選選項(xiàng)外,還包括如下選項(xiàng)l Clear Command Window:清除指令窗口;l Clear Command History:清除指令的歷史記錄;l Clear Workspace:清除工作臺(tái)。c)視
19、圖菜單(View)視圖菜單為了改動(dòng)MATLAB工作環(huán)境外觀,它可以決定顯不顯示界面上擺布的一些窗口。大家可以對(duì)其中的每個(gè)菜單操作一下,看分別會(huì)出現(xiàn)什么效果。d) 網(wǎng)頁菜單Web網(wǎng)頁菜單用于直接與MATLAB的生產(chǎn)商Mathworks工作的Internet聯(lián)網(wǎng),尋求有關(guān)的幫助或獲得新的產(chǎn)品信息等。e) 窗口菜單Window窗口菜單用于顯示當(dāng)前打開的M文件的文件名以及將它們一次全部關(guān)閉。f) 幫助菜單Help幫助菜單能為用戶及時(shí)提供所需要的幫助信息。常用窗口簡(jiǎn)介l 指令窗口(Command Window):在提示符>>后直接輸入命令可以執(zhí)行相關(guān)的命令l 指令歷史記錄窗口(Command
20、 History):該窗口記錄著用戶每一次開啟MATLAB的時(shí)間,以及每一次開啟MATLAB后在MATLAB指令窗口(Command Window)中運(yùn)行過的所有指令行。這些指令行記錄可以被復(fù)制到指令窗口中再運(yùn)行,從而減少了重新輸入的麻煩。選中該窗口中的任一指令記錄,然后單擊鼠標(biāo)右鍵,則可根據(jù)菜單進(jìn)行相應(yīng)操作。l 工作臺(tái)窗口(Workspace):該程序窗口中列出了程序計(jì)算過程中產(chǎn)生的變量及其對(duì)應(yīng)的數(shù)據(jù)的尺寸、字節(jié)和類型。選中一個(gè)變量,單擊鼠標(biāo)右鍵則可根據(jù)菜單進(jìn)行相應(yīng)的操作。 2、語言規(guī)則MATLAB要區(qū)分大小寫,它的命令全是小寫的;一行可以輸入幾個(gè)命令,用“;”或“,”隔開。如用“;”則該函
21、數(shù)的執(zhí)行結(jié)果不顯示(圖形函數(shù)除外);如用“,”則該函數(shù)的運(yùn)行結(jié)果要顯示。3、數(shù)值與變量數(shù)值MATLAB環(huán)境下的數(shù)值表示一般采用十進(jìn)制,可以帶小數(shù)點(diǎn)和正負(fù)號(hào)。下面的數(shù)值都是合法的:6+6-6.660.0066-60006.6e-6100e60-0.060e-012在采用IEEE浮點(diǎn)算法的計(jì)算機(jī)上,數(shù)值的相對(duì)精度為eps,MATLAB規(guī)定一個(gè)eps的值為2.2204e-016,即大約保持16位有效數(shù)字。有時(shí)用戶希望在指令窗口中得到的是自己想要的數(shù)據(jù)形式,比如說是有理數(shù)(Rational)形式,則可以通過在File主菜單中打開Preferences 子菜單,并在對(duì)話框中做相應(yīng)的選擇操作即可。變量MA
22、TLAB是基于矩陣運(yùn)算的,因此其基本數(shù)據(jù)結(jié)構(gòu)只有一個(gè):矩陣。一個(gè)數(shù)也是矩陣。只不過它是11的矩陣。MATLAB中的變量可用來存放數(shù)據(jù),也可用來存放向量或矩陣,并進(jìn)行各種運(yùn)算。MALAB將所有變量均保存成double的形式,所以不需要經(jīng)過變量聲明。MATLAB也會(huì)自動(dòng)進(jìn)行內(nèi)存的使用和回收。變量命名的規(guī)則為:l 變量名、函數(shù)名是對(duì)大小寫很敏感的,兩個(gè)字符串表示的變量,字母都相同,大小寫不同,也視為不同的變量;l 第一個(gè)字母必須是英文字母;l 字符間不可留空格;l 最多只能有31個(gè)字符(只能用英文字母、數(shù)字和下連字符)一行中“%”后的內(nèi)容僅作注釋用,對(duì)MATLAB的計(jì)算不產(chǎn)生任何影響。who、who
23、s、clear和永久變量who:用于檢查現(xiàn)存于空間(Workspace)的變量whos:用于檢查現(xiàn)存于空間(Workspace)的變量的詳細(xì)資料clear:用于刪除工作空間的變量;永久變量:是變量的一種特殊情況,它在工作空間中看不到,但是使用者可直接調(diào)用,如:pi等符號(hào)變量在MATLAB中,如果沒有定義則不能對(duì)符號(hào)進(jìn)行引用,在對(duì)變量進(jìn)行引用時(shí)需要先用syms命令創(chuàng)建符號(hào)變量和表達(dá)式。如:>>syms xsyms不僅可以聲明一個(gè)變量,還可以指定這個(gè)變量的數(shù)學(xué)特性,比如:l 聲明變量為實(shí)數(shù)類型,如:>>syms x y reall 聲明變量為整數(shù)類型,如:syms x y
24、positivel 創(chuàng)建表達(dá)式,如:>>f=syms(cos(x)+sin(x)4、數(shù)據(jù)的輸入和輸出(1)直接輸入:由于MATLAB都是將視為矩陣進(jìn)行操作,如果是單個(gè)元素則象計(jì)算器一樣直接輸入元素,如果有多個(gè)元素,比如矩陣有多行多列的則用:變量=表達(dá)式;或,格式,其中行中元素間用“空格”或“,”分開;行與行之間用“;”或“回車”分開。如果一行寫不完,要用“”作為繼行標(biāo)記(在英文狀態(tài)下輸入三個(gè)句號(hào));如果只有表達(dá)式,則會(huì)出現(xiàn)一個(gè)變量“ans”,“ans”為“answer”(答案)的縮寫,引出運(yùn)算結(jié)果。值得注意的是整個(gè)矩陣分別用左右方括號(hào)“”和“”表示開始和結(jié)束。比如:>>
25、a=1 2 3;4 5 6;7 8 9或a=1 2 3 4 5 6 7 8 9(2)利用語句或函數(shù)產(chǎn)生“初值:步長(zhǎng):終值” 產(chǎn)生一個(gè)行向量(行矩陣)。當(dāng)步長(zhǎng)為1時(shí)可以省略。如:>>1:5;1:2:6,1:2:5特殊命令:l linspace(x,x2,n): 產(chǎn)生一個(gè)行向量,指定初值(x)、終值(x2)、向量資料(n)。如:linspace(1,4,3);l ones(n)或ones(n,m)或ones(n,m): 產(chǎn)生全一的矩陣。如:ones(5)。l zeros(n)或zeros(n,m)或zeros(n,m): 產(chǎn)生全零的矩陣。如:zeros(5)。l eye (n)或eye
26、(n,m)或eye(n,m): 產(chǎn)生單位(或?qū)蔷€上為1)的矩陣。如:eye (5);eye (2,4)。l rand:產(chǎn)生平均分布的隨機(jī)矩陣。如:rand(3)。l randn:產(chǎn)生正態(tài)分布的隨機(jī)矩陣l diag(4,2) 對(duì)角矩陣l vander(2,4) 范德蒙矩陣(3)用input指令輸入單個(gè)參數(shù)例如:小侯吃桃問題:有一天小侯摘下了若干個(gè)桃子,當(dāng)即吃掉了一半,還覺得不過隱,又多吃了2個(gè)。第二天接著吃下剩下的一半,又多吃了2個(gè)。以后每天都是吃掉尚存的一半零兩個(gè)。到第十天早上,小侯準(zhǔn)備吃桃子時(shí),看到只剩下n個(gè)桃子了。問小侯第一天共摘下多少個(gè)桃子?分析:根據(jù)建立數(shù)學(xué)模型的步驟可以看到我們應(yīng)該
27、怎樣分析這個(gè)問題,首先是根據(jù)實(shí)際情況建立關(guān)系式,即我們說的數(shù)學(xué)模型,在建立模型時(shí)注意建立模型的各種常用方法,這里用遞推法建立,然后運(yùn)用計(jì)算機(jī)來求解:比如這個(gè)問題的答案與n有關(guān),設(shè)第k天的桃子數(shù)為Pk,變化規(guī)律(我們?cè)诮⒛P蜁r(shí)實(shí)際上就是找到各個(gè)量之間的變化規(guī)律),首先令P0=n,利用遞推式Pk-1=2(Pk+1)(k=10,9,8,2)構(gòu)造循環(huán)算法。編寫Matlab程序如下:n=input(input n:);P(10)=n;for k=10:-1:2 P(k-1)=2*(P(k)+2);endP(1)(4)小型矩陣或用數(shù)據(jù)文件輸入將資料以矩陣的形式輸入程序的開始部分,比如上次輸入了矩陣a,并
28、保存到文件:LAB1.mat中,下次運(yùn)行時(shí)用load LAB1(回車)就可以了,如果是用.M文件輸入,則只要在命令窗口中輸入文件名就可以了。5、矩陣元素的操作(1)矩陣元素的提?。含F(xiàn)令a=1 2 3;4 5 6;7 8 9;b=4 5 8 1;l 按矩陣元素的序號(hào)進(jìn)行提?。篗ATLAB是以列為單位計(jì)算的,它按列給矩陣的元素編號(hào),可用變量名加上下標(biāo)表示。如取b的第二個(gè)元素:b(2);取b的一二兩個(gè)元素:b(1 2)。l 按照矩陣的行列提?。篴(i , j): a矩陣的第i行與第j列的交叉元素的值,i與j可以是向量,它們分別表示對(duì)矩陣的行和列進(jìn)行操作。如:a(2 , 3):表示取第2行第3列的元素
29、6;a(2 , 1 3):表示取a第2行的第1列和第3列的元素4和6;a(2 3 , 1 3) :表示取a第2、3行的第1、3列的四個(gè)元素;a(1,1 : 3):表示取a的第1行的第1列到第3列的所有元素;a(1, :):表示取a的第1行的所有元素。這里a(1, :) 中的“:”是把列號(hào)省略的意思,就是所有的列,a(:,1) 中的“:”是把行號(hào)省略的意思。(2)小矩陣構(gòu)造大矩陣l c=a; 3 2 1表示在矩陣a中加一行構(gòu)成矩陣c(列數(shù)必須相等)。l 現(xiàn)令 d=1 2 3, d2=d,d表示構(gòu)造d2=、l 這里還有一種矩陣的構(gòu)造方法:x(m1: m2,n1: n2)=a。注:a 是n行m列的矩
30、陣,生成的x是m2行n2列的矩陣,其中,m2-m1+1=n; n2-n1+1=m,對(duì)應(yīng)元素為a的值,其余的全為零。如:x(1:4,2:4)=a;y(2:5,2:4)=a;(3):可以用它來刪除矩陣的行列,或整個(gè)矩陣。如:y(1, :)=,x= 6、M文件的編輯與建立MATLAB 6可以有兩種常用的工作方式:一種是直接交互的指令行操作方式;另一種是M文件的編程方式(程序的寫法見后)。前一種MATLAB給當(dāng)做一種高級(jí)的數(shù)學(xué)演算和計(jì)算可視化器來使用。后一種相當(dāng)于集成環(huán)境。M文件有兩種形式:命令文件和函數(shù)文件。這兩種文件的擴(kuò)展名相同,都是“.m”。當(dāng)用戶要運(yùn)行的指令較多時(shí),可以直接從鍵盤上逐行輸入指令
31、,但這樣做顯得很麻煩;而命令文件則可以較好的解決這一問題。用戶可以將一組相關(guān)命令編輯在同一個(gè)ASCII碼命令中,運(yùn)行時(shí)只需輸入文件名,MATLAB就會(huì)自動(dòng)按順序執(zhí)行文件中的命令,這類似于批處理文件。函數(shù)文件是另一種形式的M文件,它的第一句可執(zhí)行語句是以function引導(dǎo)的定義語句。在函數(shù)文件中的變量都是局部變量,它們?cè)诤瘮?shù)執(zhí)行過程中駐留在內(nèi)存中,在函數(shù)執(zhí)行結(jié)束時(shí)自動(dòng)消失。函數(shù)文件不單單具有命令文件的功能,更重要的是它提供了與其它MATLAB函數(shù)和程序的接口,因此功能更強(qiáng)大。(1)命令文件命令文件中的語句可以訪問MATLAB工作空間(Workspace)中的所有數(shù)據(jù)。在運(yùn)行的過程中所產(chǎn)生的變量
32、均是全局變量。這些變量一旦生成,就一直保存在內(nèi)存空間中,除非用戶將它們清除(如clear命令)。運(yùn)行一個(gè)命令文件等價(jià)于從指令窗口中按順序連續(xù)執(zhí)行文件中的指令。由于命令文件只是一串指令的結(jié)合,因此程序不需要預(yù)先定義,而只需按在指令窗口中的指令輸入順序,依次將指令編輯在命令文件中就可以(在指令窗口中的新建m文件中進(jìn)入這個(gè)編輯窗口)。如果某個(gè)命令的結(jié)果不需要顯示出則在該命令后加上“;”,注意文件名一定是“.m”。如:求下列1,2,3,4,100的和:程序如下:s=0;for n=1:100 s=s+n;ends(2)函數(shù)文件如果M文件的第一行包含function,則該文件就是函數(shù)文件。每個(gè)函數(shù)文件都
33、定義一個(gè)函數(shù)。從形式上看,函數(shù)文件于命令文件的區(qū)別在于:命令文件的變量在文件執(zhí)行完后保留在內(nèi)存;而函數(shù)文件內(nèi)定義的變量?jī)H在函數(shù)文件內(nèi)部起作用,當(dāng)函數(shù)文件執(zhí)行完成后,這些內(nèi)部變量將被清除。定義函數(shù)格式如下:function 因變量名=函數(shù)名(自變量名)注意:函數(shù)名應(yīng)該和M文件名相同。例:function y=f(x)y=sin(x);7、運(yùn)算符及特殊字符(1)算術(shù)運(yùn)算符+ 加法運(yùn)算。適用于兩個(gè)數(shù)相加或兩個(gè)同階矩陣相加。如果是一個(gè)矩陣和一個(gè)數(shù)字相加,則這個(gè)數(shù)字自動(dòng)擴(kuò)展為與矩陣同維的一個(gè)矩陣。- 減法運(yùn)算。適用于兩個(gè)數(shù)相加或兩個(gè)同階矩陣相加。如果是一個(gè)矩陣和一個(gè)數(shù)字相減,則這個(gè)數(shù)字自動(dòng)擴(kuò)展為與矩陣同
34、維的一個(gè)矩陣。* 乘法運(yùn)算。適用于兩個(gè)數(shù)相乘或兩個(gè)可乘矩陣相乘。.* 點(diǎn)乘運(yùn)算。適用于兩個(gè)同階矩陣對(duì)應(yīng)元素相乘。./ 點(diǎn)除運(yùn)算。適用于兩個(gè)同階矩陣對(duì)應(yīng)元素相除。 乘冪運(yùn)算。適用于一個(gè)方陣的多少次方。 反斜杠表示左除。如x=AB可以得到矩陣方程Ax=B的解。除、左除:a2/a3與a2*inv(a3)等價(jià),a3a2與等價(jià)inv(a3)*a2,要求a3的逆存在。inv是求逆。(2)關(guān)系運(yùn)算符= = 等于 如果矩陣A和B都為矩陣,則A和B必須具有相同的維數(shù),運(yùn)算時(shí)將A中的元素和B中對(duì)應(yīng)元素進(jìn)行比較,如果相等,則在輸出矩陣的對(duì)應(yīng)位置輸出1,反之輸出0。如果其中一個(gè)為數(shù),則將這個(gè)數(shù)與另一個(gè)矩陣的所有元素進(jìn)
35、行比較。無論何種情況,返回結(jié)果都與運(yùn)算的矩陣具有相同維數(shù)的由0和1組成的矩陣。函數(shù)eq(A,B)得到結(jié)果一樣。= 不等于 如果矩陣A和B都為矩陣,則A和B必須具有相同的維數(shù),運(yùn)算時(shí)將A中的元素和B中對(duì)應(yīng)元素進(jìn)行比較,如果相等,則在輸出矩陣的對(duì)應(yīng)位置輸出0,反之輸出1。如果其中一個(gè)為數(shù),則將這個(gè)數(shù)與另一個(gè)矩陣的所有元素進(jìn)行比較。無論何種情況,返回結(jié)果都與運(yùn)算的矩陣具有相同維數(shù)的由0和1組成的矩陣。函數(shù)ne(A,B)得到結(jié)果一樣。< 小于 如果矩陣A和B都為矩陣,則A和B必須具有相同的維數(shù),運(yùn)算時(shí)將A中的元素和B中對(duì)應(yīng)元素進(jìn)行比較,如果是小于關(guān)系,則在輸出矩陣的對(duì)應(yīng)位置輸出1,反之輸出0。如
36、果其中一個(gè)為數(shù),則將這個(gè)數(shù)與另一個(gè)矩陣的所有元素進(jìn)行比較。無論何種情況,返回結(jié)果都與運(yùn)算的矩陣具有相同維數(shù)的由0和1組成的矩陣。函數(shù)lt(A,B)得到結(jié)果一樣。> 大于 如果矩陣A和B都為矩陣,則A和B必須具有相同的維數(shù),運(yùn)算時(shí)將A中的元素和B中對(duì)應(yīng)元素進(jìn)行比較,如果是大于關(guān)系,則在輸出矩陣的對(duì)應(yīng)位置輸出1,反之輸出0。如果其中一個(gè)為數(shù),則將這個(gè)數(shù)與另一個(gè)矩陣的所有元素進(jìn)行比較。無論何種情況,返回結(jié)果都與運(yùn)算的矩陣具有相同維數(shù)的由0和1組成的矩陣。函數(shù)gt(A,B)得到結(jié)果一樣。<= 小于等于 如果矩陣A和B都為矩陣,則A和B必須具有相同的維數(shù),運(yùn)算時(shí)將A中的元素和B中對(duì)應(yīng)元素進(jìn)行
37、比較,如果是小于或等于關(guān)系,則在輸出矩陣的對(duì)應(yīng)位置輸出1,反之輸出0。如果其中一個(gè)為數(shù),則將這個(gè)數(shù)與另一個(gè)矩陣的所有元素進(jìn)行比較。無論何種情況,返回結(jié)果都與運(yùn)算的矩陣具有相同維數(shù)的由0和1組成的矩陣。函數(shù)le(A,B)得到結(jié)果一樣。>= 大于等于 如果矩陣A和B都為矩陣,則A和B必須具有相同的維數(shù),運(yùn)算時(shí)將A中的元素和B中對(duì)應(yīng)元素進(jìn)行比較,如果是大于或等于關(guān)系,則在輸出矩陣的對(duì)應(yīng)位置輸出1,反之輸出0。如果其中一個(gè)為數(shù),則將這個(gè)數(shù)與另一個(gè)矩陣的所有元素進(jìn)行比較。無論何種情況,返回結(jié)果都與運(yùn)算的矩陣具有相同維數(shù)的由0和1組成的矩陣。函數(shù)ge(A,B)得到結(jié)果一樣。8、數(shù)學(xué)函數(shù)及其運(yùn)算MAT
38、LAB中函數(shù)的函數(shù)都有一個(gè)共同的特點(diǎn):若自變量x為矩陣,則函數(shù)值也為x的同階矩陣。即對(duì)x的每一元素分別求函數(shù)值;若自變量x為通常情況下的一個(gè)數(shù)據(jù),則函數(shù)值是對(duì)應(yīng)于x的一個(gè)數(shù)據(jù)。MATLAB的函數(shù)有很多,后面有按照功能分類的各種函數(shù)和工具箱,有興趣的同學(xué)可以通過幫助學(xué)習(xí),這里只介紹基本的函數(shù)。(在學(xué)習(xí)的過程中注意利用幫助中的例子)。(1)三角函數(shù)sin(x)正弦函數(shù)asin(x) 反正弦函數(shù)cos(x)余弦函數(shù)acos(x)反余弦函數(shù)tan(x)正切函數(shù)atan(x)反正切函數(shù)(2)基本數(shù)學(xué)函數(shù)abs(x)絕對(duì)值max(x)最大值min(x)最小值sum(x)元素求和sqrt(x)開平方exp(
39、x)以e為底的指數(shù)log(x) 自然對(duì)數(shù) log10(x) 求以10為底數(shù)的函數(shù)sign(x)正負(fù)符號(hào)函數(shù) fix(x) 朝零方面取整round(x) 四舍五入到最近的整數(shù)floor(x) 朝負(fù)無窮方向取整rem(x,y) 求兩整數(shù)相除的余數(shù)ceil(x) 朝正無窮方向取整conj(x) 求復(fù)數(shù)的共軛imag(x) 求復(fù)數(shù)的虛部real(x) 求復(fù)數(shù)的實(shí)部 eig(x) 求矩陣x的特征值x,d=eig(A) 求A的特征向量矩陣x及對(duì) 角陣Dorth(x) 將非奇異矩陣x正交規(guī)范化(3)矩陣及其運(yùn)算norm(A) 求向量或矩陣的范數(shù) rank(A) 求矩陣的秩det(A) 求矩陣的行列式 tra
40、ce(A) 求矩陣的跡inv(A) 求方陣的逆矩陣eig(A) 求特征值及特征向量schur(A) 求矩陣的舒爾分解rref(X) 求矩陣X階梯形的行最簡(jiǎn)形式size(A) 求矩陣的階數(shù)(4)常用數(shù)值計(jì)算多項(xiàng)式的表示方法及其運(yùn)算MATLAB中用行矢量表示多項(xiàng)式的系數(shù),行矢量中的各元素按照多項(xiàng)式的項(xiàng)的次數(shù)從高到低排列。如可以表示為p=1 0 2 3。求此多項(xiàng)式當(dāng)x=5時(shí)的值p(4),可以使用函數(shù)polyval(p,4);polyvalm(p,X):第二個(gè)參數(shù)X是方陣,表示求以矩陣為自變量的多項(xiàng)式的值;roots(p):找出一個(gè)多項(xiàng)式的根。多項(xiàng)式的曲線擬合根據(jù)一組已知的自變量和函數(shù)值,應(yīng)用最小二乘
41、法,求出多項(xiàng)式的擬合曲線,在MATLAB中可以通過ployfit函數(shù)實(shí)現(xiàn)。函數(shù)形式為:p=polyfit(x,y,n)。其中,前兩個(gè)輸入?yún)?shù)x,y都是矢量,表示已知的自變量取值和函數(shù)值,n為擬合多項(xiàng)式的次數(shù)。如:>>x=1 2 3 4 5;y=5.6 40 150 250 498.6;polyfit(x,y,3)求函數(shù)的最小值和零點(diǎn)l 求解一元函數(shù)的最小值:通過fminbnd(以前版本是fmin函數(shù))來求指定區(qū)間上的函數(shù)的局部極小值。fminbnd(函數(shù)名,起點(diǎn),終點(diǎn));l 多元函數(shù)最小值:用fminsearch(以前版本是fmins)來求,它可以指定一個(gè)開始的矢量,并非指定一個(gè)區(qū)
42、間。此函數(shù)返回一個(gè)矢量為多元函數(shù)局部最小值對(duì)應(yīng)的自變量的取值。fminsearch(函數(shù)名,初始矢量);l 求函數(shù)的零點(diǎn):MATLAB中使用fzero來實(shí)現(xiàn),尋找零點(diǎn)時(shí)可以指定一個(gè)開始的位置,或者指定一個(gè)區(qū)間。如果指定一個(gè)開始點(diǎn),函數(shù)首先在開始點(diǎn)附近尋找一個(gè)使函數(shù)值變號(hào)的區(qū)間,如果不存在,則返回NaN。如果知道函數(shù)值在某個(gè)區(qū)間上變號(hào),則可以把這個(gè)區(qū)間作為參數(shù)。>>fzero(函數(shù)名,起點(diǎn),終點(diǎn))或fzero(函數(shù)名,初始位置)。積分和微分運(yùn)算l 函數(shù)的定積分:quad(被積函數(shù),積分下限,積分上限);l 微分運(yùn)算:diff(多項(xiàng)式矢量,微分階數(shù)),微分階數(shù)為1時(shí)可以省略。方程求解l
43、 求解代數(shù)方程的根:用solve函數(shù),調(diào)用格式:p=solve(eq)如:>> syms x y>> x,y=solve('x2+x*y+y=3','x2-4*x+3=0')有多少個(gè)未知數(shù)則需要在前面分別列出,如本例中的x,y;如果等式的值為0,也可以只寫等式右邊,如x,y=solve('x2+x*y+y=3','x2-4*x+3');一般情況下,如果不能得到數(shù)值解也會(huì)得到符號(hào)解,這是需要指出未知數(shù),如果沒有指出則表示x為未知數(shù)。如下例中以b為未知數(shù):>> syms x b>> so
44、lve('x2+x*b+b=3','b')l 微分方程:當(dāng)常微分方程能夠解析求解時(shí),可以用MATLAB的符號(hào)工具箱中的功能找到精確解。在微分方程難以獲得解析的情況下,可以方便的通過數(shù)值計(jì)算求解,高階微分方程必須等價(jià)地變換成一階微分方程組進(jìn)行求解。這時(shí)用t,y=ode23(函數(shù),t的初值,t的終值,y的初值)。例:描述震蕩器的經(jīng)典范得波(Var der Pol)微分方程對(duì)于上述微分方程,通過重新定義兩個(gè)新的變量,來實(shí)現(xiàn)這種變換。令,則高階微分方程變?yōu)閮蓚€(gè)低階的微分方程:要解這個(gè)方程首先要建立一個(gè)M文件varr.m,內(nèi)容如下:function der=var(t,y
45、)der=y(2) 2*(1-y(1)2)*y(2)-y(1)'函數(shù)的參數(shù)是時(shí)間t和一個(gè)二維向量,返回值是一個(gè)列向量,代表的是導(dǎo)數(shù)的值。>>t,y=ode23('var',0 20,2 0);第一個(gè)參數(shù)是函數(shù)名,第二個(gè)是時(shí)間跨度,第三個(gè)是初值。返回的t是一個(gè)矢量,y是個(gè)矩陣,分別代表微分方程兩個(gè)自變量在時(shí)間t 的取值。9、使用繪圖命令使用MATLAB的繪圖命令,可以根據(jù)數(shù)據(jù)(或函數(shù))在計(jì)算機(jī)屏幕上繪制出對(duì)應(yīng)的圖形,便于可視化計(jì)算,其圖形的操作請(qǐng)同學(xué)們根據(jù)菜單選項(xiàng)自己試一試,下面介紹幾個(gè)最常用的繪圖命令:plot:繪制二維線性圖形及兩個(gè)坐標(biāo)軸; plot(x,
46、y)表示以x為橫坐標(biāo),y為縱坐標(biāo)的圖形。如:>> x=0:pi/100:2*pi;y=sin(x);plot(x,y)plot3:繪制三維線性圖形及三個(gè)坐標(biāo)軸;一般格式:plot3(x,y,z)如:>> t=0:pi/100:6*pi;x=cos(t);y=sin(t);z=2*t;plot3(y,x,z)hist:統(tǒng)計(jì)直方圖,hist(X)如:>> x=randn(10000,1);hist(x)10、數(shù)據(jù)處理max 求向量或矩陣最大值min 求向量或矩陣最小值mean 求向量或矩陣的平均值median 求向量或矩陣的中間值sum 求向量或矩陣的元素和pr
47、od 求向量或矩陣的元素乘積find 求向量中滿足條件的元素length 求向量所含元素個(gè)數(shù)corrcoef 求向量或矩陣的相關(guān)系數(shù)四、Matlab的編程由于使用MATLAB編程運(yùn)算與人進(jìn)行科學(xué)計(jì)算的思路和表達(dá)方式完全一致,這使MATLAB受到廣大科技工作者的青睞,下面簡(jiǎn)單介紹MATLAB編程所涉及的常用語句。1、條件語句在Matlab中,可以利用條件語句來實(shí)現(xiàn)分支算法,最簡(jiǎn)單的條件語句是if語句。當(dāng)條件滿足時(shí),執(zhí)行條件后的指令;當(dāng)條件不滿足時(shí),則不執(zhí)行條件后的指令。其具體格式為: if條件 語句 end在if語句的條件選項(xiàng)中通常應(yīng)有一個(gè)(或多個(gè))邏輯表達(dá)式,但表達(dá)式的邏輯值為真,則執(zhí)行條件后
48、面的語句塊包含的指令;否則跳過條件后面的語句塊。在建立邏輯表達(dá)式時(shí),常用到的關(guān)系符有下面(見表)有九個(gè)符號(hào):符號(hào)名稱意義= =雙等號(hào)等于小于號(hào)小于大于號(hào)大于小于等于號(hào)小于等于大于等于號(hào)大于等于 =上波號(hào)與等號(hào)不等于與號(hào)邏輯與豎杠邏輯或上波號(hào)邏輯非例1 求函數(shù)的值。當(dāng)自變量取值為零時(shí),補(bǔ)充定義函數(shù)值為1。求該函數(shù)值的程序(程序1.1)用到了分支算法。用于分支算法的if語句,其格式為:程序1.1 else endyif條件1語句塊1else語句塊2end上面語句的算法結(jié)構(gòu)是:當(dāng)條件1滿足時(shí),執(zhí)行語句塊1;當(dāng)條件不滿足時(shí),則執(zhí)行語句塊2;當(dāng)條件較多時(shí)必須用分支算法,用于多分支算法的if語句,其格式為
49、:if條件1語句塊1elseif<條件2>語句塊2else語句塊3end2、循環(huán)語句Matlab的循環(huán)語句有for循環(huán)語句和while循環(huán)語句兩種。for循環(huán)語句用于重復(fù)執(zhí)行某些操作,直至循環(huán)變量達(dá)到終止為止。具體格式為:for循環(huán)變量=初值:步長(zhǎng) :終值 循環(huán)體 endfor循環(huán)語句常用于由數(shù)控制的循環(huán)算法。當(dāng)初值小于終值時(shí),步長(zhǎng)為正數(shù);當(dāng)初值大于終值時(shí),步長(zhǎng)為負(fù)數(shù);當(dāng)步長(zhǎng)被省略時(shí),Matlab默認(rèn)值為1。例2、例2 用雙重循環(huán)編寫程序生成4階Hilbert矩陣. for for H end end while循環(huán)語句適用于由條件控制的循環(huán)算法的實(shí)現(xiàn).反復(fù)執(zhí)行某些操作,直到條件不
50、滿足為止.其具體格式為 while條件, 循環(huán) end例3 產(chǎn)生裴波拉奇數(shù)列:1,1,2,5,8,13,21,.要求數(shù)列之中最后一個(gè)數(shù)不超過1000.數(shù)列產(chǎn)生的遞推公式為: 1 1; I=1; while <, end下面是將for語句和if語句結(jié)合起來一達(dá)到特殊的目的的一個(gè)例子.在實(shí)現(xiàn)循環(huán)算法時(shí)常用到轉(zhuǎn)移語句.Matlab中的轉(zhuǎn)換語句是以if條件break,end的格式來定義的.例4 用ifbreak語句跳出while循環(huán).計(jì)算無窮級(jí)數(shù)的近似值.要求誤差不超過.while if ends這段程序執(zhí)行的結(jié)果,誤差界限不超過.如果沒有轉(zhuǎn)移語句,程序見按照公式求和并一直進(jìn)行下去永不休止,形成
51、死循環(huán).3、switchcaseend分支結(jié)構(gòu)switch語句是多分支選擇語句,雖然在某些場(chǎng)合switch的功能可以由if語句的多層嵌套來完成,但是會(huì)使程序變得復(fù)雜和難于修改維護(hù),而利用switch語句構(gòu)造多分支選擇時(shí)顯得更加簡(jiǎn)單明了、容易理解。switch的基本用法為:switch 表達(dá)式case 常量表達(dá)式1 語句塊1case 常量表達(dá)式2 語句塊2case常量表達(dá)式n,常量表達(dá)式n+1, 常量表達(dá)式n+2 語句塊notherwise 語句塊n+1endswitch 后面的表達(dá)式可以為任何類型,如字符串、矩陣等當(dāng)表達(dá)式的值與case后面的某個(gè)表達(dá)式的值相等時(shí),就執(zhí)行這個(gè)case后面的語句塊
52、,如果所有的常量表達(dá)式的值都與此表達(dá)式的值不匹配時(shí),就執(zhí)行otherwise后面的語句塊。與if語句不同的是,各個(gè)case和otherwise語句出現(xiàn)的先后順序并不會(huì)影響程序的執(zhí)行結(jié)果,將otherwise語句放到case語句的前面也是合法的。每個(gè)case后面的常量表達(dá)式可以有多個(gè),而且可以是不同的類型,每個(gè)case中常量表達(dá)式的值是可以重復(fù)的,這在語法上沒有錯(cuò)誤,只是在執(zhí)行時(shí)后面那些符合條件的case語句將被忽略,不會(huì)起作用。每次只執(zhí)行一個(gè)語塊,執(zhí)行完一個(gè)語句塊后就退出switch語句。例5 我國(guó)新稅法規(guī)定:個(gè)體工商戶的生產(chǎn)、經(jīng)營(yíng)所得和對(duì)事業(yè)單位的承包經(jīng)營(yíng)、承租經(jīng)營(yíng)所得應(yīng)交納的個(gè)人所得稅為:全年收入中應(yīng)納稅所得稅部分 稅率(%)1、不超過5000元的 52、超過5000元至10000元的部分 103、超過10000元至30000元的部分 204、超過30000元至50000元的部分 305、超過50000元的部分 35function y=shui(x)x=input('input x:')n=fix(x/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度船舶建造與設(shè)計(jì)合同年度更新
- 2025年度跨境電商代理記賬與稅務(wù)合規(guī)支持協(xié)議
- 2025年度人工智能技術(shù)研發(fā)合作協(xié)議(全新版)
- 2025年度創(chuàng)意產(chǎn)業(yè)園區(qū)租賃合同及創(chuàng)業(yè)支持協(xié)議
- 2025年度租賃合同范本(含違約責(zé)任)
- 持續(xù)反饋機(jī)制的建立與實(shí)施計(jì)劃
- 加強(qiáng)數(shù)據(jù)安全管理的實(shí)施措施計(jì)劃
- 2025年CO2氣體保護(hù)藥芯焊絲合作協(xié)議書
- 定期舉辦學(xué)術(shù)交流活動(dòng)計(jì)劃
- 生產(chǎn)計(jì)劃科學(xué)制定
- 12j912-2常用設(shè)備用房
- 《統(tǒng)計(jì)學(xué)》完整袁衛(wèi)-賈俊平課件
- DTⅡ型固定式帶式輸送機(jī)設(shè)計(jì)選型手冊(cè)
- GB/T 657-2011化學(xué)試劑四水合鉬酸銨(鉬酸銨)
- 橡膠壩工程施工質(zhì)量驗(yàn)收評(píng)定表及填表說明編制于
- 抗日戰(zhàn)爭(zhēng)勝利題材話劇劇本范文
- GB/T 22328-2008動(dòng)植物油脂1-單甘酯和游離甘油含量的測(cè)定
- 錄用offer模板參考范本
- FZ/T 25001-1992工業(yè)用毛氈
- 兒童氣管插管醫(yī)學(xué)課件
評(píng)論
0/150
提交評(píng)論