版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第五章
自定義函數(shù)的計(jì)算函數(shù)的創(chuàng)建1.用M文件function
f=fun(x)內(nèi)聯(lián)函數(shù)y=inline("(3*x^2-1)/2","x");字符串表達(dá)式(函數(shù))"theta=t/2,y=sin(theta)‘4.符號(hào)函數(shù)Evaluation
only.ated
withfA=1s.p/o(s1e+.xS.l^i2)d);es
for
.NET
3.5
Client
ProCopyright
2004-2011
Aspose
Pty
Ltd.5.1
字符串?dāng)?shù)組一、字符串入門【例1】先實(shí)際操作cleara=12345.6789class(a)a_s=size(a)a
=1.2346e+004ans
=doublea_s
=1
1b="S"b
=Sans
=charb_s
=1
1Evaluation
only.ate本d例wi,t以h以A體s會(huì)po數(shù)se值.S量lidesfor.NETc3l.a5ssC(lbi)entPro與字?符Co串py的ri區(qū)g別ht。2004-2011
Asposbeb_Pst=ysiLzted(b.b)whosNameSizeBytes
Classa1x18double
arraya_s1x216
double
arrayans1x48 char
arrayb
1x12
c?hEavraalruraatyion
only.atedb_wsith1Axs2po1s6e.dSoluibdleesarfroary
.NET
3.5
Client
ProCopyright
2004-2011
Aspose
Pty
Ltd.【例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的大小ans
=Evaluation
only.atesdsiwziet(ah)Aspose.Slides
for
.NET
3.5
Client
Pro?1Co1p9yright
2004(-230)1串1
數(shù)A數(shù)s組po的se元P素ty標(biāo)L識(shí)td.a14=a(1:4)ra=a(end:-1:1)a14
=Thisra
=.elpmaxe
na
si
sihT【例3】中文字符串?dāng)?shù)組
A="這是一個(gè)算例。";
A_s=size(A)A56=A([5
6])A_s
=1
7A56
=算例Example
"3.1.2-1"ab=[a(1:7),"
",b,"
."]ab
=This
is
Example
"3.1.2-1"
.【例4】由小串構(gòu)?E成va大lu串a(chǎn)tiononly.atebd="wEixtahmpAlsep"o"s3e..1S.2l-i1d"e"s"for.NET3.5ClientProb
=
?Copyright
2004-2011
Aspose
Pty
Ltd.二、復(fù)雜串?dāng)?shù)組的創(chuàng)建【例1】多行串?dāng)?shù)組的直接輸入示例。
clearS=["This
string
array
""has
multiple
rows."]S
=has
multiple
rows.2
18Evaluation
only.ateTdhiwsitsthrAisngpgoasrera.aySlides
for
.NET
3.5
Client
Prosiz?eC(oS)p)yright
2004-2011
Aspose
Pty
Ltd.ans
=【例2】演示:用專門函數(shù)char,str2mat,strvcat創(chuàng)建多行串?dāng)?shù)組示例。。S2
=由4行組成S3=strvcat("這","字符","串?dāng)?shù)組","","由4行組成")S1=char("This
string
array","has
two
rows.")S1
=This
string
arrayhas
two
rows.S2=str2mat(‘這’,‘?‘E字v符a’l,u‘a(chǎn)串t數(shù)i組o’n,‘on’l,y"由.4行組成")ated
with
Aspose.Slides
for
.NET
3.5
Client
Pro這?Copyright
2004-2011
Aspose
Pty
Ltd.字符
串?dāng)?shù)組5.2
串演算函數(shù)為了提高計(jì)算的靈活性,MATLAB提供了一種利用字符串進(jìn)行計(jì)算?的Ev能al力u。a。t利io用n字on符ly串.可以構(gòu)成函數(shù),ate可d以wi在t運(yùn)h運(yùn)A行s中po改se變.S所l執(zhí)i執(zhí)d行es的f指or令.,NE可T以3.被5泛Cl涵ie指n令tP調(diào)ro用實(shí)?現(xiàn)Co比py較ri復(fù)g雜ht的2求00零4-點(diǎn)20、1求1極A極s值po等se運(yùn)P算ty。Ltd.一、evaly=eval(‘CEM’)[y1,y2,…]=eval(‘CEM’)法的指令、表達(dá)式、語句、或M文件名。
(3)第二種格式中的CEM只能是(包含輸入宗量在內(nèi)的)
M函數(shù)文件名。注:(1)eval指令?的Ev輸a入lu宗at量io必n須on是l字y.符串。ate(d2w)it構(gòu)h成As字p符os串e.的SlCEiEMd,es可f以or是.MNAETTLA3B.任5何Cl合ientProCopyright
2004-2011
Aspose
Pty
Ltd.【例】計(jì)算“表達(dá)式”串,產(chǎn)生向量值。。clear,t=pi;cem="[t/2,t*2,sin(t)]";y=eval(cem)y=1.5708 6.2832 0.0000【例】計(jì)算“語?句Ev”a串lu,at創(chuàng)io建n變on量l。y.atceldewari,tth=pApis;pose.Slidesfor.NET3.5ClientProeval?(C"otphyetrtai=gth/t2,2y0=0s4i-n2(0t1he1etAas)p")o;sePtyLtd.theta=1.5708y=1【例】計(jì)算“替代”串。CEM={"cos","sin","tan"};for
k=1:3theta=pi*k/12;y(1,k)=eval([CEM{1},"(",num2str(theta),")"]);endyy
=0.9659
0.8660
0.7071A=ones(2,1);B=ones(1,3);c=eval("B*A","A*B"),errmessage=l
asterrc
=1
1
11
1
1errmessage
=Error
using
==>
*Inner
matrix
dimensions
must
agree.Evaluation
only.ated
with
Aspose.Slides
for
.NET
3.5
Client
Pro【例?C】o計(jì)py算ri“gh合t成20”0串4-。2011
Aspose
Pty
Ltd.feval。x=pi/4;Ve=eval("1+sin(x)")Ve
=1.7071Vf=feval("1+sin(x)",x)???
Error
using
==>
fevalInvalid
function
name
"1+sin(x)".二、feval[y1,y2,…]=feval(F,arg1,arg2,…)F可以是函數(shù)句柄,函數(shù)名字符串,內(nèi)聯(lián)函數(shù)feval與函數(shù)句柄配套使用【例】對(duì)字符串類型函數(shù)只能用eval,而不能用Evaluationonly.ated
with
Aspose.Slides
for
.NET
3.5
Client
ProCopyright
2004-2011
Aspose
Pty
Ltd.【例】函數(shù)句柄只能被feval運(yùn)用,而不能被eval調(diào)用。。(1)函數(shù)句柄被feval調(diào)用
rand("seed",1);A=rand(2,2);Heig=@eig;d=feval(Heig,A)d
=Function
"eval"
not
defined
for
variablesof
class
"function_handle".Evaluation
only.ated0.w7i5t6h8
Aspose.Slides
for
.NET
3.5
Client
Pro-0.?1C4o8p8yright
2004-2011
Aspose
Pty
Ltd.(2)eval不能對(duì)函數(shù)句柄進(jìn)行操作de=eval(Heig,A)???
Error
using
==>
eval(3)feval能對(duì)函數(shù)名字符串進(jìn)行操作
dn=feval("eig",A)dn
=0.7568-0.1488dn=feval("sin?"E,vpail/u2)ation
only.ateddnw=ith
Aspose.Slides
for
.NET
3.5
Client
ProCopyright
2004-2011
Aspose
Pty
Ltd.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.3936
0.9193
0 0.2633
-0.6135
0.7897-0.9193
-0.3936
1.2212
0-0.3936
0.9193
0
0.2633-0.7897
-0.6135-0.6135
0.7897Evaluation
only.at-e0d.91w9i3
-t0h.39A3s6
p1.o2s21e2
.0
Sl-0i.d78e97s-f0.o61r35.NET
3.5
Client
ProResul?tsCboy
pfeyvralight
2004-2011
Aspose
Pty
Ltd.三、內(nèi)聯(lián)函數(shù)式。inline("CE")inline("CE",arg1,arg2,…)inline("CE",n)注:(1)‘CE’字符串?E,vaClEu必at須io是n不on包l含y.賦值號(hào)‘=’的ate表d達(dá)with
Aspose.Slides
for
.NET
3.5
Client
Pro(2)內(nèi)?C聯(lián)op函yr數(shù)i是g是h溝t通20e0v4a-l2,0f1ev1vaAls兩p個(gè)os不e同Pt指y令Lt的d.橋梁。凡eval可以運(yùn)作的表達(dá)式,都可以通過inline轉(zhuǎn)化為內(nèi)聯(lián)函數(shù),而這種內(nèi)聯(lián)函數(shù)總可以被feval使用。(3)第三種調(diào)用格式最簡練,但對(duì)輸入宗量的字符限制嚴(yán)格。輸入宗量的字符只能是x,P1,P2,…,Pn.GG=vectorize(G)GG
=【例】用內(nèi)聯(lián)函數(shù)對(duì)象實(shí)現(xiàn)。創(chuàng)建帶一個(gè)參量的二元函數(shù)
G=inline("a*exp(x)*cos(y)","a","x","y");使適應(yīng)數(shù)組運(yùn)算規(guī)則Evaluation
only.atedIwnilitnheAfsupnocstieio.nS:lides
for
.NET
3.5
Client
ProGG?(Cao,pxy,ry)i)g=hat.*2e0x0p4(-x2)0.1*c1oAss(ypy)ose
Pty
Ltd.GG(2,[1,2],[pi/3,pi])ans
=2.7183
-14.7781【例】演示:內(nèi)聯(lián)函數(shù)的第一種創(chuàng)建格式;使內(nèi)聯(lián)函數(shù)適于“數(shù)組運(yùn)算”。clear,F1=inline("sin(rho)/rho")F1
=Inline
function:F1(rho)
=
sin(rho)/rhof1=F1(2)f1
=xx=[0.5,1,1.5,2];ff1=FF1(xx)FF1
=Inline
function:FF1(rho)
=
sin(rho)./rhoff1
=0.9589
0.8415
0.6650
0.4546Evaluation
only.ated0w.i4t5h46Aspose.Slides
for
.NET
3.5
Client
ProFF1?=Cvoecpctyorriigzhet(F210)04-2011
Aspose
Pty
Ltd.【例】演示:產(chǎn)生向量輸入、向量輸出的內(nèi)聯(lián)函數(shù);這種向量函數(shù)的調(diào)用方法。Y2=inline("[x(1)^2;3*x(1)*sin(x(2))]")argnames(Y2)Y2
=Inline
function:Y2(x)
=
[x(1?)^E2v;a3l*uxa(t1i)o*snsionn(lx(y2.))]ateadnsw=ith
Aspose.Slides
for
.NET
3.5
Client
Pro"x?"Copyright
2004-2011
Aspose
Pty
Ltd.x=[4,pi/6];y2=Y2(x)y2
=16.00006.0000【例】演示:最簡練格式創(chuàng)建內(nèi)聯(lián)函數(shù);內(nèi)聯(lián)函數(shù)可被feval指令調(diào)用。。Z2=inline("P1*x*sin(x^2+P2)",2)
Z2
=Inline
function:Z2(x,P1,P2)
=
P1*x*sin(x^2+P2)z2=Z2(2,2,3)Evaluation
only.atefdz2w=iftehvaAls(pZo2,s2e,.2S,l3i)des
for
.NET
3.5
Client
Proz2
=?Copyright
2004-2011
Aspose
Pty
Ltd.2.6279fz2
=2.62795.3
函數(shù)句柄(1)利用@符號(hào)(2)利用轉(zhuǎn)換函數(shù)str2func引入函數(shù)句柄使“函數(shù)調(diào)用”像“變量調(diào)用”一樣靈活方便?。Evaluation
only.ated一w、it函h
數(shù)As句po柄se的.創(chuàng)Sl建ides
for
.NET
3.5
Client
ProCopyright
2004-2011
Aspose
Pty
Ltd.【例】為MATLAB的“內(nèi)建”函數(shù)創(chuàng)建函數(shù)句柄,并觀察其內(nèi)涵。。創(chuàng)建函數(shù)句柄
hsin=@sin;類型判別class(hsin)?Evaluation
only.atedswiizteh(hAssipno)se.Slides
for
.NET
3.5
Client
Proan?nsCo=pyright
2004-2011
Aspose
Pty
Ltd.function_handleans
=1
1二、函數(shù)句柄的基本用法
[ao1,ao2,…,aon]=FunName(ai1,ai2,…,ain)Hfun=@FunName;
[ao1,ao2,…,aon]=feval(Hfun,ai1,ai2,…,ain)Evaluation
only.ated
with
Aspose.Slides
for
.NET
3.5
Client
ProCopyright
2004-2011
Aspose
Pty
Ltd.【例】本例通過sin函數(shù)及其句柄演示若干基本用法。(1)函數(shù)句柄的創(chuàng)建
fhandle=str2func("sin");(2)函數(shù)句柄在“數(shù)值計(jì)算”中的情況
ys=sin(pi/4)yfold=feval("s?iEnv"a,lpuia/4t4)ion
only.atyefdnwewi=tfhevAvaslp(ofshea.nSdllie,dpeis/4f4)or
.NET
3.5
Client
Proys
=?Copyright
2004-2011
Aspose
Pty
Ltd.0.7071yfold
=0.7071yfnew
=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)Evaluation
only.atyefdowldit=hAspose.Slidesfor.NET3.5ClientPro1/2*?2C^o(p1y/2r2)ight2004-2011AsposePtyLtd.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.7124xnew
=Evaluation
only.ated4.w7i1t2h4
Aspose.Slides
for
.NET
3.5
Client
ProCopyright
2004-2011
Aspose
Pty
Ltd.【例】自建函數(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 為演?E示va函l數(shù)ua、ti子on函o數(shù)nl句y柄.而設(shè)計(jì)的繪圖at文ed件w。ithAspose.Slidesfor.NET3.5ClientPro% fl?aCgopyright可2以00取4-字20符1串1A"lslipnoes"e或Pt"yciLrtcdl.e"。t=(0:100)/100*2*pi;x=sin(t);y=cos(t);Hr=@cirline; %創(chuàng)建子函數(shù)的句柄feval(Hr,flag,x,y,t)%
subfunctionfunction
cirline(wd,x,y,t)接受字符串"line"或"circle"畫線用的獨(dú)立參變量由t產(chǎn)生的橫坐標(biāo)變量由t產(chǎn)生的縱
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 班主任培訓(xùn)課件文庫
- 2025年江蘇省徐州市中考道法真題卷含答案解析
- 2025知識(shí)產(chǎn)權(quán)考試題(含參考答案)
- 分級(jí)護(hù)理考試試題及答案
- 2025年計(jì)算機(jī)等級(jí)考試(NCRE)三級(jí)網(wǎng)絡(luò)技術(shù)真題試卷及答案
- 蔬菜園區(qū)停電應(yīng)急預(yù)案
- 高端客戶2026年關(guān)系維護(hù)
- 保險(xiǎn)公司民法典培訓(xùn)課件
- 三級(jí)勞動(dòng)關(guān)系協(xié)調(diào)員考試試題及答案
- 特種設(shè)備安全總監(jiān)和安全員考試題庫及答案
- 婚姻家庭繼承實(shí)務(wù)講座
- 湖南省長沙市中學(xué)雅培粹中學(xué)2026屆中考一模語文試題含解析
- 新內(nèi)瘺穿刺護(hù)理
- 鉗工個(gè)人實(shí)習(xí)總結(jié)
- 大健康養(yǎng)肝護(hù)肝針專題課件
- 物流公司托板管理制度
- 道路高程測(cè)量成果記錄表-自動(dòng)計(jì)算
- 關(guān)于醫(yī)院“十五五”發(fā)展規(guī)劃(2026-2030)
- DB31-T 1587-2025 城市軌道交通智能化運(yùn)營技術(shù)規(guī)范
- 醫(yī)療護(hù)理操作評(píng)分細(xì)則
- 自考-經(jīng)濟(jì)思想史知識(shí)點(diǎn)大全
評(píng)論
0/150
提交評(píng)論