MATLAB教程-第六章.ppt
《MATLAB教程-第六章.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《MATLAB教程-第六章.ppt(131頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第六章數(shù)值計(jì)算 MATLAB提供大量具有強(qiáng)大數(shù)值計(jì)算功能的函數(shù) 本章著重介紹關(guān)于數(shù)值計(jì)算的函數(shù) 目錄 6 1多項(xiàng)式運(yùn)算6 2插值運(yùn)算6 3數(shù)據(jù)分析6 4功能函數(shù)6 5微分方程組數(shù)值解習(xí)題 6 1多項(xiàng)式運(yùn)算 1 多項(xiàng)式表示法2 多項(xiàng)式求值3 多項(xiàng)式乘法和除法4 多項(xiàng)式的微積分 5 多項(xiàng)式的根和由根創(chuàng)建多6 多項(xiàng)式部分分式展開(kāi)7 多項(xiàng)式曲線擬合8 多曲線擬合圖形用戶接口 MATLAB提供了關(guān)于多項(xiàng)式的函數(shù) 多項(xiàng)式的值 多項(xiàng)式的根和微分 多項(xiàng)式擬合曲線 部分分式 多項(xiàng)式函數(shù) 1 多項(xiàng)式表示法 MATLAB采用行向量表示多項(xiàng)式系數(shù) 多項(xiàng)式系數(shù)按降冪排列 函數(shù)poly2str 將多項(xiàng)式系數(shù)向量轉(zhuǎn)換為完整形式 2 多項(xiàng)式求值 函數(shù)polyval 計(jì)算多項(xiàng)式的值 其具體使用方法如下 y polyval p x p為多項(xiàng)式系數(shù)行向量 x代入多項(xiàng)式的值 Y polyvalm p X 把矩陣X代入多項(xiàng)式p中進(jìn)行計(jì)算 3 多項(xiàng)式乘法和除法 函數(shù)conv 和deconv 進(jìn)行多項(xiàng)式乘法和除法 其具體使用方法如下 w conv u v 實(shí)現(xiàn)多項(xiàng)式乘法 返回結(jié)果多項(xiàng)式的系數(shù)行向量 q r deconv u v 實(shí)現(xiàn)多項(xiàng)式除法 4 多項(xiàng)式的微積分 1 多項(xiàng)式的微分函數(shù)polyder 計(jì)算多項(xiàng)式的微分 其具體使用方法如下 k polyder p 返回多項(xiàng)式p微分的系數(shù)向量 k polyder a b 返回多項(xiàng)式ab乘積微分的系數(shù)向量 q d polyder b a 返回多項(xiàng)式b a微分的系數(shù)向量 2 多項(xiàng)式的積分 函數(shù)polyint 計(jì)算多項(xiàng)式的不定積分 其具體使用方法如下 s polyint p k 返回多項(xiàng)式p不定積分的系數(shù)向量 5 多項(xiàng)式的根和由根創(chuàng)建多項(xiàng)式 1 多項(xiàng)式的根函數(shù)roots 求多項(xiàng)式的根 其具體使用方法如下 r roots c 返回多項(xiàng)式c的所有根r 2 由根創(chuàng)建多項(xiàng)式函數(shù)poly 實(shí)現(xiàn)由根創(chuàng)建多項(xiàng)式 其具體使用方法如下 p poly r 輸入r是多項(xiàng)式所有根 返回值為多項(xiàng)式的系數(shù)向量 p poly A 輸入A是方陣 返回值為A的特征多項(xiàng)式的系數(shù)向量 6 多項(xiàng)式部分分式展開(kāi) 函數(shù)residue 將多項(xiàng)式之比按部分分式展開(kāi) 其具體使用方法如下 r p k residue b a 求多項(xiàng)式b a的部分分式展開(kāi) b a residue r p k 從部分分式得到多項(xiàng)式向量 7 多項(xiàng)式曲線擬合 函數(shù)polyfit 采用最小二乘法對(duì)給定數(shù)據(jù)進(jìn)行多項(xiàng)式擬合 其具體使用方法如下 p polyfit x y n 采用n次多項(xiàng)式p來(lái)擬合數(shù)據(jù)x和y 運(yùn)行結(jié)果如下圖所示 8 多曲線擬合圖形用戶接口 曲線擬合的圖形用戶接口可通過(guò)圖形窗口的 Tools 菜單中 BasicFitting 選項(xiàng)啟動(dòng) 運(yùn)行結(jié)果如下圖所示 6 2插值運(yùn)算 6 2 1一維插值6 2 2二維插值 插值是根據(jù)已知輸入 輸出數(shù)據(jù)集和當(dāng)前輸入估計(jì)輸出值 MATLAB提供大量的插值函數(shù) 如下表所示 插值函數(shù) 6 2 1一維插值 一維插值就是對(duì)函數(shù)y f x 進(jìn)行插值 一維插值的原理如下圖所示 函數(shù)interp1 實(shí)現(xiàn)一維插值 其具體使用方法如下 yi interp1 x y xi x y是已知數(shù)據(jù)集且具有相同長(zhǎng)度的向量 yi interp1 y xi 默認(rèn)x為1 n 其中n為向量y的長(zhǎng)度 yi interp1 x y xi method method用于指定插值的方法 運(yùn)行結(jié)果如下圖所示 6 2 2二維插值 二維插值是對(duì)兩變量的函數(shù)z f x y 進(jìn)行插值 二維插值的原理如下圖所示 函數(shù)interp2 實(shí)現(xiàn)二維插值 其具體使用方法如下 zi interp2 x y z xi yi x y z為原始數(shù)據(jù) 返回值z(mì)i是插值結(jié)果 zi interp2 z xi yi 若z n m 則x 1 n y 1 m zi interp2 x y z xi yi method method用于指定插值的方法 運(yùn)行結(jié)果如下圖所示 6 3數(shù)據(jù)分析 6 3 1基本數(shù)據(jù)分析函數(shù)6 3 2協(xié)方差和相關(guān)系數(shù)矩陣6 3 3有限差分和梯度6 3 4信號(hào)濾波和卷積6 3 5傅立葉變換 MATLAB提供大量數(shù)據(jù)分析的函數(shù) 首先給出如下約定 一維數(shù)據(jù)分析時(shí) 數(shù)據(jù)可以用行向量或者列向量來(lái)表示 二維數(shù)據(jù)分析時(shí) 數(shù)據(jù)可以用多個(gè)向量或者二維矩陣來(lái)表示 6 3 1基本數(shù)據(jù)分析函數(shù) 1 最大值 最小值 平均值 中間值 元素求和2 標(biāo)準(zhǔn)差和方差3 元素排序 基本數(shù)據(jù)分析函數(shù) 續(xù)表 1 最大值 最小值 平均值 中間值 元素求和 運(yùn)行結(jié)果如下 并如下圖所示 2 標(biāo)準(zhǔn)差和方差 3 元素排序 MATLAB提供對(duì)實(shí)數(shù) 復(fù)數(shù)和字符串的排序函數(shù) 函數(shù)sort 實(shí)現(xiàn)數(shù)值的排序 函數(shù)sortrows 實(shí)現(xiàn)對(duì)行的排序 6 3 2協(xié)方差和相關(guān)系數(shù)矩陣 函數(shù)cov 計(jì)算隨機(jī)變量的協(xié)方差矩陣 其具體使用方法如下 C cov X 計(jì)算X代表的隨機(jī)變量的協(xié)方差矩陣 C cov x y x和y必須是具有相同長(zhǎng)度的向量 C cov X 1 計(jì)算X代表的隨機(jī)變量的協(xié)方差矩陣 C cov x y 1 x和y必須是具有相同長(zhǎng)度的向量 函數(shù)corrcoef 計(jì)算隨機(jī)變量的相關(guān)系數(shù)矩陣 其具體使用方法如下 R corrcoef X 返回X代表的隨機(jī)變量的相關(guān)系數(shù)矩陣 R corrcoef x y x和y必須是具有相同長(zhǎng)度的向量 6 3 3有限差分和梯度 函數(shù)diff 計(jì)算差分 其具體使用方法如下 Y diff X X可以是向量或矩陣 Y diff X n 返回n階差分 Y diff X n dim 返回在dim維上的n階差分 運(yùn)行結(jié)果如下圖所示 函數(shù)gradient 計(jì)算梯度 其具體使用方法如下 FX gradient F 返回F在x方向上的梯度 FX FY gradient F FX是F在x方向的近似偏導(dǎo)數(shù) FY是F在y方向的近似偏導(dǎo)數(shù) Fx Fy Fz gradient F 返回N個(gè)方向的近似偏導(dǎo)數(shù) gradient F h h用于指定所有方向上自變量的間距 gradient F h1 h2 用多個(gè)標(biāo)量來(lái)指定各個(gè)方向上自變量的間距 運(yùn)行結(jié)果如下圖所示 6 3 4信號(hào)濾波和卷積 1 一維數(shù)字濾波2 信號(hào)卷積3 去除信號(hào)直流或線性成分 MATLAB提供如下表所示的信號(hào)濾波和卷積的函數(shù) 信號(hào)濾波和卷積函數(shù) 1 一維數(shù)字濾波 函數(shù)filter 實(shí)現(xiàn)一維數(shù)字濾波 該函數(shù)的具體使用方法如下 y filter b a X X為用于濾波的數(shù)據(jù) Y為數(shù)據(jù)X通過(guò)濾波器之后的值 y zf filter b a X 附加返回一個(gè)表示數(shù)據(jù)延遲時(shí)間的量zf y zf filter b a X zi zi為初始數(shù)據(jù)延遲 zf等于最終數(shù)據(jù)延遲 y filter b a X zi dim 在dim維上進(jìn)行數(shù)據(jù)濾波 2 信號(hào)卷積 函數(shù)conv 計(jì)算卷積 運(yùn)行結(jié)果如下圖所示 3 去除信號(hào)直流或線性成分 detrend 函數(shù)實(shí)現(xiàn)去除信號(hào)中的直流或者線性成分 其具體使用方法如下 y detrend x 如果x是一個(gè)向量 從信號(hào)x中減去線性成分 如果x是一個(gè)矩陣 去除x所有列中的線性成分 y detrend x constant 如果x是一個(gè)向量 減去信號(hào)中的直流成分 如果x是一個(gè)矩陣 去除所有列中的直流成分 y detrend x linear bp 從信號(hào)x中減去分段線性函數(shù) 6 3 5傅立葉變換 1 一維傅立葉變換和逆變換2 二維傅立葉變換和逆變換 傅立葉變換既可以對(duì)連續(xù)信號(hào)進(jìn)行變換 也可以對(duì)離散信號(hào)進(jìn)行變換 本小節(jié)只介紹離散傅立葉變換 傅立葉變換函數(shù) 1 一維傅立葉變換和逆變換 函數(shù)fft 實(shí)現(xiàn)一維離散傅立葉變換 其具體使用方法如下 Y fft X 如果X是向量 返回向量X的傅立葉變換 如果X是矩陣 函數(shù)對(duì)矩陣X的每一列進(jìn)行傅立葉變換 Y fft X n 用輸入n指定傅立葉變換的長(zhǎng)度 Y fft X dim 在dim維上進(jìn)行傅立葉變換 Y fft X n dim 在dim維上進(jìn)行傅立葉變換 并指定傅立葉變換的長(zhǎng)度 函數(shù)ifft 實(shí)現(xiàn)一維離散傅立葉逆變換 其具體使用方法與函數(shù)fft 類(lèi)似 只是添加一個(gè)選項(xiàng) y ifft symmetric y ifft nonsymmetric 2 二維傅立葉變換和逆變換 函數(shù)fft2 實(shí)現(xiàn)二維傅立葉變換 用函數(shù)ifft2來(lái)實(shí)現(xiàn)二維傅立葉逆變換 函數(shù)fft2 的具體使用方法如下 Y fft2 X X是矩陣 對(duì)矩陣X進(jìn)行二維傅立葉變換 Y fft2 X m n m和n指定傅立葉變換的長(zhǎng)度 6 4功能函數(shù) 1 函數(shù)的表示2 函數(shù)畫(huà)圖3 函數(shù)最小值和零點(diǎn)4 數(shù)值積分5 在功能函數(shù)中使用含參函數(shù) 函數(shù)可以通過(guò)以下方式來(lái)表示 M文件 匿名函數(shù) 函數(shù)inline 1 函數(shù)的表示 2 函數(shù)畫(huà)圖 MATLAB提供函數(shù)畫(huà)圖的函數(shù)如下表所示 函數(shù)畫(huà)圖的函數(shù) 以函數(shù)fplot 為例介紹畫(huà)圖函數(shù)的用法 其具體使用方法如下 fplot function limits function為待畫(huà)圖的函數(shù) limits是橫坐標(biāo)數(shù)值范圍或橫縱坐標(biāo)數(shù)值范圍 fplot function limits LineSpec LineSpec指定畫(huà)圖的線條屬性 fplot function limits tol tol指定畫(huà)圖相對(duì)精度 fplot function limits tol LineSpec 指定畫(huà)圖的線條屬性和畫(huà)圖相對(duì)精度 運(yùn)行結(jié)果如下圖所示 3 函數(shù)最小值和零點(diǎn) 求函數(shù)的最小值和零點(diǎn)的函數(shù) 如下表所示 求函數(shù)最小值和零點(diǎn) 1 求一元函數(shù)最小值 函數(shù)fminbnd 求一元函數(shù)在給定區(qū)間內(nèi)的最小值 其具體使用方法如下 x fminbnd fun x1 x2 在區(qū)間 x1x2 內(nèi)尋找函數(shù)最小值 x fminbnd fun x1 x2 options 使用options選項(xiàng)來(lái)指定的優(yōu)化器的參數(shù) x fval fminbnd 附加返回函數(shù)最小值 2 求多元函數(shù)的最小值 函數(shù)fminsearch 求多元函數(shù)的最小值 其具體使用方法如下 x fminsearch fun x0 在初始x0附近尋找局部最小值 x fminsearch fun x0 options 使用options選項(xiàng)來(lái)指定優(yōu)化器的參數(shù) x fval fminsearch 附加返回函數(shù)最小值 3 求一元函數(shù)的零點(diǎn) 函數(shù)fzero 求一元函數(shù)的零點(diǎn) 其具體使用方法如下 x fzero fun x0 在x0點(diǎn)附近尋找函數(shù)的零點(diǎn) x fzero fun x0 x1 在 x0 x1 區(qū)間內(nèi)尋找函數(shù)的零點(diǎn) x fzero fun x0 options 用options指定尋找零點(diǎn)的優(yōu)化器參數(shù) x fval fzero 附加自變量為x時(shí)的函數(shù)值 4 優(yōu)化器參數(shù) 函數(shù)optimset 設(shè)定優(yōu)化器參數(shù) 其具體使用方法如下 options optimset param1 value1 param2 value2 用參數(shù)名和對(duì)應(yīng)的參數(shù)值設(shè)定優(yōu)化器的參數(shù) optimset 顯示優(yōu)化器的所有參數(shù)名和有效的參數(shù)值 options optimset 返回一個(gè)優(yōu)化器的結(jié)構(gòu)體 options optimset optimfun 返回函數(shù)optimfun 對(duì)應(yīng)的優(yōu)化器參數(shù) options optimset oldopts param1 value1 在原優(yōu)化器參數(shù)oldopts的基礎(chǔ)上 改動(dòng)指定優(yōu)化器參數(shù) options optimset oldopts newopts 用newopts的所有非空參數(shù)覆蓋oldopts中的值 在函數(shù)optimset 中常用的優(yōu)化器參數(shù)如下表所示 優(yōu)化器參數(shù) 函數(shù)optimget 得到目前優(yōu)化器的參數(shù) 其具體使用方法如下 val optimget options param 返回優(yōu)化器參數(shù) param 的值 val optimget options param default 返回優(yōu)化器參數(shù) param 的值 4 數(shù)值積分 MATLAB提供一些的數(shù)值積分函數(shù) 如下表所示 數(shù)值積分函數(shù) 1 一元函數(shù)的數(shù)值積分 函數(shù)quad 和函數(shù)quadl 來(lái)計(jì)算一元函數(shù)的積分 函數(shù)quad 的具體使用方法如下 q quad fun a b 計(jì)算函數(shù)fun在 ab 區(qū)間內(nèi)的定積分 q quad fun a b tol 以絕對(duì)誤差容限tol計(jì)算函數(shù)fun在 ab 區(qū)間內(nèi)的定積分 q quad fun a b tol trace 當(dāng)trace為非零值時(shí) 顯示迭代過(guò)程的中間值 2 矢量數(shù)值積分 矢量數(shù)值積分等價(jià)于多個(gè)一元定積分 3 二重和三重積分 函數(shù)dblquad 計(jì)算二重積分 其具體使用方法如下 q dblquad fun xmin xmax ymin ymax 計(jì)算二元函數(shù)的二重積分 q dblquad fun xmin xmax ymin ymax tol 用tol指定絕對(duì)計(jì)算精度 q dblquad fun xmin xmax ymin ymax tol method 用method指定計(jì)算一維積分時(shí)采用的函數(shù) 5 在功能函數(shù)中使用含參函數(shù) 功能函數(shù)中的含參函數(shù)的兩種解決方法 嵌套函數(shù)匿名函數(shù) 編寫(xiě)M文件的函數(shù)時(shí) 首先將含參函數(shù)的參數(shù)作為輸入 其次在其中調(diào)用功能函數(shù) 形成嵌套 最后通過(guò)調(diào)用該函數(shù)進(jìn)行計(jì)算 1 用嵌套函數(shù)提供函數(shù)參數(shù) 運(yùn)行結(jié)果如下圖所示 2 用匿名函數(shù)提供函數(shù)參數(shù) 用匿名函數(shù)提供函數(shù)參數(shù)的具體步驟如下 創(chuàng)建一個(gè)含參函數(shù) 并保存為M文件格式 調(diào)用功能函數(shù)的M文件中給參數(shù)賦值 用含參函數(shù)創(chuàng)建匿名函數(shù) 把匿名函數(shù)句柄傳遞給功能函數(shù)計(jì)算 6 5微分方程組數(shù)值解 6 5 1常微分方程組的初值問(wèn)題6 5 2延遲微分方程的問(wèn)題6 5 3常微分方程組的邊界問(wèn)題 在MATLAB中 可以計(jì)算微分方程數(shù)值解 如 常微分方程組的初值問(wèn)題 延遲微分方程的問(wèn)題 常微分方程組的邊界問(wèn)題 6 5 1常微分方程組的初值問(wèn)題 1 顯式常微分方程組2 設(shè)置解法器參數(shù)3 線性隱式常微分方程組4 完全隱式常微分方程組 在MATLAB中可以計(jì)算以下初值問(wèn)題的數(shù)值解 顯式常微分方程組 線性隱式常微分方程組 完全隱式常微分方程組 1 顯式常微分方程組 在MATLAB中 用函數(shù)實(shí)現(xiàn)不同的解法 如下表所示 常微分方程組解法對(duì)比 2 設(shè)置解法器參數(shù) 函數(shù)odeset 設(shè)定解法器參數(shù) 其具體使用方法如下 options odeset name1 value1 name2 value2 用參數(shù)名和相應(yīng)參數(shù)值設(shè)定解法器的參數(shù) options odeset oldopts name1 value1 修改原來(lái)的解法器options結(jié)構(gòu)體oldopts options odeset oldopts newopts 合并兩個(gè)解法器options結(jié)構(gòu)體oldopts和newopts odeset 顯示所有的參數(shù)值和它們的默認(rèn)值 常微分方程組解法器參數(shù) 3 線性隱式常微分方程組 線性隱式常微分方程組可以利用解法器參數(shù)options來(lái)求解 運(yùn)行結(jié)果如下圖所示 4 完全隱式常微分方程組 函數(shù)ode15i 求解完全隱式常微分方程組 其具體使用方法如下 t Y ode15i odefun tspan y0 yp0 t Y ode15i odefun tspan y0 yp0 options 函數(shù)decic 得到自洽初始值 其具體使用方法如下 y0mod yp0mod decic odefun t0 y0 fixed y0 yp0 fixed yp0 y0mod yp0mod decic odefun t0 y0 fixed y0 yp0 fixed yp0 options 運(yùn)行結(jié)果如下圖所示 6 5 2延遲微分方程的問(wèn)題 函數(shù)dde23 求解延遲微分方程組 其具體使用方法如下 sol dde23 ddefun lags history tspan sol dde23 ddefun lags history tspan option option結(jié)構(gòu)體用于設(shè)置解法器的參數(shù) 函數(shù)dde23 的返回值是一個(gè)結(jié)構(gòu)體 它包含7個(gè)屬性 其中重要的5個(gè)屬性如下 sol x dde23選擇計(jì)算的時(shí)間點(diǎn) sol y 在時(shí)間點(diǎn)x上的解y x sol yp 在時(shí)間點(diǎn)x上解的一階導(dǎo)數(shù)y x sol history 方程初始值 sol solver 解法器的名字 dde23 若需得到tint時(shí)刻的解 可以使用函數(shù)deval 即yint deval sol tint 6 5 3常微分方程組的邊界問(wèn)題 函數(shù)bvp4c 的具體使用方法如下 sol bvp4c odefun bcfun solinit odefun代表常微分方程組的函數(shù) bcfun是描述邊界條件的函數(shù) solinit是對(duì)方程解的猜測(cè)解 sol bvp4c odefun bcfun solinit options 使用options結(jié)構(gòu)體來(lái)設(shè)定解法器的參數(shù) 運(yùn)行結(jié)果如下圖所示 習(xí)題- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- MATLAB 教程 第六
鏈接地址:http://www.820124.com/p-6279662.html