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

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

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

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

9.9 積分

下載資源

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

資源描述:

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

1、第五章 自定義函數(shù)的計算,,,,,函數(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.字符串表達式(函數(shù)) theta=t/2,y=sin(theta) 4.符號函數(shù),5.1 字符串數(shù)組,,一、字符串入門,,,【例1】先實際操作 本例,以體會數(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】本例演示:串的基本屬性、標識和簡單操作。 (1) 創(chuàng)建串數(shù)組 a=This is an example. a = This is an example.,(2)串數(shù)組a的大小 size(a) ans = 1 19,(3)串數(shù)組的元素標識 a14=a(1:4)

3、 ra=a(end:-1:1) a14 = This ra = .elpmaxe na si sihT,【例3】中文字符串數(shù)組 A=這是一個算例。; 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ù)雜串數(shù)組的創(chuàng)建,【例1】多行串數(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)建多行串數(shù)組示例。 S1=char(This string array,has two rows.) S1 = This string array has two rows.,S2=str2mat(這,字符,串數(shù)組, ,由4行組成) S2 = 這 字符 串數(shù)組 由4行組成,S3=strvcat(這,字符,串數(shù)組, ,由4行組成),5.2 串演算函數(shù),,,,,,為了提高計算的靈活性,MATLAB提供了一種利用 字符

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

6、表達式”串,產(chǎn)生向量值。 clear,t=pi;cem=t/2,t*2,sin(t);y=eval(cem) y = 1.5708 6.2832 0.0000,【例】計算“替代”串。 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.,【例】計算“合成”串。 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、運用,而不能被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ù)句柄進行操作 de=eval(Heig,A) ??? Error using == eval Function eval not defined for variables of class function_handle.,(3)feval能對函數(shù)名字符串進行操作 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必須是不包含賦值號=的表達 式。 (2)內(nèi)聯(lián)函數(shù)是溝通eval,feval兩個不同指令的橋梁。 凡eval可以運作的表達式,都可以通過inline轉(zhuǎn)化為內(nèi)聯(lián)函數(shù),而

11、這種內(nèi)聯(lián)函數(shù)總可以被feval使用。 (3)第三種調(diào)用格式最簡練,但對輸入宗量的字符限制嚴格。輸入宗量的字符只能是x,P1,P2,,Pn.,,(2)使適應(yīng)數(shù)組運算規(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ù)對象實現(xiàn)。 (1)創(chuàng)建帶一個參量的二元函數(shù) G=inline(a*exp(x)*cos(y),a,x,y);,【例】演示:內(nèi)聯(lián)函數(shù)的第一種創(chuàng)建格式;使內(nèi)聯(lián)函數(shù)適于“數(shù)組運算”。 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) 利用符號 (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ù)值計算”中的情況 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ù)句柄在“符號計算”中的情況 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ù)的極小值點的位置。 xold=fminbnd(sin,0,2*pi) xnew=fminbnd(fhandle,0,2*pi) xold = 4.7124 xnew = 4.7124,【例】自建函數(shù)及其句柄的使用。通過本例可看到:只要在當前MATLAB工作空間中存在函數(shù)句柄,那末不管該函數(shù)當前是否在搜索范圍內(nèi),均可通過函數(shù)句柄實現(xiàn)正確的運作。 (1)zzy076_3.m function Hr=zzy076_3(flag ) % ZZY076_3 為演示函數(shù)、子函數(shù)句柄

17、而設(shè)計的繪圖文件。 % 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 畫線用的獨立參變量 % x 由t產(chǎn)生的橫坐標變量 % y 由t產(chǎn)生的縱坐標變量 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 符號函數(shù),

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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