matlab教程第七章m文件和面向对象编程(编辑修改稿)内容摘要:
0 0 Results by feval 0 0 内联函数 内联函数的创建 涉及内联函数性质的指令 内联函数创建和应用示例 【例 】演示:内联函数的第一种创建格式;使内联函数适于“数组运算”。 clear,F1=inline(39。 sin(rho)/rho39。 ) F1 = Inline function: F1(rho) = sin(rho)/rho f1=F1(2) f1 = FF1=vectorize(F1) xx=[,1,2]。 ff1=FF1(xx) FF1 = Inline function: FF1(rho) = sin(rho)./rho ff1 = 【例 】演示:第一种内联函数创建格式的缺陷;含向量的多宗量输入的赋值。 G1=inline(39。 a*exp(x(1))*cos(x(2))39。 ),G1(2,[1,pi/3]) G1 = Inline function: G1(a) = a*exp(x(1))*cos(x(2)) ??? Error using == inline/subsref Too many inputs to inline function. G2=inline(39。 a*exp(x(1))*cos(x(2))39。 ,39。 a39。 ,39。 x39。 ),G2(2,[1,pi/3]) G2 = Inline function: G2(a,x) = a*exp(x(1))*cos(x(2)) ans = 【例 】演示:产生向量输入、向量输出的内联函数; 这种向量函数的调用方法。 Y2=inline(39。 [x(1)^2。 3*x(1)*sin(x(2))]39。 ) argnames(Y2) Y2 = 11 Inline function: Y2(x) = [x(1)^2。 3*x(1)*sin(x(2))] ans = 39。 x39。 x=[4,pi/6]。 y2=Y2(x) y2 = 【例 】演示:最简练格式创建内联函数;内联函数可被 feval 指令调用。 Z2=inline(39。 P1*x*sin(x^2+P2)39。 ,2) Z2 = Inline function: Z2(x,P1,P2) = P1*x*sin(x^2+P2) z2=Z2(2,2,3) fz2=feval(Z2,2,2,3) z2 = fz2 = 函数句柄 函数句柄的创建和观察 【例 】为 MATLAB的“内建”函数创建函数句柄,并观察其内涵。 ( 1) hsin=@sin。 ( 2) class(hsin) size(hsin) ans = function_handle ans = 1 1 ( 3) CC=functions(hsin) CC = function: 39。 sin39。 type: 39。 overloaded39。 file: 39。 MATLAB builtin function39。 methods: [1x1 struct] ( 4) ans = d:\matlab6p5\toolbox\symbolic\@sym\sin 12 函数句柄的基本用法 【例 】本例通过函数及其句柄演示若干基本用法。 ( 1) fhandle=str2func(39。 sin39。 )。 ( 2) ys=sin(pi/4) yfold=feval(39。 sin39。 ,pi/4) yfnew=feval(fhandle,pi/4) ys = yfold = yfnew = ( 3) Alpha=sym(39。 pi/439。 )。 yss=sin(Alpha) yfold=feval(39。 sin39。 ,Alpha) ynews=feval(39。 sin39。 ,Alpha) yss = 1/2*2^(1/2) yfold = 1/2*2^(1/2) ynews = 1/2*2^(1/2) ( 4) xold=fminbnd(39。 sin39。 ,0,2*pi) xnew=fminbnd(fhandle,0,2*pi) xold = xnew = 【例 】本例演示:如何避免创建“无效函数句柄“问题。 ( 1) Hy2=@fhzzy % mfiles文件夹上的一个函数文件。 Hy2 = @fhzzy ( 2) class(Hy2) size(Hy2) ans = function_handle ans = 1 1 ( 3) feval(Hy2,39。 line39。 )。 ??? Error using == feval Undefined function 39。 fhzzy39。 . 13 【例 】自建函数及其句柄的使用。 ( 1) [] function Hr=fhzzy(flag ) % fhzzy % % t=(0:100)/100*2*pi。 x=sin(t)。 y=cos(t)。 Hr=@cirline。 feval(Hr,flag,x,y,t) % subfunction function cirline(wd,x,y,t) % % switch wd case 39。 line39。 plot(t,x,39。 b39。 ,t,y,39。 r39。 ,39。 LineWidth39。 ,2) case 39。 circle39。 plot(x,y,39。 g.39。 ,39。 MarkerSize39。 ,30), axis square off otherwise error(39。 输入宗量只能取 39。 39。 line39。 39。 或 39。 39。 circle39。 39。 39。 ) end shg ( 2) Hy3=@fhzzy fhzzy(39。 line39。 )。 Hy3 = @fhzzy 0 1 2 3 4 5 6 7101 图 ( 3) which(39。 fhzzy39。 ) fhzzy not found. ( 4) 14 fhzzy(39。 line39。 ) feval(39。 fhzzy39。 ,39。 line39。 ) ??? Undefined function or variable 39。 fhzzy39。 . ( 5) feval(Hy3,39。 line39。 )。 【例 】子函数句柄的创建与使用。 ( 1) HCL=fhzzy(39。 circle39。 ) HCL = @cirline 图 ( 2) tt=(0:100)/100*2*pi。 xx=sin(tt)。 yy=cos(tt)。 cirline(39。 circle39。 ,xx,yy,tt)。 feval(39。 circle39。 ,xx,yy,tt) ??? Undefined function or variable 39。 cirline39。 . ( 3)。matlab教程第七章m文件和面向对象编程(编辑修改稿)
相关推荐
0 0 222 0 0 0 0 111 222 0 0 0 0 111 222 B=ones(2,6) B = 1 1 1 1 1 1 1 1 1 1 1 1 AB_r=[A。 B] AB_r = 1 4 7 0 0 222 2 5 8 0 0 222 3 6 9 0 0 222 0 0 0 0 0 222 0 0 0 0 111 222 1 1 1 1 1 1 1 1 1 1 1 1
[1x1 sym] [+ ] [3x3 double] [] 8 元胞数组内容的调取 【例 】元胞数组内容的调取示例。 ( 1) f1=R_A_C(1,3) class(f1) f1 = [1x1 sym] ans = cell ( 2) f2=R_A_C{1,3} class(f2) f2 = sin(3*t)*exp(t) ans = sym ( 3) f3=R_A_C{1,1}(:,[1
39。 none39。 ,39。 EdgeLighting39。 ,39。 flat39。 )。 view(3)。 grid on 图 低层指令产生的网线图 set(h,39。 FaceColor39。 ,39。 flat39。 ,39。 LineStyle39。 ,39。 39。 ,39。 EdgeColor39。 ,[.8 .8 .8]) 图 通过属性重置获得着色曲面图 set(h,39。
sss={39。 base39。 ,39。 caller39。 ,39。 self39。 }。 for k=1:3 y0=evalinzzy(8,sss{k})。 subplot(1,3,k) plot(real(y0),imag(y0),39。 r39。 ,39。 LineWidth39。 ,3),axis square image end 5 20 0 202010010205 0
e39。 ,0)。 a=rand(2,2)。 s1=num2str(a) s_s=sprintf(39。 %.10e\n39。 ,a) s1 = s_s = fprintf(39。 %.5g\\39。 ,a) \\\\ s_sscan=sscanf(s_s,39。 %f39。 ,[3,2]) s_sscan = 0 0 串操作函数 5 元胞数组 元胞数组的创建和显示 一
由小到大排序 sortrows 由小到大按行排序 std 标 准差 sum 元素和 trapz 梯形数值积分 var 求方差 有限差分( Finite differences) del2 五点离散 Laplacian , diff 差分和近似微分 , gradient 梯度 , 13 相关( Correlation) corrcoef 相关系数 cov 协方差矩阵 subspace