计算机模拟第11课.pptVIP

  • 2
  • 0
  • 约3.36千字
  • 约 16页
  • 2017-05-06 发布于重庆
  • 举报
计算机模拟第11课

4.3.5 主函数(primary function)与子函数(subfunction) M文件可以包含任意多个函数,主函数是指M文件中的 第一个函数。子函数是除了主函数之外的函数。 一个M文件可以有任意多个子函数,但只能有一个主函数。 一般情况下,在MATLAB命令窗口或其它M文件中只可以对主函数进行调用,而对于子函数的调用,只局限于其所在M文件中的主函数和与其并列的子函数。 例4-19 主函数与子函数调用示例,任意输入两数,求两数分别为底数和指数的幂和。 function z=try_subf(x,y) z1=subf1(x,y); z2=subf2(x,y); if (x==0)|(y==0) error(0不能作为底数) else z=z1+z2; end function z1=subf1(x,y) z1=x^y; function z2=subf2(x,y) z2=y^x; 4.3.6 嵌套函数(nested function) 在m文件中定义一个主函数,然后在主函数中嵌套定义从属的函数,这种包含在函数中的函数叫嵌套函数。 注意:定义嵌套函数时,需要使用end指令来结束函数。 嵌套函数的创建格式: function x=A(p1,p2) … function y=B(p3) … end … end 多平行嵌套函数的格式: function x=A(p1,p2) … function y=B(p3) … end function z=C(p4) … end … end 多层嵌套函数的格式: function x=A(p1,p2) … function y=B(p3) … function z=C(p4) … end … end … end 例4-20 使用嵌套函数完成例4-19中主函数的功能。 function z=try_nest(x,y) z1=nest1(x,y); z2=nest2(x,y); function z1=nest1(x,y) z1=x^y; end function z2=nest2(x,y) z2=y^x; end if (x==0)|(y==0) error(0不能作为底数) else z=z1+z2; end end 4.3.7 函数句柄 函数句柄是matlab的一种数据类型。它作为一种间接访问函数的手段,可以使用户调用函数变得简单,提高过程的效率和可靠性。 创建格式: fun_handle=@fun_name 例如: t=@try_nest t(1,2) t(3,4) 等 例4-21 猜数游戏。首先由计算机产

文档评论(0)

1亿VIP精品文档

相关文档