




已閱讀5頁,還剩196頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Matlab金融計算與金融數(shù)據(jù)處理Chapter1 Introduction Introduction 王世雄 xim wangheMathWorksdocumentationpage 數(shù)值計算的工具 MATLAB 電子計算機技術(shù)為應用數(shù)學解決實際問題創(chuàng)造了物質(zhì)條件 今天 在技術(shù)科學中最有用的數(shù)學研究領(lǐng)域是數(shù)值分析和數(shù)學建模 一切科學與工程技術(shù)人員的教育必須包括越來越多的數(shù)學和計算科學的內(nèi)容 數(shù)學建模和相伴的計算正成為工程設計中的關(guān)鍵工具 科學家正日益依賴于計算方法以及在解釋結(jié)果的精度和可靠性方面有充分的經(jīng)驗 吳文俊 任何數(shù)學都要講究邏輯推理 但這只是問題的一個方面 更重要的是用數(shù)學去解決問題 解決日常生活中 其他科學中出現(xiàn)的數(shù)學問題 學校給出的數(shù)學題目都是有答案的 已知什么 求證什么 都是很清楚的 題目也是一定做得出的 但是來到了社會上 所面對的問題大多是預先不知道答案的 甚至不知道是否會有答案 這就要求學生培養(yǎng)創(chuàng)造能力 學會處理各種實際數(shù)學問題的方法 數(shù)學軟件既是數(shù)值計算的工具 也是數(shù)值實驗的工具 WhatisMatLab WhatisMATLAB MATLABisacomputerprogramthatcombinescomputationandvisualizationpowerthatmakesitparticularlyusefulforengineers MATLABisanexecutiveprogram andascriptcanbemadewithalistofMATLABcommandslikeotherprogramminglanguage MATLABStandsforMATrixLABoratory Thesystemwasdesignedtomakematrixcomputationparticularlyeasy TheMATLABenvironmentallowstheuserto managevariablesimportandexportdataperformcalculationsgenerateplotsdevelopandmanagefilesforusewithMATLAB TostartMATLAB START PROGRAMS PhD MFEApplications MATLAB7 1 MATLABEnvironment 一 MATLAB的開發(fā)環(huán)境1 MATLAB系統(tǒng)的組成 MATLAB開發(fā)環(huán)境 MATLAB數(shù)學函數(shù)庫 MATLAB語言 圖形功能 應用程序接口五個部分 MATLABEnvironment MATLAB的開發(fā)環(huán)境包括命令窗口 啟動平臺窗口 工作空間窗口 命令歷史窗口 當前路徑窗口 M文件編輯器 在線幫助瀏覽器等 啟動MATLAB后 將顯示包括命令窗口 啟動平臺窗口 工作空間窗口 命令歷史窗口和當前路徑窗口等五個窗口和主菜單組成的操作桌面 主窗口 操作桌面在缺省狀態(tài)下顯示3個窗口 啟動平臺和工作空間窗口在同一個位置顯示 命令歷史窗口和當前目錄窗口在同一位置顯示 MATLAB設定了幾種特定的窗口布局方式 可以在視圖 View 菜單中選擇窗口布局 DesktopLayout 設定 其中缺省方式為Default MATLABEnvironment 1 命令窗口 CommandWindow MATLAB是交互式的語言 輸入命令即給出運算結(jié)果 而命令窗口則是MATLAB的主要交互窗口 用于輸入和編輯命令行等信息 顯示結(jié)果 圖形除外 當命令窗口中出現(xiàn)提示符 時 表示MATLAB已經(jīng)準備好 可以輸入命令 變量或運行函數(shù) 提示符總是位于行首 在每個指令行輸入后要按回車鍵 才能使指令被MATLAB執(zhí)行 2 啟動平臺 LaunchPad 啟動平臺用于啟動和管理系統(tǒng)中安裝的MATLAB系統(tǒng) 可以通過雙擊來啟動相應的選項 啟動平臺是一個展示MATLAB功能和產(chǎn)品工具箱的平臺 可以通過Demos了解MATLAB 3 工作空間 Workspace 工作空間用于保存MATLAB變量的信息 在工作空間可以對變量進行觀察 編輯 保存和刪除 保存在工作空間中的自定義變量 直到使用了 clear 命令清除工作空間或關(guān)閉了MATLAB系統(tǒng)才被清除 在命令窗口中鍵入 whos 命令 可以顯示出保存在工作空間中的所有變量的名稱 大小 數(shù)據(jù)類型等信息 如果鍵入 who 命令 則只顯示變量的名稱 4 命令歷史窗口 CommandHistory 命令歷史窗口記錄用戶每一次啟動MATLAB的時間以及在命令窗口運行過的所有指令 命令歷史窗口中的指令可以被復制到命令窗口重新運行 如果要清除掉這些記錄 可以選擇 Edit 菜單中的 ClearCommandHistory 項 5 當前路徑窗口 CurrentDirectory 當前路徑窗口也稱為當前目錄窗口 可以顯示或改變當前目錄 當前目錄指的是MATLAB運行文件時的工作目錄 只有在當前目錄或搜索路徑下的文件及函數(shù)可以被運用或調(diào)用 如果沒有特殊指明 數(shù)據(jù)文件也將儲存在當前目錄下 如果要建立自己的工作目錄 在運行文件前必須將該文件所在目錄設置為當前目錄 DisplayWindows DisplayWindows con t Graphic Figure WindowDisplaysplotsandgraphsCreatedinresponsetographicscommands M fileeditor debuggerwindowCreateandeditscriptsofcommandscalledM files MATLAB的啟動與退出 1 MATLAB系統(tǒng)的啟動 1 在桌面上雙擊MATLAB快捷方式圖標 2 在開始菜單中單擊MATLAB MATLAB6 5項 3 在MATLAB安裝目錄 MATLAB6p5中雙擊MATLAB快捷方式 4 在MATLAB安裝目錄 MATLAB6p5 bin win32中雙擊MATLAB exe圖標 2 MATLAB系統(tǒng)的退出 1 點擊操作桌面的關(guān)閉按鈕 2 執(zhí)行操作桌面file ExitMATLAB命令 3 在命令窗口中輸入命令exit或quit 并回車 4 用快捷鍵Ctrl Q MATLAB的幫助系統(tǒng) 1 幫助命令幫助命令是查詢函數(shù)語法的最基本的方法 查詢信息直接顯示在命令窗口 幫助命令有help lookfor help 在命令窗口直接輸入help 顯示主要的在線幫助主題 help函數(shù)名 顯示關(guān)于某個具體函數(shù)的功能 調(diào)用格式 及相關(guān)函數(shù) help幫助主題 列出指定主題下的函數(shù) 例如 helpelfun 列出所有基本函數(shù) MATLAB的幫助系統(tǒng) 續(xù) lookforimage 查找有關(guān)圖像的函數(shù)和命令 2 在線幫助瀏覽器MATLAB設計了全新的在線幫助瀏覽器 當在View菜單中選擇了Help選項 或在Help菜單中選擇了MATLABHelp選項時 都可以打開幫助瀏覽器 3 演示幫助選擇Help菜單中的Demos選項 可以打開演示窗口 觀看要查詢項的動畫演示 MATLAB的幫助系統(tǒng) GettingHelp typeoneoffollowingcommandsinthecommandwindow help listsallthehelptopichelptopic provideshelpforthespecifiedtopichelpcommand provideshelpforthespecifiedcommandhelphelp providesinformationonuseofthehelpcommandhelpwin opensaseparatehelpwindowfornavigationlookforkeyword SearchallM filesforkeywordGoogle MATLABhelpdesk GototheonlineHelpD MATLAB的運行方式 1 命令行運行方式演算紙式的科學計算語言在MATLAB的應用中 最基本 最簡單的應用 就是在命令窗口中直接輸入命令來實現(xiàn)計算或繪圖功能 MATLAB命令行的一般形式為 變量 表達式或 表達式 賦值語句 使用MATLAB最簡單的方式是將MATLAB的命令窗口看作計算器 通過輸入數(shù)學算式直接計算 1 2 3 4 5 ans 15 如果在輸入的表達式后面跟上分號 那么運行后就不會馬上顯示運算的結(jié)果 必須鍵入輸出變量后才能顯示運算結(jié)果 用分號關(guān)閉不必要的輸出會使程序運行速度成倍甚至成百倍地提高 1 2 3 4 5 則不會馬上顯示運算結(jié)果 要得到運算結(jié)果 必須 ans 則顯示結(jié)果為ans 15 MATLAB的運行方式 續(xù) 如果在表達式后面跟上逗號 或什么都不跟 運行后會馬上顯示該表達式的運算結(jié)果 如果一個表達式很長 可以用續(xù)行號 將其延續(xù)到下一行 1 2 3 4 5 注意加號寫在本行 6 7 8 9 10 則輸出結(jié)果ans 55如果續(xù)行號前面是數(shù)字 直接使用續(xù)行號會出現(xiàn)錯誤 有三種解決辦法 一是設法使續(xù)行號前面是一個運算符號 二是先空一格再加續(xù)行號 三是再加一個點 MATLAB的運行方式 續(xù) 在一行中也可以寫幾個語句 它們之間用逗號 或分號 隔開 A 1 2 3 3 sin 4 X 1966 310 1 則輸出結(jié)果A 1 00002 00003 3000 0 7568X 7 3419 MATLAB的運行方式 續(xù) 2 m文件運行方式所謂m文件 就是用MATLAB語言編寫的 可以在MATLAB中運行的程序 它是以普通文本格式存放的 故可以用任何文本編輯軟件進行編輯 MATLAB提供的m文件編輯器就是程序編輯器 在File菜單中選擇NEW 再選擇M file 或點擊新建圖標 就可以調(diào)出m文件編輯器 用戶可以用此編輯器編寫m文件 m文件有兩種形式 一種稱為命令文件 ScriptFile 另一種稱為函數(shù)文件 FunctionFile 兩種文件的擴展名都是m MATLAB的運行方式 續(xù) 1 命令文件 如果要輸入較多的命令 或者要經(jīng)常對某些命令進行重復的輸入 則可以將這些命令按執(zhí)行順序存放在一個m文件中 以后只要在MATLAB的命令窗口中輸入該文件的文件名 系統(tǒng)就會調(diào)入該文件并執(zhí)行其中的全部命令 這種形式就是MATLAB的命令文件 命令文件中的語句可以訪問MATLAB工作空間的所有變量 而在命令文件執(zhí)行過程中創(chuàng)建的變量也會一直保留在工作空間中 其他命令或m文件都可以訪問這些變量 命令文件相當于DOS批處理文件 求滿足1 2 3 n 100 故應對sum減nn n 1 當循環(huán)結(jié)束時有sum 100 故應對n減1n sum 顯示最大正整數(shù)n以及和sum 命令文件 將上述程序存入文件fl m 然后在命令窗口鍵入 fl 顯示結(jié)果為n 13sum 91注意 程序中由符號 開始的文字都是注釋文字 用來對程序或程序行行進行注釋說明 符號 稱為注釋符 MATLAB在執(zhí)行時將忽略 后的內(nèi)容 1 命令文件 2 函數(shù)文件 函數(shù)文件是另一類m文件 可以像庫函數(shù)一樣方便地被調(diào)用 MATLAB提供的許多工具箱 是由函數(shù)文件組成的 對于某一類特殊問題 用戶可以建立系統(tǒng)的函數(shù)文件 形成專用工具箱 函數(shù)文件的第一行有特殊的要求 它必須遵循如下的形式 function 其他各行都是程序運行語句 沒有特別要求 函數(shù)文件的文件名必須是 m 實現(xiàn)符號函數(shù)運算功能的函數(shù)m文件為 functiony sgn x 這是一個定義符號函數(shù)y sgn x 的函數(shù)文件 ifx 0y1 1 elseifx 0y1 0 elsey1 1 endy y1 函數(shù)文件 續(xù) 將上述程序存為文件sgn m 便可以將其作為普通的MATLAB函數(shù)來使用 x 4 3 pi y 3 sgn sin x 顯示結(jié)果為 y 3 函數(shù)文件 續(xù) MATLAB的常用命令 MATLAB可以通過菜單對工作著的窗口進行操作 也可以通過鍵盤在命令窗口輸入命令進行操作 下面給出幾個常用的通用命令 quit關(guān)閉MATLABexit關(guān)閉MATLABclc清除MATLAB命令窗口中的所有顯示內(nèi)容clear清除工作空間中保存的所有變量其他命令可以在學習應用中逐步熟悉 MATLAB的基本運算 指出 右除相當于通常的除法 MATLAB的變量 1 變量變量就是在程序的運行過程中 其數(shù)值可以變化的量 數(shù)據(jù) 它可以代表一個或若干個內(nèi)存單元 變量的地址 中的數(shù)據(jù) 為了對所有的變量所對應的存儲單元進行訪問 需要給變量命名 MATLAB變量命名的規(guī)則是 以字母開頭 后面可以跟字母 數(shù)字或下劃線 不超過31個字符 字符間不可以留空格 區(qū)分大小寫 MATLAB的變量與函數(shù) 續(xù) 系統(tǒng)變量 MATLAB的變量與函數(shù) 續(xù) 注意 自定義變量名一般不應和系統(tǒng)變量同名 在MATLAB中輸入的內(nèi)容直接決定變量的類型 使用who和whos命令可以查看變量 使用clear命令可以刪除所有定義過的變量 如果只是刪除其中某些變量 應在clear后面指定要刪除的變量名 例如clearaz 有了變量 就可以組成表達式 也就可以對變量進行賦值 MATLAB的賦值語句有兩種形式 變量名 表達式 表達式在第一種情況下 MATLAB將右邊的表達式的值賦值給左邊的變量 在第二種情況 MATLAB將表達式的值賦值給系統(tǒng)變量ans 所謂表達式 就是用運算符號把特殊字符 函數(shù)名 變量名等有關(guān)運算量連接起來的式子 其結(jié)果是一個矩陣 MATLAB的變量 Variables Variablenames MuststartwithaletterMaycontainonlyletters digits andtheunderscore Matlabiscasesensitive i e one a 1234a 1234 NOTE whenasemi colon isplacedattheendofeachcommand theresultisnotdisplayed Variables con t Specialvariables ans defaultvariablenamefortheresultpi 3 1415926 eps 2 2204e 016 smallestamountbywhich2numberscandiffer Inforinf infinityNaNornan not a numberCommandsinvolvingvariables who liststhenamesofdefinedvariableswhos liststhenamesandsizesofdefinedvariablesclear clearsallvarialbes resetthedefaultvaluesofspecialvariables clearname clearsthevariablenameclc clearsthecommandwindowclf clearsthecurrentfigureandthegraphwindow 2 函數(shù) 數(shù)學函數(shù) 函數(shù) 續(xù) 機器函數(shù)pause程序?qū)簳r停在該函數(shù)所在位置 擊任意鍵程序繼續(xù)執(zhí)行echoon在命令窗口顯示正在執(zhí)行的程序指令cputime給出MATLAB所耗用的總機器時間clock給出日期及當前時間指出在表達式中 函數(shù)一定要出現(xiàn)在等式的右邊 每個函數(shù)對其自變量的個數(shù)和格式都有一定要求 如三角函數(shù)的單位是 弧度 而不是 度 函數(shù)允許嵌套 如sqrt sin 10 系統(tǒng)函數(shù)的函數(shù)名小寫 注意函數(shù)名也是區(qū)分大小寫的 Vectors MatricesandLinearAlgebra VectorsArrayOperationsMatricesSolutionstoSystemsofLinearEquations Vectors ArowvectorinMATLABcanbecreatedbyanexplicitlist startingwithaleftbracket enteringthevaluesseparatedbyspaces orcommas andclosingthevectorwitharightbracket Acolumnvectorcanbecreatedthesameway andtherowsareseparatedbysemicolons Toinputamatrix youbasicallydefineavariable Foramatrixtheformis variablename Example x 00 25 pi0 5 pi0 75 pipi x 00 78541 57082 35623 1416 y 0 0 25 pi 0 5 pi 0 75 pi pi y 00 78541 57082 35623 1416 xisarowvector yisacolumnvector Vectors con t VectorAddressing AvectorelementisaddressedinMATLABwithanintegerindexenclosedinparentheses Example x 3 ans 1 5708 1stto3rdelementsofvectorx Thecolonnotationmaybeusedtoaddressablockofelements start increment end startisthestartingindex incrementistheamounttoaddtoeachsuccessiveindex andendistheendingindex Ashortenedformat start end maybeusedifincrementis1 Example x 1 3 ans 00 78541 5708 NOTE MATLABindexstartsat1 3rdelementofvectorx Vectors con t Someusefulcommands 矩陣的創(chuàng)建 矩陣是線性代數(shù)的基本運算單元 通常矩陣是指含有m行n列數(shù)值的矩形結(jié)構(gòu) 矩陣中的元素可以是實數(shù)也可以是復數(shù) 由此可以將矩陣劃分為實矩陣和復矩陣 MATLAB支持線性代數(shù)所定義的全部矩陣運算 在MATLAB中創(chuàng)建矩陣應遵循以下原則 矩陣的元素必須在方括號 中 矩陣的同行元素之間用空格或逗號 分隔 矩陣的行與行之間用分號 或回車符分隔 矩陣的尺寸不必預先定義 矩陣元素可以是數(shù)值 變量 表達式或函數(shù) 如果矩陣元素是表達式 系統(tǒng)將自動計算出結(jié)果 矩陣的創(chuàng)建 續(xù) 1 直接輸入法 在命令窗口按規(guī)則輸入方式創(chuàng)建矩陣例1 在命令窗口創(chuàng)建簡單的數(shù)值矩陣 A 132 310 215 回車后在命令窗口顯示如下結(jié)果A 132310215例2 在命令窗口創(chuàng)建帶運算表達式的矩陣 不顯示結(jié)果 y sin pi 3 cos pi 6 log 20 exp 2 輸入 y 回車 在命令窗口顯示出來 y 顯示出的結(jié)果為y 0 86600 86602 99577 3891 矩陣的創(chuàng)建 矩陣的創(chuàng)建 續(xù) 注意 在矩陣較大時 用分行輸入的方式 用回車代替分號區(qū)分不同行 比較接近于線性代數(shù)中的矩陣 更直觀一些 任何矩陣元素內(nèi)部不能有空格 否則會被認定是兩個元素 矩陣的創(chuàng)建 矩陣的創(chuàng)建 續(xù) 2 通過數(shù)據(jù)文件創(chuàng)建矩陣 導入其他程序創(chuàng)建的數(shù)據(jù)例3 用記事本輸入一組數(shù)據(jù)1234234543455761保存為fort txt 用load命令讀入 loadfort txt 輸入fort就可以在命令窗口顯示創(chuàng)建的矩陣 fort 顯示結(jié)果為fort 1234234543455761 矩陣的創(chuàng)建 注意 通過load命令導入數(shù)據(jù)是形成矩陣的重要方法 解決了在工作現(xiàn)場沒有MATLAB系統(tǒng)和其他數(shù)據(jù)管理系統(tǒng)的問題 可以只用基本的文字處理工具完成 MATLAB對文本形式的數(shù)據(jù)文件的擴展名并不計較 將上述數(shù)據(jù)文件換名保存為fort 1 仍然可以如上導入 應用 文件名可以定義為m1 txt或m1 1 但是 如果將文件命名為1m txt 則顯示出錯信息 Error Missingoperator 算子 comma 逗號 orsemicolon 分號 如果文件名命名為3 txt 1 txt 3 1等 則顯示的是主文件名所用的數(shù)字 數(shù)據(jù)文件保存為word或wps等的文件格式同樣可以引用 矩陣的創(chuàng)建 如果數(shù)據(jù)文件中有字母 則不能引用 顯示出錯信息 即使該字母在前面的指令中已經(jīng)賦值也不可 如果數(shù)據(jù)文件中有算式 則不能完整顯示 算式元素將僅顯示第一個運算符 或關(guān)系符 前的數(shù)字 導入其他數(shù)據(jù) 如圖像數(shù)據(jù) Excel數(shù)據(jù)時 可以使用數(shù)據(jù)導入向?qū)mportWizard 矩陣的創(chuàng)建 3 通過m文件創(chuàng)建矩陣 將矩陣建立為m文件先將矩陣按創(chuàng)建原則寫入一個m文件中 在MATLAB命令窗口或程序中直接運行該m文件 輸入該m文件名 即可將矩陣調(diào)入工作空間 矩陣的創(chuàng)建 續(xù) 4 通過函數(shù)創(chuàng)建矩陣 矩陣的創(chuàng)建 矩陣的創(chuàng)建 續(xù) 注意 當某一項操作無結(jié)果時 MATLAB將返回一個空矩陣 空矩陣的大小為0 但它確實存在于工作空間 可以通過變量名訪問 輸入后的矩陣將保存在MATLAB工作空間中 并可以隨時被訪問調(diào)用 如果用戶不用 clear 命令清除它 或給它重新賦值 該矩陣將一直保存在工作空間直到MATLAB關(guān)閉為止 如果矩陣函數(shù)中只有一個參數(shù) 則為方陣 四種創(chuàng)建矩陣的方法各有優(yōu)點 直接輸入法方便簡捷 通過數(shù)據(jù)文件創(chuàng)建有利于調(diào)用其他軟件產(chǎn)生的數(shù)據(jù) 通過m文件創(chuàng)建是用于創(chuàng)建較大尺寸的矩陣并便于修改 通過函數(shù)創(chuàng)建可以由MATLAB內(nèi)部函數(shù)創(chuàng)建一些特殊矩陣 矩陣的創(chuàng)建 矩陣的創(chuàng)建 續(xù) 5 其他構(gòu)造矩陣的方法 冒號法 1 冒號法構(gòu)造向量冒號表達式的一般格式為 向量名 初值 步長 終值 例4 在窗口輸入 x 0 0 5 2回車后顯示x 00 50001 00001 50002 0000 例5 在命令窗口輸入 x 2 0 5 0回車后顯示x 2 00001 50001 00000 50000 矩陣的創(chuàng)建 矩陣的創(chuàng)建 續(xù) 指出 步長可以省略 省略步長 則步長為1 步長可以為負 此時初值大于終值 向量的元素比較多而又有增減規(guī)律時 這種方法非常便利 冒號法表示向量時 向量的全體成員是從初值開始 以步長為增量 直到不超過終值的所有元素構(gòu)成的序列 冒號法的應用可以避免使用循環(huán) 提高程序運行速度 矩陣的創(chuàng)建 矩陣的創(chuàng)建 續(xù) 2 冒號法構(gòu)造矩陣一般格式為 A j 表示矩陣A的第j列 A i 表示矩陣A的第i行 例6 建立矩陣 解 A 1 1 5 設置矩陣的第1行A 12345 矩陣的創(chuàng)建 矩陣的創(chuàng)建 續(xù) A 2 6 10 設置矩陣的第2行A 12345678910 A 3 11 15 設置矩陣的第3行 設置完成A 123456789101112131415 矩陣的創(chuàng)建 矩陣的創(chuàng)建 續(xù) 指出 在MATLAB中 還可以利用函數(shù)linspace產(chǎn)生行向量 其調(diào)用格式為 linspace a b n 其中a b是向量的第一個和最后一個元素 n是元素的個數(shù) 這樣產(chǎn)生的向量的元素成等差數(shù)列 例如 linspace 1 4 5 ans 1 00001 75002 50003 25004 0000函數(shù)linspace被稱為線性等分函數(shù) 矩陣的創(chuàng)建 矩陣的創(chuàng)建 續(xù) 指出 冒號法和應用linspace都可以創(chuàng)建具有遞增元素序列的向量 但是 用冒號法創(chuàng)建向量時 向量的元素不一定取到終值 而應用linspace則必然會取到 因為b表示的就是最后一個元素 矩陣的創(chuàng)建 ArrayOperations Scalar ArrayMathematicsForaddition subtraction multiplication anddivisionofanarraybyascalarsimplyapplytheoperationstoallelementsofthearray Example f 12 34 f 1234 g 2 f 1g 1357 Eachelementinthearrayfismultipliedby2 thensubtractedby1 ArrayOperations con t Element by ElementArray ArrayMathematics Example x 123 y 456 z x yz 41018 Eachelementinxismultipliedbythecorrespondingelementiny Matrices Aisanmxnmatrix AMatrixarrayistwo dimensional havingbothmultiplerowsandmultiplecolumns similartovectorarrays itbeginswith andendwith spacesorcommasareusedtoseparateelementsinarowsemicolonorenterisusedtoseparaterows Example f 123 456 f 123456 h 246135 h 246135 Matrices con t MatrixAddressing matrixname row column colonmaybeusedinplaceofaroworcolumnreferencetoselecttheentireroworcolumn recall f 123456h 246135 Example f 2 3 ans 6 h 1 ans 21 Matrices con t Someusefulcommands zeros n zeros m n ones n ones m n size A length A returnsanxnmatrixofzerosreturnsamxnmatrixofzerosreturnsanxnmatrixofonesreturnsamxnmatrixofonesforamxnmatrixA returnstherowvector m n containingthenumberofrowsandcolumnsinmatrix returnsthelargerofthenumberofrowsorcolumnsinA Matrices con t morecommands A B Carematrices andm n arescalars SolutionstoSystemsofLinearEquations Example asystemof3linearequationswith3unknowns x1 x2 x3 3x1 2x2 x3 10 x1 3x2 2x3 5x1 x2 x3 1 Then thesystemcanbedescribedas Ax b Let SolutionstoSystemsofLinearEquations con t SolutionbyMatrixInverse Ax bA 1Ax A 1bx A 1bMATLAB A 32 1 132 1 1 1 b 10 5 1 x inv A bx 2 00005 0000 6 0000 Answer x1 2 x2 5 x3 6 SolutionbyMatrixDivision ThesolutiontotheequationAx bcanbecomputedusingleftdivision Answer x1 2 x2 5 x3 6 NOTE leftdivision A b b Arightdivision x y x y MATLAB A 32 1 132 1 1 1 b 10 5 1 x A bx 2 00005 0000 6 0000 符號對象的創(chuàng)建 1 字符串變量的創(chuàng)建字符串是一種特殊的符號對象 在數(shù)據(jù)處理 造表和函數(shù)求值中 字符串具有重要的應用 用單引號界定的字符序列稱為字符串 例如 s hello 回車后 顯示s hello 指出 字符串中的字符可以是數(shù)字 英文字母 漢字 橫線 括號 表達式 方程等 字符串也稱字符串數(shù)據(jù)或字符變量 用賦值符號 把字符串賦給某個標識符 例如s 這個標識符稱為字符串變量名 簡稱字符名 符號對象的創(chuàng)建 2 符號變量和符號表達式的創(chuàng)建 MATLAB的符號數(shù)學工具箱提供了兩個基本函數(shù)sym和syms 用來創(chuàng)建符號變量 符號表達式和符號矩陣 用函數(shù)sym建立符號變量 符號表達式和符號矩陣 調(diào)用格式為 變量 sym 表達式 y sym 2 cos x 將顯示y 2 cos x 這是一個符號表達式 符號對象的創(chuàng)建 續(xù) 用函數(shù)syms建立符號變量 符號表達式和符號矩陣 調(diào)用格式為 Symsvar1var2var3 注意空格 symsyu p exp y u q y 2 u 3 u y這樣就建立了兩個符號表達式 分別存放在變量p和q里 指出 由于syms函數(shù)書寫簡潔 意義清楚 符合MATLAB的習慣特點 一般提倡使用syms創(chuàng)建符號變量 符號表達式和符號矩陣 2 符號變量和符號表達式的創(chuàng)建 注意用單引號創(chuàng)建的字符串變量和用函數(shù)sym syms創(chuàng)建的符號變量性質(zhì)并不完全一樣 在符號工具箱中 有些指令的參數(shù)既可以用字符串型數(shù)據(jù)也可以用符號型數(shù)據(jù) 但也有一些指令的參數(shù)必須用符號型數(shù)據(jù) 加法 求導等運算對數(shù)值形式的字符串和符號變量都按符號變量對待 不加區(qū)別 而級數(shù)求和命令symsum s n h k s是通項表達式 n為級數(shù)的項數(shù) h k分別是求和的起止項數(shù) 中的s必須用符號表達式而不能用字符串 MATLAB中 在沒有規(guī)定的情況下 默認最接近x的字母表示自變量 2 符號變量和符號表達式的創(chuàng)建 二 符號微積分 limit f x a 求表達式f當x a時的極限diff f 求表達式f對缺省變量的微分diff f n 求表達式f對缺省變量求n階微分diff f v 求表達式f對變量v的微分diff f v n 求表達式f對變量v的n階微分int f 求表達式f對缺省變量的積分int f v 求表達式f對變量v的積分int f v a b 求表達式f在區(qū)間 a b 上對變量v的定積分 矩陣的運算 MATLAB對于矩陣與矩陣之間的運算的處理方法與線性代數(shù)中的相同 矩陣的計算 續(xù) 說明 矩陣也可以和一個數(shù)之間進行運算 線性代數(shù)沒有定義除法運算 MATLAB為了便于計算 定義了矩陣的除法 并有左除和右除之分 矩陣左除使用 運算符 右除使用 運算符 X A B是解方程組A X B X B A則是解方程組X A B 一般地說 A B B A 在算法上 A B inv A B inv是求某一個矩陣的逆矩陣 而B A B inv A 指出 如果A B B A I 單位矩陣 稱A和B互為逆矩陣 如果矩陣中有復數(shù)元素 那么轉(zhuǎn)置后得到它的復數(shù)共軛矩陣 矩陣的運算 矩陣的運算 續(xù) 例7 若創(chuàng)建矩陣A 1 0 2 0 1 3 1 0 4 B 1 2 3 4 5 6 7 8 9 C 1 2 3 4 5 6 并計算A B A 3 A C A2 CT A 1 A 1B 指出 A2 A 2 CT C A 1 inv A A 1B A B 或inv A B 在MATLAB系統(tǒng)中 還有一個數(shù)據(jù)結(jié)構(gòu)是 數(shù)組 數(shù)組在結(jié)構(gòu)上和矩陣是完全一致的 唯一的區(qū)別是數(shù)組的運算不服從線性代數(shù)的規(guī)定 而是元素對元素間的運算 數(shù)組的加減運算與矩陣加減相同 數(shù)組的乘法 左除 右除 冪的運算符號分別是矩陣相應運算符前面加一個小圓點 矩陣運算的一個重要的應用是解線性方程組 矩陣的運算 矩陣的運算 續(xù) 例8 求下面方程組的根 解 解線性方程組 可以使用矩陣的左除 即X A B A 2 1 3 3 2 2 5 3 1 B 5 5 16 列向量 X A BX 1 3 2 矩陣的運算 矩陣的運算 續(xù) 指出 線性方程組A X B有兩種解法 X A B或X inv A B 但一般用第一種解法 在MATLAB中 第二種解法所用時間是第一種解法的50倍 可以看出 同樣解線性方程組 不同的算法的效率是有極大差距的 可見優(yōu)化和選擇算法是非常重要的 求逆運算inv A 是重要的代數(shù)運算 矩陣的運算 1 矩陣的大小測度Size函數(shù)用來測試矩陣的大小 對于矩陣A size A 返回一個行向量 它包含了矩陣的行數(shù)m和列數(shù)n 如果專門顯示行數(shù)和列數(shù) 則可以采用如下格式 例9 已知矩陣 求矩陣的大小 矩陣的操作 解 A 11111 12345 1361015 設A為已知矩陣A 11111123451361015 d size A 測試矩陣A的大小d 35 d1 size A 1 測試矩陣的行數(shù)d1 3 d2 size A 2 測試矩陣的列數(shù)d2 5 矩陣的操作 矩陣的操作 續(xù) 2 矩陣的元素操作例10 已知矩陣 寫出矩陣的元素A 2 3 將A 3 5 改為 1 解 A 11111 12345 1361015 A 11111123451361015 矩陣的操作 矩陣的操作 續(xù) A 2 3 ans 3 A 3 5 1A 111111234513610 1 矩陣的操作 例11 A 132 310 215 A 132310215 B 436 514 346 B 436514346 U 1 1 A 1 1 B 1 1 U 1 2 A 1 2 B 1 2 U 2 1 A 2 1 B 2 1 U 2 2 A 2 2 B 2 2 UU 56 20 矩陣的操作 3 矩陣塊的操作利用冒號表達式對矩陣進行拆分 提取子矩陣是矩陣操作的重要方面 提取的規(guī)則是 A j 表示取矩陣A的第j列的全部元素 A i 表示取矩陣A的第i行的全部元素 A i j 表示取矩陣A的第i行第j列交叉位置的元素 A i i m 表示取矩陣A的第i i m行的全部元素 A k k n 表示取矩陣A的第k k n列的全部元素 A i i m k k n 表示取矩陣A的第i i m行內(nèi)并在第k k n列中的全部元素 矩陣的操作 例12 拆分矩陣的例子 A 11111 12345 1361015 A 11111123451361015 A 2 3 ans 3 A 3 5 1A 111111234513610 1 矩陣的操作 A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 A 1234567891011121314151617181920 A 1 ans 12345 矩陣的操作 A 2 4 ans 234789121314171819 A 2 3 4 5 ans 9101415 A 2 3 1 2 5 ans 6810111315 矩陣的操作 矩陣的操作 續(xù) 例13 組合矩陣的例子 A 1 2 3 4 A 1234 B 2 3 4 5 B 2345 A B ans 12233445 矩陣的操作 A B ans 12342345 A 6 7 ans 123467 矩陣的操作 冒號表達式是MATLAB中非常重要的 應用非常廣泛 也非常靈活的工具 利用冒號表達式比利用循環(huán)語句賦值解決同一問題要快得多 所以實際編程時一般應當盡量采用冒號表達式而不是用循環(huán) 矩陣的操作 矩陣的操作 續(xù) 例14 A 1234567891011121314151617181920 A 1234567891011121314151617181920 A end 取A的最后一行ans 1617181920 矩陣的操作 A 1 4 3 end 取A的第1 4兩行中第3列到最后一列 ans 345181920 A 1 4 取A的第1 4兩行 ans 123451617181920 指出 end用來表示矩陣某一維末尾元素 矩陣的操作 矩陣的操作 續(xù) 例15 c 3 2 4 5 2 4 4 7 d c ones size c zeros size c eye size c d 3 20004 50001 00001 00002 40004 70001 00001 0000001 000000001 0000 指出 實際上 例15是分塊輸入矩陣的例子 是將矩陣分4塊輸入的 注意分塊的意義 矩陣的操作 PlottinginMatlab Goal ploty sin x Matlabcodexplot 0 0 01 2 pi yplot sin xplot plot xplot yplot x y z sphere 30 surf x y z box PlottinginMatlab 一 二維圖形的繪制1 數(shù)據(jù)繪圖命令 plot plot y 當y為向量時 以y的分量為縱坐標 以元素序號為橫坐標 用直線依次連接數(shù)據(jù)點 繪制曲線 若y為實數(shù)矩陣 按列繪制每一列所對應的曲線 圖中曲線數(shù)等于矩陣的列數(shù) plot x y 若y和x為同維向量 以x為橫坐標 以y為縱坐標繪制連線圖 若x是向量 y是行數(shù)或列數(shù)與x的長度相等的矩陣 則繪制多條不同色彩的連線圖 x被作為這些曲線的共同坐標 若x和y是同型的矩陣 則以x和y的對應列元素為橫縱坐標分別繪制曲線 曲線條數(shù)等于矩陣的列數(shù) plot x y1 x y2 以公共的x元素為橫坐標 以y1 y2 y3 元素為縱坐標值繪制多條曲線 PlottinginMatlab 二維圖形的繪制 續(xù) 例1 以向量y 1 2 5 4 5 3 6 1 的各個分量為縱坐標 分量序號為橫坐標繪制順序連接線 解 輸入命令 y 1254 5361 plot y PlottinginMatlab PlottinginMatlab 二維圖形 續(xù) 例2 畫出一條正弦曲線和一條余弦曲線 x 0 pi 10 2 pi 構(gòu)造向量 y1 sin x 構(gòu)造對應的y1坐標 y2 cos x 構(gòu)造對應的y2坐標 plot x y1 x y2 畫出一個以x為橫坐標 y1 y2為縱坐標的圖形指出 構(gòu)造向量采用了所謂的冒號法 格式為向量名 初值 步長 終值 步長為1時可以省略 plot是針對向量或矩陣的列來繪制曲線的 也就是說 使用plot之前必須首先定義好曲線上每一點的x坐標和y坐標 在上述的格式中 x和y都可以是表達式 如果自變量的間隔取得比較大 光滑的曲線就會顯示出折線的本來面貌 PlottinginMatlab 二維圖形 續(xù) PlottinginMatlab 2 函數(shù)繪圖命令 1 解析函數(shù)繪圖命令fplot使用格式 fplot fun lims s tol 其中 用單引號界定的輸入?yún)?shù)fun 是解析函數(shù)字符串表達式 內(nèi)聯(lián)函數(shù)或m 函數(shù)文件名 fun可以是一個函數(shù) 也可以是元素是函數(shù)的向量 輸入?yún)?shù)lims規(guī)定了繪圖區(qū)間 lims a b c d 表示 自變量x和函數(shù)y的取值范圍分別是x a b y c d 通常c d被省略 輸入?yún)?shù)s用于修飾曲線 后面介紹 輸入?yún)?shù)tol規(guī)定函數(shù)取值的相對誤差 常省略 默認2e 3 fun是函數(shù)向量時 繪出的幾條曲線的取值區(qū)間和線型是相同的 PlottinginMatlab 例3 繪制函數(shù)f x cos tan x 的曲線 解 fplot cos tan pi x 0 4 1 4 PlottinginMatlab fplot 續(xù) PlottinginMatlab 解析函數(shù)繪圖命令fplot 續(xù) 指出 輸入該命令的函數(shù)表達式是解析式 式中不用數(shù)組算法符號 與plot命令不同 fplot函數(shù)用于繪制已定義函數(shù)在指定的范圍內(nèi)的圖像 雖然它與plot相似 也是用描點法畫圖 但該函數(shù)可以根據(jù)函數(shù)自身的性質(zhì)自適應地對函數(shù)進行采樣 能夠自動確定曲線變化率大的區(qū)段并在此區(qū)段進行密集采樣 也就是說 畫圖時x的取值間隔是隨函數(shù)的曲率自動調(diào)節(jié)的 曲率大 曲率半徑小 處間隔小 曲率小處間隔大 這種自適應地取值使繪制的曲線光滑 美觀 可以減少取點的數(shù)目的同時更好地反映函數(shù)的變化規(guī)律 PlottinginMatlab 2 隱函數(shù)繪圖命令 ezplot 使用格式 ezplot func lims 其中 輸入?yún)?shù) func 可以是字符表達式 內(nèi)聯(lián)函數(shù)或m 函數(shù)文件名 輸入?yún)?shù)func為一元函數(shù)f x 時 輸出y f x 的幾何圖形 這時命令后面可以不用括號和引號 但函數(shù)的第一個符號不得是括號 不能加寫輸入?yún)?shù)lims 默認繪圖范圍是 2 2 輸入?yún)?shù)func是二元函數(shù)表達式f x y 時 輸出方程f x y 0的幾何圖形 即繪制隱函數(shù)曲線 變量的范圍由輸入?yún)?shù)lims規(guī)定 lims a b c d 表示x和y的取值范圍分別是x a b y c d 省略 c d 時默認x y取值區(qū)間相同 PlottinginMatlab 輸入?yún)?shù)func是參數(shù)方程時 func寫成 x t y t 按參數(shù)方程繪出t a b 的函數(shù)曲線 輸入?yún)?shù)lims規(guī)定自變量取值范圍 默認范圍是x 2 2 該命令一次只能繪制一條曲線 在繪出函數(shù)圖形的同時自動在圖的上側(cè)加注函數(shù)解析式 下側(cè)加注自變量名稱 曲線的色型 線型無法控制 PlottinginMatlab 例4 繪制三葉玫瑰線r sin 3t 極坐標方程 解 把極坐標方程r sin 3t 通過轉(zhuǎn)換成直角坐標方程 輸入命令 ezplot sin 3 t cos t sin 3 t sin t 0 pi 隱函數(shù)繪圖命令 ezplot 續(xù) PlottinginMatlab 隱函數(shù)繪圖命令 ezplot 續(xù) PlottinginMatlab 二維圖形繪制 續(xù) MATLAB繪制的其它圖像的例子 例5 某次考試學生成績優(yōu)秀的占8 良好的占20 中等的占36 及格的占24 不及格的占12 分別用餅圖和條形圖表示 解 x 820362412 subplot 221 pie x 10001 title 餅圖 subplot 222 bar x grpup title 垂直條形圖 subplot 223 bar x stack title 累加值為縱坐標的垂直條形圖 subplot 224 barh x group title 水平條形圖 PlottinginMatlab fplot 續(xù) PlottinginMatlab 1 曲線控制命令在使用plot等命令繪制曲線時可以指定曲線的顏色 線型和數(shù)據(jù)點圖標 基本的調(diào)用格式為plot x y colorline stylemarker 顏色控制符表 PlottinginMatlab 繪圖控制 續(xù) 線型控制符表 PlottinginMatlab 繪圖控制 續(xù) 數(shù)據(jù)點標記控制符表 PlottinginMatlab 繪圖控制 續(xù) 指出 顏色 線型 標記三種屬性的符號必須放在同一個字符串內(nèi) 屬性的先后順序沒有關(guān)系 可以只指定一兩個屬性 也可以全部缺省 但同種屬性不能同時指定兩個 顏色缺省為藍色 點 線標識符缺省為實線 屬性間不用間隔 PlottinginMatlab 繪圖控制 續(xù) 例6 用紅色 點連線 叉號畫出正弦曲線 x 0 0 2 8 y sin x plot x y r x PlottinginMatlab 圖形標注函數(shù) PlottinginMatlab 圖形的標注 續(xù) 例7 給例2的圖形加入網(wǎng)格和標注 x 0 pi 10 2 pi y1 sin x y2 cos x plot x y1 x y2 gridon 添加網(wǎng)格 xlabel x軸 橫坐標名 ylab
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司宿舍水電管理制度
- 導管抽吸取栓與支架取栓對急性前循環(huán)閉塞性腦卒中療效分析
- 2025合作協(xié)議書(無固定期限)范本
- 2025員工服務合同續(xù)簽意向書
- 安徽省合肥市2024~2025學年 高二下冊第二次檢測數(shù)學試卷附解析
- 2024~2025學年 重慶市七校聯(lián)考高一語文上冊第一次聯(lián)考試卷附答案
- 走進社會主義市場經(jīng)濟 同步練習
- 跨界融合下的職業(yè)轉(zhuǎn)型策略-洞察闡釋
- 歷史建筑群保護社區(qū)青年創(chuàng)業(yè)孵化器規(guī)劃基礎(chǔ)知識點歸納
- 基于AI的衛(wèi)星通信跨域數(shù)據(jù)傳輸技術(shù)-洞察闡釋
- 某公司財務核算制度匯編
- 鋁合金門窗報價表-
- 軟件使用授權(quán)書
- 經(jīng)濟學基礎(chǔ)題庫-選擇判斷題庫(401道)
- 熱力發(fā)電廠課程設計說明書
- 氣體吸收操作-吸收塔結(jié)構(gòu)認知(化工單元操作課件)
- 中藥湯劑的正確熬制和服用方法
- 國際足聯(lián)球員身份及轉(zhuǎn)會規(guī)程及課程教案
- 北京市海淀區(qū)八年級下學期期末考試語文試題
- 法蘭標準尺寸表
- 農(nóng)產(chǎn)品供應鏈數(shù)字化轉(zhuǎn)型:理論框架與實現(xiàn)路徑共3篇
評論
0/150
提交評論