Matlab7清華大學(xué)教程課件_第1頁(yè)
Matlab7清華大學(xué)教程課件_第2頁(yè)
Matlab7清華大學(xué)教程課件_第3頁(yè)
Matlab7清華大學(xué)教程課件_第4頁(yè)
Matlab7清華大學(xué)教程課件_第5頁(yè)
已閱讀5頁(yè),還剩330頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2023/3/9第一章MATLAB7簡(jiǎn)介1MATLAB7課件第一章MATLAB7第二章MATLAB7的安裝和用戶(hù)界面第三章基本使用方法第四章數(shù)值向量和數(shù)組第五章字符串、單元數(shù)組和結(jié)構(gòu)第六章數(shù)值計(jì)算功能第七章符號(hào)運(yùn)算第八章圖形處理第九章GUI圖形設(shè)計(jì)第十章MATLAB72023/3/9第一章MATLAB7簡(jiǎn)介2第一章MATLAB7簡(jiǎn)介

教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)過(guò)程2023/3/9第一章MATLAB7簡(jiǎn)介3教學(xué)目標(biāo)本章主要介紹MATLAB的一些基本情況,讓大家對(duì)該軟件有一個(gè)整體的認(rèn)識(shí)。它主要包括MATLAB的功能、發(fā)展歷史以及MATLAB7的新特點(diǎn)等,由于MATLAB軟件在不斷地更新,所以,也要介紹獲取MATLAB7最新信息的途徑。2023/3/9第一章MATLAB7簡(jiǎn)介5教學(xué)過(guò)程MATLAB的初步知識(shí)

MATLAB的優(yōu)點(diǎn)

MATLAB的缺點(diǎn)

MATLAB7的新功能2023/3/9第一章MATLAB7簡(jiǎn)介6MATLAB的初步知識(shí)MATLAB最初是由CleveMoler用Fortran語(yǔ)言設(shè)計(jì)的,有關(guān)矩陣的算法來(lái)自Linpack和Eispack課題的研究成果;現(xiàn)在的MATLAB程序是MathWorks公司用C語(yǔ)言開(kāi)發(fā)的。

MATLAB作為美國(guó)MathWorks公司開(kāi)發(fā)的用于概念設(shè)計(jì),算法開(kāi)發(fā),建模仿真,實(shí)時(shí)實(shí)現(xiàn)的理想的集成環(huán)境。是目前最好的科學(xué)計(jì)算類(lèi)軟件。2023/3/9第一章MATLAB7簡(jiǎn)介7MATLAB的主要應(yīng)用領(lǐng)域(1)數(shù)值分析。(2)數(shù)值和符號(hào)計(jì)算。(3)工程與科學(xué)繪圖。(4)控制系統(tǒng)的設(shè)計(jì)與方針。(5)數(shù)字圖像處理。(6)數(shù)字信號(hào)處理。(7)通訊系統(tǒng)設(shè)計(jì)與仿真。(8)財(cái)務(wù)與金融工程。2023/3/9第一章MATLAB7簡(jiǎn)介9MATLAB的缺點(diǎn)運(yùn)行效率較低由于MATLAB是一種合成語(yǔ)言,因此,與一般的高級(jí)語(yǔ)言相比,用MATLAB編寫(xiě)的程序運(yùn)行起來(lái)時(shí)間往往要長(zhǎng)一些。價(jià)格比較貴一般的用戶(hù)可能支付不起它的高昂費(fèi)用。但是,購(gòu)買(mǎi)MATLAB的昂貴費(fèi)用在很大程度上可以由使用它所編寫(xiě)的程序的價(jià)值抵消。2023/3/9第一章MATLAB7簡(jiǎn)介10MATLAB7的新功能提供了MATLAB、SIMULINK的升級(jí)以及其他最新的75個(gè)模塊的升級(jí)該版本不僅提高了產(chǎn)品質(zhì)量,同時(shí)也提供了最新的用于數(shù)據(jù)分析、大規(guī)模建模、固定點(diǎn)開(kāi)發(fā)和編碼等新特征。2023/3/9第一章MATLAB7簡(jiǎn)介11第二章MATLAB7的安裝和

用戶(hù)界面

教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)過(guò)程2023/3/9第一章MATLAB7簡(jiǎn)介13教學(xué)重點(diǎn)初步認(rèn)識(shí)MATLAB7的用戶(hù)界面掌握MATLAB7的路徑搜索2023/3/9第一章MATLAB7簡(jiǎn)介14教學(xué)過(guò)程MATLAB7的安裝過(guò)程

MATLAB7用戶(hù)界面概述

MATLAB7的路徑搜索2023/3/9第一章MATLAB7簡(jiǎn)介15MATLAB7的安裝過(guò)程用戶(hù)在購(gòu)買(mǎi)到正版MATLAB7后,可以按照相關(guān)的說(shuō)明進(jìn)行安裝,安裝過(guò)程相對(duì)比較簡(jiǎn)單。這里不在贅述。安裝MATLAB7必須具有由Mathworks公司提供的合法個(gè)人使用許可,如果沒(méi)有使用許可,用戶(hù)將無(wú)法安裝MATLAB。2023/3/9第一章MATLAB7簡(jiǎn)介171.MATLAB7的主菜單

MATLAB7的主菜單包括File、Edit、Debug、Desktop、Window和Help菜單??梢詧?zhí)行的操作有New、Open、Undo、Redo、Cut、copy和Step等。2023/3/9第一章MATLAB7簡(jiǎn)介182.MATLAB7的工具欄

MATLAB7的工具欄包括新建文件、打開(kāi)文件、剪切、復(fù)制和粘貼等常用圖標(biāo)同時(shí),MATLAB7的工具欄適時(shí)顯示MATLAB7的當(dāng)前路徑,用戶(hù)還可以通過(guò)工具欄來(lái)改變當(dāng)前路徑

