欧美精品一二区,性欧美一级,国产免费一区成人漫画,草久久久久,欧美性猛交ⅹxxx乱大交免费,欧美精品另类,香蕉视频免费播放

基于MATLAB的數(shù)值分析.ppt

上傳人:w****2 文檔編號(hào):15068713 上傳時(shí)間:2020-08-03 格式:PPT 頁數(shù):31 大?。?57.81KB
收藏 版權(quán)申訴 舉報(bào) 下載
基于MATLAB的數(shù)值分析.ppt_第1頁
第1頁 / 共31頁
基于MATLAB的數(shù)值分析.ppt_第2頁
第2頁 / 共31頁
基于MATLAB的數(shù)值分析.ppt_第3頁
第3頁 / 共31頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于MATLAB的數(shù)值分析.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于MATLAB的數(shù)值分析.ppt(31頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、第五章 自定義函數(shù)的計(jì)算,,,,,函數(shù)的創(chuàng)建 用M文件 function f=fun(x) f=1./(1+x.2); 內(nèi)聯(lián)函數(shù) y=inline((3*x2-1)/2,x); 3.字符串表達(dá)式(函數(shù)) theta=t/2,y=sin(theta) 4.符號(hào)函數(shù),5.1 字符串?dāng)?shù)組,,一、字符串入門,,,【例1】先實(shí)際操作 本例,以體會(huì)數(shù)值量 與字符串的區(qū)別。 clear a=12345.6789 class(a) a_s=size(a),a = 1.2346e+004 ans = double a_s = 1 1,b=S class(b) b_s=size(b) b = S ans

2、= char b_s = 1 1,whos Name Size Bytes Class a 1x1 8 double array a_s 1x2 16 double array ans 1x4 8 char array b 1x1 2 char array b_s 1x2 16 double array,【例2】本例演示:串的基本屬性、標(biāo)識(shí)和簡單操作。 (1) 創(chuàng)建串?dāng)?shù)組 a=This is an example. a = This is an example.,(2)串?dāng)?shù)組a的大小 size(a) ans = 1 19,(3)串?dāng)?shù)組的元素標(biāo)識(shí) a14=a(1:4)

3、 ra=a(end:-1:1) a14 = This ra = .elpmaxe na si sihT,【例3】中文字符串?dāng)?shù)組 A=這是一個(gè)算例。; A_s=size(A) A56=A(5 6),A_s = 1 7 A56 = 算例,【例4】由小串構(gòu)成大串 b=Example 3.1.2-1 b = Example 3.1.2-1 ab=a(1:7), ,b, . ab = This is Example 3.1.2-1 .,二、復(fù)雜串?dāng)?shù)組的創(chuàng)建,【例1】多行串?dāng)?shù)組的直接輸入示例。 clear S=This string array has multiple rows. S = This

4、 string array has multiple rows. size(S) ans = 2 18,【例2】演示:用專門函數(shù)char , str2mat , strvcat 創(chuàng)建多行串?dāng)?shù)組示例。 S1=char(This string array,has two rows.) S1 = This string array has two rows.,S2=str2mat(這,字符,串?dāng)?shù)組, ,由4行組成) S2 = 這 字符 串?dāng)?shù)組 由4行組成,S3=strvcat(這,字符,串?dāng)?shù)組, ,由4行組成),5.2 串演算函數(shù),,,,,,為了提高計(jì)算的靈活性,MATLAB提供了一種利用 字符

5、串進(jìn)行計(jì)算的能力。利用字符串可以構(gòu)成函數(shù),可以在運(yùn)行中改變所執(zhí)行的指令,可以被泛涵指令調(diào)用實(shí)現(xiàn)比較復(fù)雜的求零點(diǎn)、求極值等運(yùn)算。,一、 eval,y=eval(CEM) y1,y2,=eval(CEM),注: (1) eval指令的輸入宗量必須是字符串。 (2)構(gòu)成字符串的CEM,可以是MATLAB任何合 法的指令、表達(dá)式、語句、或M文件名。 (3)第二種格式中的CEM只能是(包含輸入宗量 在內(nèi)的) M函數(shù)文件名。,【例】計(jì)算“語句”串,創(chuàng)建變量。 clear,t=pi; eval(theta=t/2,y=sin(theta)); theta = 1.5708 y = 1,【例】計(jì)算“

