Matlab里的子函数、内联函数、匿名函数

子函数

在Matlab中,可以把多个函数的定义放在一个函数文件中,这些函数中,第一个出现的为主函数,其他的函数均为子函数,需要注意的是,子函数只能被同一个函数文件中的函数调用。在保存函数文件的时候,函数文件名一般保持和主函数名相同,且外部程序只能对主函数进行调用。下面距离说明。

function d=add2(a,b,c)
	% d=a*b+c
	d=mult2(a,b)+c;
end

function c=mult2(a,b)
c=a*b;
end

运行结果如下

>> add2(3,4,5)
ans =
    17

内联函数

使用字符串形式存在的函数表达式可以通过inline函数转化为内联函数,例如

a='(x+y)^2'

可以通过

f=inline(a)

转换为f(x,y)=(x+y)^2
执行如下

>> a='(x+y)^2';
>> f=inline(a)
f =
     内联函数:
     f(x,y) = (x+y)^2
>> f(3,4)
ans =
    49

匿名函数

匿名函数的格式:函数句柄变量=@(匿名函数输入参数) 匿名函数表达式,其中,函数句柄变量相当于函数的别名,利用它可以间接调用函数,@是创建函数句柄的运算符,@后面定义了一个匿名函数,包括函数输入参数和函数表达式。举例如下:

>> sqr=@(x) x.^2
sqr =
  包含以下值的 function_handle:
    @(x)x.^2
>> sqr([1,2,3])
ans =
     1     4     9

匿名函数的执行效率要比内联函数高,所以建议使用匿名函数,并且在后续的matlab版本中,内联函数将会被删除。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值