2023/3/9第一章MATLAB7簡(jiǎn)介193.MATLAB7的窗口打開(kāi)MATLAB7,默認(rèn)打開(kāi)的窗口包括:(1)命令窗口(CommandWindow);(2)命令歷史窗口(CommandHistory);(3)工作間管理窗口(Workspace);(4)當(dāng)前路徑窗口(CurrentDirectory)此外,還有編譯窗口、圖形窗口和幫助窗口等其他種類(lèi)的窗口。2023/3/9第一章MATLAB7簡(jiǎn)介21(2)命令歷史窗口命令歷史窗口顯示用戶(hù)在命令窗口中所輸入的每條命令的歷史記錄,并標(biāo)明使用時(shí)間,這樣可以方便用戶(hù)的查詢(xún)。如果用戶(hù)想再次執(zhí)行某條已經(jīng)執(zhí)行過(guò)的命令,只需在命令歷史窗口中雙擊該命令。2023/3/9第一章MATLAB7簡(jiǎn)介22(3)工作間管理窗口工作間管理窗口就是用來(lái)顯示當(dāng)前計(jì)算機(jī)內(nèi)存中MATLAB變量的名稱(chēng)、數(shù)學(xué)結(jié)構(gòu)、該變量的字節(jié)數(shù)及其類(lèi)型。在默認(rèn)設(shè)置下,工作間管理窗口自動(dòng)顯示于MATLAB界面中。2023/3/9第一章MATLAB7簡(jiǎn)介23(4)當(dāng)前路徑窗口在默認(rèn)設(shè)置下,當(dāng)前路徑窗口自動(dòng)顯示于MATLAB界面中,用戶(hù)也可以選擇Desktop|CurrentDirectory命令調(diào)出或隱藏該命令窗口。當(dāng)前路徑窗口顯示著當(dāng)前用戶(hù)工作所在的路徑2023/3/9第一章MATLAB7簡(jiǎn)介25MATLAB7的路徑搜索(1)MATLAB7的當(dāng)前目錄在命令窗口中輸入cd命令,并按Enter鍵確認(rèn),即顯示有當(dāng)前MATLAB7工作所在目錄。>>cdC:\MATLAB71\work>>2023/3/9第一章MATLAB7簡(jiǎn)介26MATLAB7的路徑搜索(2)MATLAB7的路徑搜索選擇MATLAB的主窗口中File|SetPath命令,進(jìn)入到設(shè)置路徑搜索的對(duì)話框,用戶(hù)可以設(shè)置新的路徑2023/3/9第一章MATLAB7簡(jiǎn)介29教學(xué)目標(biāo)MATLAB7的優(yōu)點(diǎn)不僅在于強(qiáng)大的功能,還在于其簡(jiǎn)單易學(xué)。本章主要是介紹MATLAB7的基本使用方法。用戶(hù)在學(xué)習(xí)完本章的內(nèi)容后,可以進(jìn)行基本的數(shù)值運(yùn)算,從而能夠容易地解決許多在學(xué)習(xí)和科研中遇到的計(jì)算問(wèn)題。2023/3/9第一章MATLAB7簡(jiǎn)介30教學(xué)重點(diǎn)標(biāo)點(diǎn)符號(hào)的使用常用的操作命令和鍵盤(pán)技巧MATLAB7的數(shù)據(jù)類(lèi)型常量和變量的使用方法浮點(diǎn)數(shù)和復(fù)數(shù)的使用方法2023/3/9第一章MATLAB7簡(jiǎn)介31教學(xué)過(guò)程簡(jiǎn)單的數(shù)學(xué)運(yùn)算常用的操作命令和鍵盤(pán)技巧

MATLAB7的數(shù)據(jù)類(lèi)型2023/3/9第一章MATLAB7簡(jiǎn)介321.簡(jiǎn)單的數(shù)學(xué)運(yùn)算最簡(jiǎn)單的計(jì)算器使用法標(biāo)點(diǎn)符號(hào)的使用常用的操作命令和鍵盤(pán)技巧2023/3/9第一章MATLAB7簡(jiǎn)介33(1)最簡(jiǎn)單的計(jì)算器使用法直接輸入法>>3*30+3*35+4*30+4*32ans=443>>存儲(chǔ)變量法>>grade1=3*30grade1=90>>grade2=3*35grade2=105>>total=grade1+grade2total=195>>2023/3/9第一章MATLAB7簡(jiǎn)介34

符號(hào)功能實(shí)例+加法1+2-減法1-2*乘法1*2/、\除法1/2(除)2\1(被除)^乘方2^1數(shù)值運(yùn)算符號(hào)2023/3/9第一章MATLAB7簡(jiǎn)介35(2)常用標(biāo)點(diǎn)符號(hào)標(biāo)點(diǎn)符號(hào)定義標(biāo)點(diǎn)符號(hào)定義;區(qū)分行,取消運(yùn)行顯示等.小數(shù)點(diǎn)以及域訪問(wèn)等,區(qū)分列,函數(shù)參數(shù)分隔符等…連接語(yǔ)句:在數(shù)組中應(yīng)用較多‘字符串的標(biāo)識(shí)符號(hào)()指定運(yùn)算優(yōu)先級(jí)等=賦值符號(hào)[]矩陣定義的標(biāo)志等!調(diào)用操作系統(tǒng)運(yùn)算{}用于構(gòu)成單元數(shù)組等%注釋語(yǔ)句的標(biāo)識(shí)2023/3/9第一章MATLAB7簡(jiǎn)介36應(yīng)用舉例例4-1清華大學(xué)土木系一年級(jí)有3個(gè)班,每班30人,二年級(jí)有3個(gè)班,每班35人,三年級(jí)有4個(gè)班,每班30人,四年級(jí)有4個(gè)班,每班32人。求清華大學(xué)土木系本科一共有多少人。>>grade1=3*30;>>grade2=3*35;>>grade3=4*30;>>grade4=4*32;>>total=grade1+grade2+grade1+grade2total=443>>2023/3/9第一章MATLAB7簡(jiǎn)介372.常用的操作命令和鍵盤(pán)技巧

在使用MATLAB7語(yǔ)言編制程序時(shí),掌握一些常用的操作命令和鍵盤(pán)操作技巧,可以起到事半功倍的效果。2023/3/9第一章MATLAB7簡(jiǎn)介38(1)常用的操作命令命令該命令的功能命令該命令的功能cd顯示或改變工作目錄hold圖形保持命令clc清除工作窗l(fā)oad加載指定文件的變量clear清除內(nèi)存變量pack整理內(nèi)存碎片clf清除圖形窗口path顯示搜索目錄diary日志文件命令quit退出MATLAB7dir顯示當(dāng)前目錄下文件save保存內(nèi)存變量到指定文件disp顯示變量或文字內(nèi)容type顯示文件內(nèi)容echo工作窗信息顯示開(kāi)關(guān)