6、表達(dá)式”串,產(chǎn)生向量值。 clear,t=pi;cem=t/2,t*2,sin(t);y=eval(cem) y = 1.5708 6.2832 0.0000,【例】計(jì)算“替代”串。 A=ones(2,1);B=ones(1,3);c=eval(B*A,A*B),errmessage=lasterr c = 1 1 1 1 1 1 errmessage = Error using == * Inner matrix dimensions must agree.,【例】計(jì)算“合成”串。 CEM=cos,sin,tan; for k=1:3 theta=pi*k/12; y(1,k)=

7、eval(CEM1,(,num2str(theta),)); end y y = 0.9659 0.8660 0.7071,y1,y2,=feval(F,arg1,arg2,) F 可以是函數(shù)句柄,函數(shù)名字符串,內(nèi)聯(lián)函數(shù) feval與函數(shù)句柄配套使用,【例】對字符串類型函數(shù)只能用eval ,而不能用feval。 x=pi/4; Ve=eval(1+sin(x)) Ve = 1.7071 Vf=feval(1+sin(x),x) ??? Error using == feval Invalid function name 1+sin(x).,二、 feval,【例】函數(shù)句柄只能被feval

8、運(yùn)用,而不能被eval 調(diào)用。 (1)函數(shù)句柄被feval調(diào)用 rand(seed,1);A=rand(2,2); Heig=eig; d=feval(Heig,A) d = 0.7568 -0.1488,(2)eval不能對函數(shù)句柄進(jìn)行操作 de=eval(Heig,A) ??? Error using == eval Function eval not defined for variables of class function_handle.,(3)feval能對函數(shù)名字符串進(jìn)行操作 dn=feval(eig, A) dn = 0.7568 -0.1488,dn=feval(sin

9、, pi/2) dn = 1,【例】feval 和eval 調(diào)用區(qū)別:feval 的FN只接受函數(shù)名。 本例兩種方法以后者為好。 randn(seed,1);A=rand(2,2); ue,de,ve=eval(svd(A)); disp(Results by eval); disp(ue,de,ve);disp(blanks(1)) uf,df,vf=feval(svd,A); disp(Results by feval);disp(uf,df,vf) Results by eval -0.9193 -0.3936 1.2212 0 -0.7897 -0.6135 -0.3936 0

10、.9193 0 0.2633 -0.6135 0.7897 Results by feval -0.9193 -0.3936 1.2212 0 -0.7897 -0.6135 -0.3936 0.9193 0 0.2633 -0.6135 0.7897,三、 內(nèi)聯(lián)函數(shù) inline(CE) inline(CE,arg1,arg2,) inline(CE,n),注: CE字符串, CE必須是不包含賦值號(hào)=的表達(dá) 式。 (2)內(nèi)聯(lián)函數(shù)是溝通eval,feval兩個(gè)不同指令的橋梁。 凡eval可以運(yùn)作的表達(dá)式,都可以通過inline轉(zhuǎn)化為內(nèi)聯(lián)函數(shù),而

11、這種內(nèi)聯(lián)函數(shù)總可以被feval使用。 (3)第三種調(diào)用格式最簡練,但對輸入宗量的字符限制嚴(yán)格。輸入宗量的字符只能是x,P1,P2,,Pn.,,(2)使適應(yīng)數(shù)組運(yùn)算規(guī)則 GG=vectorize(G) GG = Inline function: GG(a,x,y) = a.*exp(x).*cos(y) GG(2,1,2,pi/3,pi) ans = 2.7183 -14.7781,【例】用內(nèi)聯(lián)函數(shù)對象實(shí)現(xiàn)。 (1)創(chuàng)建帶一個(gè)參量的二元函數(shù) G=inline(a*exp(x)*cos(y),a,x,y);,【例】演示:內(nèi)聯(lián)函數(shù)的第一種創(chuàng)建格式;使內(nèi)聯(lián)函數(shù)適于“數(shù)組運(yùn)算”。 clear,F1

12、=inline(sin(rho)/rho) F1 = Inline function: F1(rho) = sin(rho)/rho f1=F1(2) f1 = 0.4546 FF1=vectorize(F1) xx=0.5,1,1.5,2;ff1=FF1(xx) FF1 = Inline function: FF1(rho) = sin(rho)./rho ff1 = 0.9589 0.8415 0.6650 0.4546,【例】演示:產(chǎn)生向量輸入、向量輸出的內(nèi)聯(lián)函數(shù); 這種向量函數(shù)的調(diào)用方法。 Y2=inline(x(1)2;3*x(1)*sin(x(2))) argnames

