matlab教程第七章m文件和函数句柄(编辑修改稿)内容摘要:

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 55054 2 0 2 442024 图 利用不同工作空间中的变量值计算 eval(39。 a*exp(i*t)39。 ) 二 跨空间赋值 【例 】 assignin运作机理示范。 ( 1)编写 M 函数文件 [] function y=assigninxyq(x) y=sqrt(x)。 t=x^2。 assignin(39。 base39。 ,39。 yy39。 ,t) ( 2)在 Notebbok 或 MATLAB 指令窗中运行以下指令 clear。 x=4。 y=assigninxyq(x)。 disp([blanks(5),39。 x39。 ,blanks(5),39。 y39。 ,blanks(4),39。 yy39。 ]),disp([x,y,yy]) x y yy 4 2 16 子函数和私用函数 一 子函数 二 私用函数 串演算函数 eval 【例 】计算“语句”串,创建变量。 clear,t=pi。 eval(39。 theta=t/2,y=sin(theta)39。 )。 theta = y = 1 【例 】计算“合成”串。 CEM={39。 cos39。 ,39。 sin39。 ,39。 tan39。 }。 for k=1:3 theta=pi*k/12。 y(1,k)=eval([CEM{k},39。 (39。 ,num2str(theta),39。 )39。 ])。 end y 6 y = feval 【例 】对字符 串类型函数只能用 eval ,而不能用 feval。 x=pi/4。 Ve=eval(39。 1+sin(x)39。 ) Ve = Vf=feval(39。 1+sin(x)39。 ,x) ??? Error using == feval Invalid function name 39。 1+sin(x)39。 . 【例 】函数句柄只能被 feval 运用,而不能被 eval 调用。 ( 1) rand(39。 seed39。 ,1)。 A=rand(2,2)。 Heig=@eig。 d=feval(Heig,A) d = ( 2) de=eval(Heig,A) ??? Error using == eval Function 39。 eval39。 not defined for variables of class 39。 function_handle39。 . ( 3) dn=feval(39。 eig39。 , A) dn = 内联函数 【例 】用内联函数对象实现 yaeyxaG x c o s),( 。 G=inline(39。 a*exp(x)*cos(y)39。 ,39。 a39。 ,39。 x3。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。