2023/3/9第一章MATLAB7簡(jiǎn)介39(2)常用的鍵盤(pán)操作和快捷鍵鍵盤(pán)按鈕和快捷鍵該操作的功能鍵盤(pán)按鈕和快捷鍵該操作的功能↑(Ctrl+p)調(diào)用上一行Home(Ctrl+a)光標(biāo)置于當(dāng)前行開(kāi)頭↓(Ctrl+n)調(diào)用下一行End(Ctrl+e)光標(biāo)置于當(dāng)前行結(jié)尾←(Ctrl+b)光標(biāo)左移一個(gè)字符Esc(Ctrl+u)清除當(dāng)前輸入行→(Ctrl+f)光標(biāo)右移一個(gè)字符Del(Ctrl+d)刪除光標(biāo)處字符Ctrl+←光標(biāo)左移一個(gè)單詞Backspace(Ctrl+h)刪除光標(biāo)前字符Ctrl+→光標(biāo)右移一個(gè)單詞Alt+BackSpace恢復(fù)上一次刪除2023/3/9第一章MATLAB7簡(jiǎn)介403.MATLAB7的數(shù)據(jù)類(lèi)型常量和變量常量變量浮點(diǎn)數(shù)和復(fù)數(shù)浮點(diǎn)數(shù)復(fù)數(shù)2023/3/9第一章MATLAB7簡(jiǎn)介41(1)常量在MATLAB中有一些特定的變量,它們已經(jīng)被預(yù)定義了某個(gè)特定的值,因此這些變量被稱(chēng)為常量。MATLAB7中的常量主要有pi、inf和eps等。常量常量的功能常量常量的功能ans用作結(jié)果的默認(rèn)變量名nargin函數(shù)的輸入?yún)?shù)個(gè)數(shù)beep使計(jì)算機(jī)發(fā)出“嘟嘟”聲nargin函數(shù)的輸出參數(shù)個(gè)數(shù)pi圓周率varagin可變的函數(shù)輸入?yún)?shù)個(gè)數(shù)eps浮點(diǎn)數(shù)相對(duì)誤差varagout可變的函數(shù)輸出參數(shù)個(gè)數(shù)inf無(wú)窮大realmin最小的正浮點(diǎn)數(shù)NaN或nan不定數(shù)realmax最大的正浮點(diǎn)數(shù)i或j復(fù)數(shù)單位bitmax最大的正整數(shù)2023/3/9第一章MATLAB7簡(jiǎn)介42(2)變量變量是MATLAB7的基本元素之一,MATLAB7語(yǔ)言不要求對(duì)所使用的變量進(jìn)行事先說(shuō)明,而且它也不需要指定變量的類(lèi)型,系統(tǒng)會(huì)根據(jù)該變量被賦予的值或?qū)υ撟兞克M(jìn)行的操作來(lái)自動(dòng)確定變量的類(lèi)型。變量名長(zhǎng)度不超過(guò)31位,超過(guò)31位的字符系統(tǒng)將忽略不計(jì)變量名區(qū)分大小寫(xiě)變量名必須以字母開(kāi)頭,變量名中可以包含字母、數(shù)字或下劃線,但不允許出現(xiàn)標(biāo)點(diǎn)符號(hào)2023/3/9第一章MATLAB7簡(jiǎn)介43(3)浮點(diǎn)數(shù)幾乎在所有的情況下,MATLAB7的數(shù)據(jù)都是以雙精度數(shù)值來(lái)表示的,這些雙精度數(shù)在系統(tǒng)內(nèi)部用二進(jìn)制來(lái)表示。這是計(jì)算機(jī)通常的表示數(shù)據(jù)的方式,但也帶來(lái)了一些問(wèn)題,比如有很多實(shí)數(shù)不能被精確地表示,對(duì)能夠表示的值也有一個(gè)限制,并且還存在一個(gè)浮點(diǎn)相對(duì)誤差限。所謂相對(duì)誤差限是指MATLAB7語(yǔ)言能夠區(qū)分兩個(gè)不同大小的數(shù)時(shí),這兩個(gè)數(shù)之間的最小差值。2023/3/9第一章MATLAB7簡(jiǎn)介44浮點(diǎn)數(shù)舉例下邊3個(gè)式子的計(jì)算結(jié)果是相同的,但是由于這些數(shù)字都是使用二進(jìn)制存儲(chǔ)的,在使用雙精度數(shù)來(lái)表達(dá)這些數(shù)時(shí),往往就會(huì)出現(xiàn)一些誤差>>a=0.33-0.5+0.17a=2.7756e-017>>b=0.33+0.17-0.5b=0>>c=0.17-0.5+0.33c=5.5511e-017>>2023/3/9第一章MATLAB7簡(jiǎn)介45(4)復(fù)數(shù)MATLAB7語(yǔ)言對(duì)復(fù)數(shù)的處理也是十分簡(jiǎn)便的,在處理復(fù)數(shù)問(wèn)題時(shí),不需要進(jìn)行其他任何的附加操作。>>a2=pi+3.14ja2=3.1416+3.1400i>>>>b=4*(1+3/sqrt(-1))b=4.0000-12.0000i>>2023/3/9第一章MATLAB7簡(jiǎn)介46復(fù)數(shù)的數(shù)學(xué)運(yùn)算舉例>>a=1+2*ia=1.0000+2.0000i>>b=3-4ib=3.0000-4.0000i>>c=pi+sin(pi/2)*ic=3.1416+1.0000i>>d=a+bd=4.0000-2.0000i2023/3/9第一章MATLAB7簡(jiǎn)介47第四章數(shù)值向量和數(shù)組

教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)過(guò)程2023/3/9第一章MATLAB7簡(jiǎn)介48教學(xué)目標(biāo)本章將介紹MATLAB7的數(shù)值計(jì)算功能,包括MATLAB7的向量和數(shù)組,并介紹它們之間的運(yùn)算。通過(guò)對(duì)本章的學(xué)習(xí),讀者可以編寫(xiě)簡(jiǎn)單且功能完善的MATLAB7程序,從而解決各類(lèi)基本問(wèn)題,用戶(hù)可以通過(guò)本章逐步掌握MATLAB7的數(shù)值計(jì)算方法。2023/3/9第一章MATLAB7簡(jiǎn)介49教學(xué)重點(diǎn)向量的運(yùn)算方法關(guān)系和邏輯運(yùn)算2023/3/9第一章MATLAB7簡(jiǎn)介50教學(xué)過(guò)程向量及其運(yùn)算方法數(shù)組及其運(yùn)算方法多項(xiàng)式的創(chuàng)建和運(yùn)算方法關(guān)系和邏輯運(yùn)算2023/3/9第一章MATLAB7簡(jiǎn)介511.向量及其運(yùn)算在命令窗口中直接輸入向量等差元素向量的生成向量與數(shù)的四則運(yùn)算向量與向量之間的加減運(yùn)算點(diǎn)積、叉積和混合積2023/3/9第一章MATLAB7簡(jiǎn)介52(1)在命令窗口中直接輸入向量在MATLAB7中,生成向量最簡(jiǎn)單的方法就是在命令窗口中按一定格式直接輸入。輸入的格式要求是,向量元素用“[]”括起來(lái),元素之間用空格、逗號(hào)或者分號(hào)相隔。需要注意的是,用它們相隔生成的向量形式是不相同的:用空格或逗號(hào)生成行向量;用分號(hào)生成列向量。>>a2=[15,21,27,93,101];>>a1=[15;21;27;93;101];>>a1a1gt;>a2a2gt;>2023/3/9第一章MATLAB7簡(jiǎn)介53(2)等差元素向量的生成當(dāng)向量的元素過(guò)多,同時(shí)向量各元素有等差的規(guī)律,此時(shí)采用直接輸入法將過(guò)于繁瑣。針對(duì)該種情況,可以使用冒號(hào)(:)和linspace函數(shù)來(lái)生成等差元素向量。>>vec1=10:5:60vec1=1015202530354045505560>>vec2=linspace(10,60,11)vec2=10152025303540455055602023/3/9第一章MATLAB7簡(jiǎn)介54(3)向量與數(shù)的四則運(yùn)算向量與數(shù)的加法(減法):向量中的每個(gè)元素與數(shù)的加法(減法)運(yùn)算。向量與數(shù)的乘法(除法):向量中的每個(gè)元素與數(shù)的乘法(除法)運(yùn)算。>>vec1=80:-9:10vec1=8071625344352617>>vec1+101ans=181172163154145136127118>>2023/3/9第一章MATLAB7簡(jiǎn)介55(4)向量與向量之間的加減運(yùn)算向量與向量的加法(減法)運(yùn)算:向量中的每個(gè)元素與另一個(gè)向量中相對(duì)應(yīng)的元素的加法(減法)運(yùn)算。>>vec1=linspace(200,500,7)>>vec2=linspace(900,600,7)>>vec3=vec1+vec2vec3=Columns1through511001100110011001100Columns6through711001100>>2023/3/9第一章MATLAB7簡(jiǎn)介56(5)點(diǎn)積、叉積和混合積兩個(gè)向量的點(diǎn)積等于其中一個(gè)向量的模與另一個(gè)向量在這個(gè)向量的方向上的投影的乘積叉積的幾何意義是指過(guò)兩個(gè)相交向量的交點(diǎn),并與此兩向量所在平面垂直的向量向量的混合積的幾何意義是它的絕對(duì)值表示以向量為棱的平行六面體的體積2023/3/9第一章MATLAB7簡(jiǎn)介57點(diǎn)積、叉積運(yùn)算舉例點(diǎn)積運(yùn)算>>x1=[11223344]>>x2=[1,2,3,4]>>a=dot(x1,x2)a=330>>sum(x1.*x2)ans=330>>叉積運(yùn)算>>x1=[112233]x1=112233>>x2=[123]x2=123>>x3=cross(x1,x2)x3=0002023/3/9第一章MATLAB7簡(jiǎn)介582.數(shù)組及其運(yùn)算數(shù)組尋址和排序數(shù)組的基本數(shù)值運(yùn)算數(shù)組的關(guān)系運(yùn)算數(shù)組的邏輯運(yùn)算2023/3/9第一章MATLAB7簡(jiǎn)介59(1)數(shù)組尋址和排序通過(guò)對(duì)數(shù)組下表的訪問(wèn)來(lái)實(shí)現(xiàn)數(shù)組尋址>>A=rand(1,5)A=0.95010.23110.60680.48600.8913>>>>A(4)ans=0.4860>>>>A(2:3)%A(2:1:3)ans=0.23110.6068使用sort函數(shù)對(duì)數(shù)組進(jìn)行排序>>X=[375042]>>sort(X,1)%對(duì)列排序ans=042375>>sort(2)ans=22023/3/9第一章MATLAB7簡(jiǎn)介60(2)數(shù)組的基本數(shù)值運(yùn)算數(shù)組的加法(減法)數(shù)組的乘法(除法)數(shù)組的乘方2023/3/9第一章MATLAB7簡(jiǎn)介61數(shù)值運(yùn)算舉例加減法>>X=[147];>>Y=[258];>>Z=X-YZ=-1-1-1>>V=X+YV=3915>>乘方>>X=[147]X=147>>Y=[258]Y=258>>Z=X.^YZ=1102457648012023/3/9第一章MATLAB7簡(jiǎn)介62(3)數(shù)組的關(guān)系運(yùn)算兩個(gè)數(shù)通常可以用6種關(guān)系來(lái)進(jìn)行描述:小于(<)、小于等于(<=)、大于(>)、大于等于(>=)、等于(==)和不等于(~=)比較兩個(gè)元素的大小時(shí),如果結(jié)果為1,則表明關(guān)系式為真;如果結(jié)果為0,則表明關(guān)系式為假。例如關(guān)系式4+3<=6(數(shù)學(xué)語(yǔ)言表示4與3的和小于等于6),通過(guò)上面的敘述可知,此關(guān)系式的結(jié)果為0,標(biāo)明關(guān)系式為假。