13、(Y2) Y2 = Inline function: Y2(x) = x(1)2;3*x(1)*sin(x(2)) ans = x x=4,pi/6; y2=Y2(x) y2 = 16.0000 6.0000,【例】演示:最簡練格式創(chuàng)建內(nèi)聯(lián)函數(shù);內(nèi)聯(lián)函數(shù)可 被feval 指令調(diào)用。 Z2=inline(P1*x*sin(x2+P2),2) Z2 = Inline function: Z2(x,P1,P2) = P1*x*sin(x2+P2) z2=Z2(2,2,3) fz2=feval(Z2,2,2,3) z2 = 2.6279 fz2 = 2.6279,5.3 函數(shù)句柄,

14、引入函數(shù)句柄使“函數(shù)調(diào)用”像“變量調(diào)用”一樣靈活方便。,一、函數(shù)句柄的創(chuàng)建 (1) 利用符號(hào) (2) 利用轉(zhuǎn)換函數(shù)str2func,,【例】為MATLAB的“內(nèi)建”函數(shù)創(chuàng)建函數(shù)句柄,并觀察其內(nèi)涵。 (1)創(chuàng)建函數(shù)句柄 hsin=sin; (2)類型判別 class(hsin) size(hsin) ans = function_handle ans = 1 1,,,二、函數(shù)句柄的基本用法 ao1,ao2,,aon=FunName(ai1,ai2,,ain) Hfun=FunName; ao1,ao2,,aon=feval(Hfun,ai1,ai2,,ain),【例】本例通過si

15、n函數(shù)及其句柄演示若干基本用法。 (1)函數(shù)句柄的創(chuàng)建 fhandle=str2func(sin); (2)函數(shù)句柄在“數(shù)值計(jì)算”中的情況 ys=sin(pi/4) yfold=feval(sin,pi/4) yfnew=feval(fhandle,pi/4) ys = 0.7071 yfold = 0.7071 yfnew = 0.7071,(3)函數(shù)句柄在“符號(hào)計(jì)算”中的情況 Alpha=sym(pi/4); yss=sin(Alpha) yfold=feval(sin,Alpha) ynews=feval(fhandle,Alpha) yss = 1/2*2(1/2) yfold

16、 = 1/2*2(1/2) ynews = 1/2*2(1/2),(4)函數(shù)句柄在泛函指令中的用法 在0,2間求sin函數(shù)的極小值點(diǎn)的位置。 xold=fminbnd(sin,0,2*pi) xnew=fminbnd(fhandle,0,2*pi) xold = 4.7124 xnew = 4.7124,【例】自建函數(shù)及其句柄的使用。通過本例可看到:只要在當(dāng)前MATLAB工作空間中存在函數(shù)句柄,那末不管該函數(shù)當(dāng)前是否在搜索范圍內(nèi),均可通過函數(shù)句柄實(shí)現(xiàn)正確的運(yùn)作。 (1)zzy076_3.m function Hr=zzy076_3(flag ) % ZZY076_3 為演示函數(shù)、子函數(shù)句柄

17、而設(shè)計(jì)的繪圖文件。 % flag 可以取字符串line或 circle。 t=(0:100)/100*2*pi; x=sin(t); y=cos(t); Hr=cirline; %創(chuàng)建子函數(shù)的句柄 feval(Hr,flag,x,y,t),%-------------subfunction--------------------- function cirline(wd,x,y,t) % wd 接受字符串line或circle % t 畫線用的獨(dú)立參變量 % x 由t產(chǎn)生的橫坐標(biāo)變量 % y 由t產(chǎn)生的縱坐標(biāo)變量 switch wd case line plot(t,x,b

18、 ,t,y,r,LineWidth,2) case circle plot(x,y,g.,MarkerSize,30), axis square off otherwise error(輸入宗量只能取 line 或 circle ! ) end shg,(2) Hzzy076_3=zzy076_3 zzy076_3(line); Hzzy076_3 = zzy076_3,,HCL=zzy076_3(circle) HCL = cirline,,,【例】用簡單算例演示subs的置換規(guī)則。 syms x;f=2*sin(x)+5; f2=subs(f,x,pi/3) f2 = 6.7321,5.4 符號(hào)函數(shù),

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!