2023/3/9第一章MATLAB7簡(jiǎn)介63(4)數(shù)組的邏輯運(yùn)算在各種邏輯運(yùn)算中,有3種邏輯運(yùn)算:與(&)、或(|)和非(~)?!?”和“|”操作符號(hào)可以比較兩個(gè)標(biāo)量或者兩個(gè)通解數(shù)組(或矩陣);對(duì)于邏輯非“~”是一個(gè)一元操作符。但是對(duì)于數(shù)組(矩陣),邏輯運(yùn)算是針對(duì)于數(shù)組(矩陣)中的每一個(gè)元素。同樣,當(dāng)邏輯為真時(shí),返回值為1;當(dāng)邏輯為假時(shí),返回值為0。在MATLAB7中,邏輯運(yùn)算通??梢杂脕?lái)生成只含有元素0和1的矩陣。2023/3/9第一章MATLAB7簡(jiǎn)介643.多項(xiàng)式

多項(xiàng)式的創(chuàng)建多項(xiàng)式的運(yùn)算關(guān)系和邏輯運(yùn)算2023/3/9第一章MATLAB7簡(jiǎn)介65(1)多項(xiàng)式的創(chuàng)建直接輸入系數(shù)向量創(chuàng)建多項(xiàng)式特征多項(xiàng)式輸入法由多項(xiàng)式的根逆推多項(xiàng)式2023/3/9第一章MATLAB7簡(jiǎn)介66直接輸入系數(shù)向量創(chuàng)建多項(xiàng)式由于在MATLAB7中多項(xiàng)式是以向量的形式存儲(chǔ)的,直接輸入向量,MATLAB7將按降冪自動(dòng)把向量的元素分配給多項(xiàng)式各項(xiàng)的系數(shù)。而該向量可以是行向量,也可以是列向量。>>P=[3501012]P=3501012>>y=poly2sym(P)y=3*x^5+5*x^4+x^2+12>>disp(y)3*x^5+5*x^4+x^2+12>>2023/3/9第一章MATLAB7簡(jiǎn)介67特征多項(xiàng)式輸入法MATLAB7提供了poly函數(shù),使用它可以由矩陣的特征多項(xiàng)式創(chuàng)建多項(xiàng)式。使用該方法生成多項(xiàng)式時(shí),其首項(xiàng)的系數(shù)必為1。>>A=[3141;5926;5358;9793]A=3141592653589793>>p=poly(A);>>disp(poly2sym(p))x^4-20*x^3-16*x^2+480*x+17243/175921860444162023/3/9第一章MATLAB7簡(jiǎn)介68由多項(xiàng)式的根逆推多項(xiàng)式

如果已知某個(gè)多項(xiàng)式的根,那么,使用poly函數(shù),可以很輕松地產(chǎn)生其對(duì)應(yīng)的多項(xiàng)式。>>roots=[-4-2+2i-2-2i5]roots=-4.0000-2.0000+2.0000i-2.0000-2.0000i5.0000>>p=poly(roots)p=13-16-88-160>>disp(poly2sym(p))x^4+3*x^3-16*x^2-88*x-160>>2023/3/9第一章MATLAB7簡(jiǎn)介69(2)多項(xiàng)式的運(yùn)算多項(xiàng)式的求值求多項(xiàng)式的根多項(xiàng)式的四則運(yùn)算2023/3/9第一章MATLAB7簡(jiǎn)介70多項(xiàng)式的求值MATLAB7提供了兩個(gè)函數(shù)來(lái)對(duì)多項(xiàng)式進(jìn)行求值,即polyval和polyvalm。前者以數(shù)組為計(jì)算單位,后者以矩陣為計(jì)算單位。>>p=[1.0000-20.0000-16.0000480.000098.0000]p=1-20-1648098>>x=4x=4>>polyval(p,x)ans=7382023/3/9第一章MATLAB7簡(jiǎn)介71求多項(xiàng)式的根在MATLAB7語(yǔ)言里,多項(xiàng)式由一個(gè)行向量表示,設(shè)為p,它的系數(shù)按降序排列,使用roots函數(shù)可以求出該多項(xiàng)式的根。其使用格式為roots(p)。>>p=[10312-7]p=10312-7>>roots(p)ans=0.7876+2.4351i0.7876-2.4351i-2.08720.5121>>2023/3/9第一章MATLAB7簡(jiǎn)介72多項(xiàng)式的四則運(yùn)算

加法和減法如果兩個(gè)多項(xiàng)式的向量階數(shù)相同,標(biāo)準(zhǔn)的數(shù)組加法有效。當(dāng)兩個(gè)多項(xiàng)式的向量階數(shù)不同時(shí),需要在低階多項(xiàng)式的前邊補(bǔ)0,使得它與相加的高階多項(xiàng)式有相同的階數(shù)。>>a=[8228],b=[6161]a=8228b=6161>>c=a+bc=14389>>Y3=poly2sym(c)Y3=14*x^3+3*x^2+8*x+92023/3/9第一章MATLAB7簡(jiǎn)介73多項(xiàng)式的四則運(yùn)算乘法使用conv函數(shù)對(duì)多項(xiàng)式進(jìn)行乘法運(yùn)算。格式為c=conv(a,b),其中a和b為兩個(gè)多項(xiàng)式的系數(shù)向量,c為相乘所生成的多項(xiàng)式的系數(shù)向量。>>a=[1234],b=[5678];>>Y1=poly2sym(a)Y1=x^3+2*x^2+3*x+4>>Y2=poly2sym(b)Y2=5*x^3+6*x^2+7*x+8>>c=conv(a,b);>>Y=poly2sym(c)Y=5*x^6+16*x^5+34*x^4+60*x^3+61*x^2+52*x+322023/3/9第一章MATLAB7簡(jiǎn)介74多項(xiàng)式的四則運(yùn)算除法在數(shù)值計(jì)算中,經(jīng)常需要用一個(gè)多項(xiàng)式去除另一個(gè)多項(xiàng)式。在MATLAB7語(yǔ)言中,使用decon函數(shù)來(lái)完成該項(xiàng)功能。>>a=[1234],b=[5678];>>c=conv(a,b);>>d=deconv(c,a);>>e=deconv(c,b)>>x=poly2sym(d),y=poly2sym(e)x=5*x^3+6*x^2+7*x+8y=x^3+2*x^2+3*x+4>>2023/3/9第一章MATLAB7簡(jiǎn)介75多項(xiàng)式的四則運(yùn)算求導(dǎo)和積分

在MATLAB7語(yǔ)言中,分別使用polyder函數(shù)和polyint函數(shù)來(lái)求多項(xiàng)式的導(dǎo)數(shù)與積分。>>p=[3188]p=3188>>q=polyder(p)q=928>>p1=polyint(q)p1=3180>>2023/3/9第一章MATLAB7簡(jiǎn)介764.關(guān)系和邏輯運(yùn)算關(guān)系操作符邏輯操作符關(guān)系與邏輯函數(shù)NaNs和空矩陣各種運(yùn)算符的優(yōu)先級(jí)2023/3/9第一章MATLAB7簡(jiǎn)介77(1)關(guān)系操作符關(guān)系運(yùn)算符該運(yùn)算符的功能關(guān)系運(yùn)算符該運(yùn)算符的功能<

小于>=大于等于>

大于==等于<=小于等于~=約等于關(guān)系操作符及其功能2023/3/9第一章MATLAB7簡(jiǎn)介78(2)邏輯操作符邏輯操作符功

能&與|或~非邏輯操作符及其功能2023/3/9第一章MATLAB7簡(jiǎn)介79(3)關(guān)系與邏輯函數(shù)關(guān)系與邏輯函數(shù)及其功能關(guān)系和邏輯函數(shù)使

能xor(s,t)異或運(yùn)算,s或t非零(真)返回1,s和t都是零(假)或都是非零(真)返回0any(x)如果在一個(gè)向量x中,任何元素是非零,返回1;矩陣x中的每一列有非零元素,返回1all(x)如果在一個(gè)向量x中,所有元素非零,返回1;矩陣x中的每一列所有元素非零,返回12023/3/9第一章MATLAB7簡(jiǎn)介80(4)NaNs和空矩陣NaNs和空矩陣([])在MATLAB7中作特殊處理:根據(jù)IEEE數(shù)學(xué)標(biāo)準(zhǔn)。對(duì)NaNs的幾乎所有運(yùn)算結(jié)果都得出NaNs??站仃囉蒑ATLAB7的生成器確定,并有它自己的特性。空矩陣是簡(jiǎn)單的,它們是MATLAB7大小為零的變量。>>a=size([])size:尺寸a=000行0列>>b=ones(4,0)b=Emptymatrix:4-by-0>>size(b)ans=40>>length(b)ans=0>>2023/3/9第一章MATLAB7簡(jiǎn)介81各種運(yùn)算符的優(yōu)先級(jí)優(yōu)

級(jí)運(yùn)

符最高()(小括號(hào))↓.’(轉(zhuǎn)置)‘(共軛轉(zhuǎn)置).^(數(shù)組和數(shù)值乘方)^(矩陣乘方)↓+(一元加法)-(一元減法)~(取反)↓.*(乘法)*(矩陣乘法)./(右除)/(矩陣右除).\(左除)\(矩陣左除)↓+(加法)-(減法)↓:(冒號(hào))↓<(小于)<=(小于或等于)>(大于)>=()大于或等于

==(等于)~=()不等于↓&(邏輯與)最低|(邏輯或)2023/3/9第一章MATLAB7簡(jiǎn)介82第五章字符串、單元數(shù)組和結(jié)構(gòu)

教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)過(guò)程2023/3/9第一章MATLAB7簡(jiǎn)介83教學(xué)目標(biāo)本章將介紹三種特殊的數(shù)據(jù)類(lèi)型,即字符串、單元數(shù)組和結(jié)構(gòu)。使用這三種數(shù)據(jù)類(lèi)型,相關(guān)的數(shù)據(jù)可以通過(guò)一個(gè)單元數(shù)組或是結(jié)構(gòu)進(jìn)行組織和訪問(wèn),數(shù)據(jù)的管理就變得要容易一些。2023/3/9第一章MATLAB7簡(jiǎn)介84教學(xué)重點(diǎn)字符串的設(shè)定和操作單元數(shù)組的操作結(jié)構(gòu)型變量的操作2023/3/9第一章MATLAB7簡(jiǎn)介85教學(xué)過(guò)程字符串的設(shè)定字符串的各種操作單元數(shù)組的生成方法單元數(shù)組的操作結(jié)構(gòu)型變量的生成方法結(jié)構(gòu)型變量的操作2023/3/9第一章MATLAB7簡(jiǎn)介861.字符串的設(shè)定在MATLAB7中的字符串一般是ASCII值的數(shù)值數(shù)組,它作為字符串表達(dá)式進(jìn)行顯示。MATLAB7對(duì)字符串的設(shè)定非常簡(jiǎn)單,只需用單引號(hào)(’)將需設(shè)定的字符串引注即可。>>str='Ihavemanygoodfriends!'str=Ihavemanygoodfriends!>>whosNameSizeBytesClassEXPLODE1x540doublearrayF11x1224chararrayF21x1224chararray2023/3/9第一章MATLAB7簡(jiǎn)介872.字符串的操作字符串元素的讀取字符串的基本變換字符串的運(yùn)算2023/3/9第一章MATLAB7簡(jiǎn)介88(1)字符串元素的讀取字符串元素的讀取利用數(shù)組操作工具進(jìn)行讀取使用disp函數(shù)顯示字符串>>str='今天,是2005年10月25日,我們班一起去上海旅游。'str=今天,是2005年10月25日,我們班一起去上海旅游。>>str(6)ans=02023/3/9第一章MATLAB7簡(jiǎn)介89(2)字符串的基本變換基本變換的種類(lèi)字符串的ASCII碼操作使用char函數(shù)進(jìn)行逆變換字符串的執(zhí)行>>forn=2:3eval(['M'num2str(n)'=magic(n)'])endM2=1342M3=8163574922023/3/9第一章MATLAB7簡(jiǎn)介90常見(jiàn)字符串的操作函數(shù)名函數(shù)用途函數(shù)名函數(shù)用途strcat鏈接字符串strvcat垂直鏈接字符串strcmp比較字符串大小strncmp比較字符串的前n個(gè)字符findstr在其他的字符串中尋找該字符串strjust證明字符數(shù)組strmatch查找可能匹配的字符串strrep用其他字符串代替改串strtok查找字符串中的記號(hào)blanks生成空的字符串deblank刪除字符串內(nèi)的空格ischar字符串檢驗(yàn)iscellstr字符串的單元檢驗(yàn)isletter字母檢驗(yàn)isspace空格檢驗(yàn)stringsstrings函數(shù)的幫助2023/3/9第一章MATLAB7簡(jiǎn)介91(3)字符串的運(yùn)算字符串的運(yùn)算主要是指判斷字符串是否相等,通過(guò)字符的運(yùn)算來(lái)比較字符,字符串中字符的分類(lèi)、查找與替換、字符串與數(shù)值的轉(zhuǎn)換和數(shù)組與字符串的轉(zhuǎn)換等。2023/3/9第一章MATLAB7簡(jiǎn)介92判斷字符串是否相等有兩個(gè)函數(shù)可以用來(lái)判斷兩個(gè)輸入的字符串是否相等。strcmp函數(shù):比較兩個(gè)字符串是否相等,當(dāng)相等時(shí),系統(tǒng)將返回值1,不相等時(shí),返回值0;strncmp函數(shù):比較兩個(gè)輸入字符串的前幾個(gè)字符是否相等,當(dāng)相等時(shí),系統(tǒng)將返回值1,不相等時(shí),返回值0。>>words1=‘人民文學(xué)';>>words2=‘人民的同志';>>N=strcmp(words1,words2)N=0>>Y=strncmp(words1,words2,3)Y=0>>x=strncmp(words1,words2,1)x=1>>2023/3/9第一章MATLAB7簡(jiǎn)介93通過(guò)字符的運(yùn)算比較字符運(yùn)算符號(hào)的意義符號(hào)形式符號(hào)意義英文簡(jiǎn)寫(xiě)==等于eq~=不等于ne<小于lt>

大于gt<=小于或等于le>=大于或等于ge2023/3/9第一章MATLAB7簡(jiǎn)介94字符串中字符的分類(lèi)字符串中的字符通常可以分為空白字符、字母字符和其他類(lèi)型的字符。用戶(hù)可以用isletter和isspace兩個(gè)函數(shù)來(lái)對(duì)字符串中的字符進(jìn)行分類(lèi)。realstring=''realstring=

>>A=isspace(realstring)A=Columns1through1100000000000Columns12through1600011>>2023/3/9第一章MATLAB7簡(jiǎn)介95.查找與替換查找與替換是字符串操作中的一項(xiàng)重要內(nèi)容,MATLAB7語(yǔ)言提供了findstr、strfind和strrep等函數(shù)來(lái)實(shí)現(xiàn)查找與替換操作。>>s1=‘我們班的班長(zhǎng)是是趙潔!‘;>>s2=strrep(s1,'趙潔','黃遠(yuǎn)')s2=我們班的班長(zhǎng)是是黃遠(yuǎn)!>>s3=strrep(s2,'黃遠(yuǎn)!',‘誰(shuí)?')s3=

我們班的班長(zhǎng)是是誰(shuí)?

>>

2023/3/9第一章MATLAB7簡(jiǎn)介96字符串與數(shù)值的轉(zhuǎn)換常見(jiàn)的字符串轉(zhuǎn)換函數(shù)函數(shù)功能函數(shù)功能hex2dec將16進(jìn)制字符串轉(zhuǎn)化為10進(jìn)制整數(shù)dec2hex將10進(jìn)制整數(shù)轉(zhuǎn)化為16進(jìn)制字符串bin2dec將2進(jìn)制字符串轉(zhuǎn)化為10進(jìn)制整數(shù)dec2bin將10進(jìn)制整數(shù)轉(zhuǎn)化為2進(jìn)制字符串base2dec轉(zhuǎn)化B底字符串為10進(jìn)制整數(shù)hex2num將16進(jìn)制字符轉(zhuǎn)化為雙精度數(shù)upper改該字符串為大寫(xiě)lower改該字符串為小寫(xiě)fprintf把格式化的文本寫(xiě)到文件中或顯示屏上sprintf用格式控制,數(shù)字轉(zhuǎn)換成字符串sscanf用格式控制,字符串轉(zhuǎn)換成數(shù)字charASCII碼轉(zhuǎn)換成字符串num2str數(shù)字轉(zhuǎn)換成字符串int2str整數(shù)轉(zhuǎn)換成字符串2023/3/9第一章MATLAB7簡(jiǎn)介97字符串與數(shù)值的轉(zhuǎn)換舉例使用str2num函數(shù)將字符型矩陣轉(zhuǎn)換為數(shù)字矩陣>>S=['12';'34']S=%S為字符型矩陣1234>>X=str2num(S)X=%X為數(shù)字型矩陣

12342023/3/9第一章MATLAB7簡(jiǎn)介982.單元數(shù)組直接生成單元數(shù)組使用cell函數(shù)生成單元數(shù)組單元數(shù)組的內(nèi)容的顯示或獲取單元數(shù)組的變維處理2023/3/9第一章MATLAB7簡(jiǎn)介99(1)直接生成單元數(shù)組用類(lèi)似矩陣的記號(hào)將給復(fù)雜的數(shù)據(jù)結(jié)構(gòu)納入一個(gè)變量之下。和矩陣中的圓括號(hào)表示下標(biāo)類(lèi)似,單元數(shù)組由大括號(hào)表示下標(biāo)。>>A={‘反對(duì)霸權(quán)','WindGone',100+200*i,[90,85,55;67,70,102;57,18,100;-200,89,78]}A=Columns1through3‘反對(duì)霸權(quán)''WindGone'[1.0000e+002+2.0000e+002i]Column4[4x3double]2023/3/9第一章MATLAB7簡(jiǎn)介100(2)使用cell函數(shù)生成單元數(shù)組應(yīng)用舉例:>>A=cell(2,2)A=[][][][]>>A{1,1}=['富強(qiáng)''民主';'文明''廉潔']A=[2x4char][][][]2023/3/9第一章MATLAB7簡(jiǎn)介101(3)單元數(shù)組的內(nèi)容的顯示或獲取>>celldisp(A,'Huang')Huang{1,1}=1222Huang{2,1}=TsinghuaandPekingHuang{1,2}=MATLAB7Huang{2,2}=1.0000+5.0000i12.0000-4.0000i>>2023/3/9第一章MATLAB7簡(jiǎn)介102(4)單元數(shù)組的變維處理前邊所述的對(duì)矩陣的變維處理同樣也適用于對(duì)單元數(shù)組的變維處理。此外還可以使用reshape函數(shù)進(jìn)行操作。>>A={[12;34],‘love’;‘呼喚和平',[90,85,55;67,70,102;57,18,100;-200,89,78]}A=[2x2double]'love'‘呼喚和平'[4x3double]>>a=reshape(A,1,4)a=[2x2double]‘呼喚和平''love'[4x3double]>>2023/3/9第一章MATLAB7簡(jiǎn)介1033.結(jié)構(gòu)型變量直接輸入法生成結(jié)構(gòu)型變量使用struct函數(shù)生成結(jié)構(gòu)型變量在結(jié)構(gòu)體變量中添加成員變量在結(jié)構(gòu)體變量中刪除成員變量在結(jié)構(gòu)體變量中調(diào)用成員變量

getefield和setfield函數(shù)的使用2023/3/9第一章MATLAB7簡(jiǎn)介104(1)直接輸入法生成結(jié)構(gòu)型變量>>student.test=[995696876769877692];>>='WuQing';>>student.weight=68;>>student.height=1.72;>>student.num=2003214091;>>student.add='Schoolofcivilengneering.Tsinghuauniversity';>>student.tel='1381042679*';2023/3/9第一章MATLAB7簡(jiǎn)介105(2)使用struct函數(shù)生成結(jié)構(gòu)型變量>>truct_array=struct(‘d’,{{‘北京’,‘上海'}},'strengths',[400001000])truct_array=d:{‘北京’‘上海'}strengths:[400001000]>>2023/3/9第一章MATLAB7簡(jiǎn)介106(3)在結(jié)構(gòu)體變量中添加成員變量>>student(1).gender='Male';%在student中添加gender和age這2項(xiàng)記錄>>student(1).age=25;>>student(2).gender='Female';>>student(2).age=21;>>student%查詢(xún)student的結(jié)構(gòu)student=1x2structarraywithfields:testnameweightheightnumaddtelgenderage>>2023/3/9第一章MATLAB7簡(jiǎn)介107(4)在結(jié)構(gòu)體變量中刪除成員變量

使用函數(shù)rmfifld從結(jié)構(gòu)體變量中刪除成員變量。>>student=rmfield(student,'age');student=1x2structarraywithfields:testnameweightheightnumaddtelgender2023/3/9第一章MATLAB7簡(jiǎn)介108(5)在結(jié)構(gòu)體變量中調(diào)用成員變量>>student(1).test%從結(jié)構(gòu)體變量中取出相關(guān)信息ans=995696876769877692>>student(1).test(5)ans=67>>student(1).addans=Schoolofcivilengneering.Tsinghuauniversity2023/3/9第一章MATLAB7簡(jiǎn)介109(6)getefield和setfield函數(shù)的使用getefield函數(shù)取得當(dāng)前存儲(chǔ)在某個(gè)成員變量中的值。setfield函數(shù)給某個(gè)成員變量插入新的值。>>GETF=getfield(student(1),'add')GETF=Schoolofcivilengneering.Tsinghuauniversity>>2023/3/9第一章MATLAB7簡(jiǎn)介110第六章數(shù)值計(jì)算功能

教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)過(guò)程2023/3/9第一章MATLAB7簡(jiǎn)介111教學(xué)目標(biāo)本章將介紹MATLAB7的數(shù)值計(jì)算功能,包括MATLAB7的向量、矩陣以及它們之間的運(yùn)算。介紹了一些特殊的矩陣數(shù)據(jù)結(jié)構(gòu)。最后介紹一些MATLAB7與線性代數(shù)和概率統(tǒng)計(jì)的結(jié)合。通過(guò)對(duì)本章的學(xué)習(xí),讀者可以編寫(xiě)簡(jiǎn)單且功能完善的MATLAB7程序,從而解決各類(lèi)基本問(wèn)題,用戶(hù)可以通過(guò)本章逐步掌握MATLAB7的數(shù)值計(jì)算方法。2023/3/9第一章MATLAB7簡(jiǎn)介112教學(xué)重點(diǎn)矩陣的生成和基本的數(shù)值運(yùn)算稀疏型矩陣的生成和基本操作數(shù)值微分的求解方法2023/3/9第一章MATLAB7簡(jiǎn)介113教學(xué)過(guò)程矩陣的生成和基本的數(shù)值運(yùn)算特殊矩陣的生成稀疏型矩陣的生成和基本操作稀疏型矩陣和滿(mǎn)矩陣的相互轉(zhuǎn)換微分和積分的定義數(shù)值微分的求解方法對(duì)函數(shù)進(jìn)行數(shù)值積分的方法使用MATLAB7進(jìn)行線性代數(shù)的運(yùn)算使用MATLAB7進(jìn)行概率統(tǒng)計(jì)方面的運(yùn)算2023/3/9第一章MATLAB7簡(jiǎn)介1141.矩陣的生成矩陣的生成有多種方式,通常使用的有4種方法:在命令窗口中直接輸入矩陣通過(guò)語(yǔ)句和函數(shù)產(chǎn)生矩陣在M文件中建立矩陣從外部的數(shù)據(jù)文件中導(dǎo)入矩陣>>matrix=[1,1,1,1;2,2,2,2;3,3,3,3;4,4,4,4]matrix=11112222333344442023/3/9第一章MATLAB7簡(jiǎn)介1152.矩陣的基本數(shù)值運(yùn)算矩陣與常數(shù)的四則運(yùn)算矩陣之間的四則運(yùn)算X=B/A:表示求矩陣方程XA=B的解。AX=B,則X=A\B>>A=[21-1;210;1-11]A=21-12101-11>>B=[1-13;432];>>X=B/AX=-2.00002.00001.0000-2.66675.0000-0.66672023/3/9第一章MATLAB7簡(jiǎn)介1163.特殊矩陣的生成零矩陣和全1矩陣的生成(zeros、ones)對(duì)角矩陣的生成(diag)隨機(jī)矩陣的生成(rand、randn)范德蒙德矩陣的生成(vander)魔術(shù)矩陣的生成(magic)Hilbert矩陣和反Hilbert矩陣的生成(hilb、invhilb)2023/3/9第一章MATLAB7簡(jiǎn)介117特殊矩陣的生成舉例>>rand(5)ans=0.95010.76210.61540.40570.05790.23110.45650.79190.93550.35290.60680.01850.92180.91690.81320.48600.82140.73820.41030.00990.89130.44470.17630.89360.1389>>2023/3/9第一章MATLAB7簡(jiǎn)介1184.稀疏型矩陣稀疏矩陣的生成稀疏矩陣與滿(mǎn)矩陣的相互轉(zhuǎn)換稀疏矩陣的操作2023/3/9第一章MATLAB7簡(jiǎn)介119(1)稀疏矩陣的生成在MATLAB7中,生成稀疏矩陣用特殊的函數(shù)來(lái)進(jìn)行,這些函數(shù)有speye、spones、spdiags、sparse、find、full、spalloc、sprand和sprandn等。2023/3/9第一章MATLAB7簡(jiǎn)介120Speye函數(shù)應(yīng)用舉例>>A=eye(5)A=1000001000001000001000001>>speye(size(A))ans=(1,1)1(2,2)1(3,3)1(4,4)1(5,5)12023/3/9第一章MATLAB7簡(jiǎn)介121

(2)稀疏矩陣與滿(mǎn)矩陣的相互轉(zhuǎn)換

用來(lái)將稀疏矩陣和滿(mǎn)矩陣相互轉(zhuǎn)換的函數(shù)有sparse、full和find等3個(gè)函數(shù)。>>S(10,50)=82;>>S(32,14)=82;>>S(251,396)=25;>>I=find(S)%生成S中非零元素的位置I=329512309993962023/3/9第一章MATLAB7簡(jiǎn)介122

(3)稀疏矩陣的操作對(duì)稀疏矩陣進(jìn)行操作,主要由nnz、nonzeros、nzmax、sponse、spalloc、isspase、spyfun和spy等函數(shù)來(lái)實(shí)現(xiàn)。>>v=[6278];>>S=diag(v,1)>>R=sparse(S);>>N=issparse(S)N=0>>Y=issparse(R)Y=1>>2023/3/9第一章MATLAB7簡(jiǎn)介1235.微分和積分?jǐn)?shù)值微分使用diff函數(shù)求數(shù)值微分使用gradient函數(shù)求近似梯度jacobian函數(shù)求多元函數(shù)的導(dǎo)數(shù)函數(shù)的數(shù)值積分矩形求積trapz函數(shù)(梯形求積)自適應(yīng)法(Simpson法)高階自適應(yīng)法(Newton-Cotes法)2023/3/9第一章MATLAB7簡(jiǎn)介124(1)數(shù)值微分>>symsxyz>>jacobian([x*y*z;y;x+z],[xyz])ans=[y*z,x*z,x*y][0,1,0][1,0,1]>>symsuv>>jacobian(u*exp(v),[u;v])ans=[exp(v),u*exp(v)]>>2023/3/9第一章MATLAB7簡(jiǎn)介125(2)函數(shù)的數(shù)值積分>>x=0:0.1:10;>>y=sin(x);>>z=cumsum(y)*0.1;>>plot(x,y,'r-',x,z,'k*')>>2023/3/9第一章MATLAB7簡(jiǎn)介1262023/3/9第一章MATLAB7簡(jiǎn)介1276.MATLAB7與線性代數(shù)矩陣的特征參數(shù)運(yùn)算矩陣的分解運(yùn)算矩陣的結(jié)構(gòu)操作2023/3/9第一章MATLAB7簡(jiǎn)介128(1)矩陣的特征參數(shù)運(yùn)算矩陣的乘方運(yùn)算和開(kāi)方運(yùn)算矩陣的指數(shù)和對(duì)數(shù)運(yùn)算矩陣的逆運(yùn)算矩陣的行列式運(yùn)算矩陣的特征值運(yùn)算矩陣(向量)的范數(shù)運(yùn)算矩陣的條件數(shù)運(yùn)算矩陣的秩矩陣的跡2023/3/9第一章MATLAB7簡(jiǎn)介129特征參數(shù)運(yùn)算舉例1矩陣的逆運(yùn)算>>A=[1000;1200;2130;1214]A=1000120021301214>>B=inv(A)B=1.0000000-0.50000.500000-0.5000-0.16670.333300.1250-0.2083-0.08330.2500>>2023/3/9第一章MATLAB7簡(jiǎn)介130特征參數(shù)運(yùn)算舉例2矩陣的秩>>T1=[111;223]T1=111223>>r=rank(T1)r=2>>2023/3/9第一章MATLAB7簡(jiǎn)介131(2)矩陣的分解運(yùn)算三角分解(lu)正交分解(qr)特征值分解(eig)Chollesky分解(chol)奇異值分解(svd)2023/3/9第一章MATLAB7簡(jiǎn)介132分解運(yùn)算舉例1三角分解(lu)>>X=[62-1;240;14-1;-1-13]>>[L,U]=lu(X)L=1.0000000.33330.90910.40680.16671.00000-0.1667-0.18181.0000U=6.00002.0000-1.00000

3.6667-0.833300

2.6818>>2023/3/9第一章MATLAB7簡(jiǎn)介133分解運(yùn)算舉例2正交分解>>A=[1734;3112;4128]>>[Q,R]=qr(A)Q=-0.95940.22940.1643-0.1693-0.0023-0.9856-0.2257-0.97330.0411R=-17.7200-5.7562-7.67490-10.9939-6.896700-10.84122023/3/9第一章MATLAB7簡(jiǎn)介134(3)矩陣的結(jié)構(gòu)操作矩陣的標(biāo)識(shí)矩陣的擴(kuò)充矩陣的部分刪除矩陣的修改矩陣結(jié)構(gòu)的改變矩陣的旋轉(zhuǎn)和翻轉(zhuǎn)2023/3/9第一章MATLAB7簡(jiǎn)介135結(jié)構(gòu)操作舉例1矩陣的標(biāo)識(shí)>>A=magic(4)A=16231351110897612414151>>A(2,4)ans=8>>2023/3/9第一章MATLAB7簡(jiǎn)介136結(jié)構(gòu)操作舉例2矩陣的翻轉(zhuǎn)>>A=randn(3)A=-0.43260.28771.1892-1.6656-1.1465-0.03760.12531.19090.3273>>B=fliplr(A)B=1.18920.2877-0.4326-0.0376-1.1465-1.66560.2023/3/9第一章MATLAB7簡(jiǎn)介1377.MATLAB7與概率統(tǒng)計(jì)隨機(jī)數(shù)的產(chǎn)生統(tǒng)計(jì)量的數(shù)字特征參數(shù)估計(jì)假設(shè)檢驗(yàn)統(tǒng)計(jì)作圖2023/3/9第一章MATLAB7簡(jiǎn)介138(1)隨機(jī)數(shù)的產(chǎn)生均勻分布的隨機(jī)數(shù)據(jù)的產(chǎn)生(unifrnd)指數(shù)分布的隨機(jī)數(shù)據(jù)的產(chǎn)生(exprnd)二項(xiàng)分布的隨機(jī)數(shù)據(jù)的產(chǎn)生(binornd)正態(tài)分布的隨機(jī)數(shù)據(jù)的產(chǎn)生(normrnd)2023/3/9第一章MATLAB7簡(jiǎn)介139隨機(jī)數(shù)的產(chǎn)生舉例均勻分布的隨機(jī)數(shù)據(jù)的產(chǎn)生>>unifrnd(1,4)ans=1.6971>>unifrnd(1,10,4,4)ans=8.24381.44788.59484.95819.17561.70552.56514.06043.08706.76732.53713.82803.15382.71809.94874.2857>>2023/3/9第一章MATLAB7簡(jiǎn)介140(2)統(tǒng)計(jì)量的數(shù)字特征平均值和中位數(shù)(mean、geomean)數(shù)據(jù)比較(sort、sortrows、range)期望和方差(mean、var)常見(jiàn)分布的期望和方差(unifstat、binostat)協(xié)方差與相關(guān)系數(shù)(cov、corrcoee)2023/3/9第一章MATLAB7簡(jiǎn)介141統(tǒng)計(jì)量的數(shù)字特征舉例1算術(shù)平均值>>A=magic(4)A=16231351110897612414151>>mean(A)ans=8.50008.50008.50008.50002023/3/9第一章MATLAB7簡(jiǎn)介142統(tǒng)計(jì)量的數(shù)字特征舉例2樣本的方差>>B=rand(4)B=0.49660.81800.34120.83850.89980.66020.53410.56810.82160.34200.72710.37040.64490.28970.30930.7027>>var(B)ans=0.03270.06430.03750.03992023/3/9第一章MATLAB7簡(jiǎn)介143(3)參數(shù)估計(jì)常見(jiàn)分布的參數(shù)估計(jì)

β分布的極大似然估計(jì)值和置信區(qū)間正態(tài)分布的參數(shù)估計(jì)非線性模型置信區(qū)間預(yù)測(cè)高斯—牛頓法的非線性最小二乘數(shù)據(jù)擬合非線性模型的參數(shù)估計(jì)的置信區(qū)間2023/3/9第一章MATLAB7簡(jiǎn)介144參數(shù)估計(jì)舉例β分布的極大似然估計(jì)值和置信區(qū)間>>X=betarnd(7,5,150,1);>>[PHAT,PCI]=betafit(X,0.03)PHAT=7.75175.5560PCI=5.44404.053410.05947.0585>>2023/3/9第一章MATLAB7簡(jiǎn)介145(4)假設(shè)檢驗(yàn)已知單個(gè)正態(tài)分布的均值μ的假設(shè)檢驗(yàn)(U檢驗(yàn)法)σ2未知時(shí),單個(gè)正態(tài)總體的均值μ的假設(shè)檢驗(yàn)(t檢驗(yàn)法)兩個(gè)正態(tài)分布均值差的檢驗(yàn)(t檢驗(yàn))兩個(gè)分布一致性的檢驗(yàn)——秩和檢驗(yàn)2023/3/9第一章MATLAB7簡(jiǎn)介146假設(shè)檢驗(yàn)舉例某種電子元件的壽命X(以小時(shí)計(jì))服從正態(tài)分布,μ、σ2均未知?,F(xiàn)測(cè)得16只元件的壽命如下159280101212224379179264222362168250149260485170問(wèn)是否有理由認(rèn)為元件的平均壽命大于225(小時(shí))?解:未知σ2,在水平α=0.05下檢驗(yàn)假設(shè):H0:μ<μ0=225,H1:μ>225>>X=[159280101212224379179264

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論