matlab中Inline函数
在matlab中,可以直接用函数名调用函数,此外也可以函数名为参数调用,以函数句柄的形式或匿名函数操作。
操作方法
- 01
作为示例,首先在M文件内编写如下函数: % function operation function [s,n] = calsum(n) s = 0; for i = 1:n s = s + i; end
- 02
第一种方式直接以函数名调用,与之前我的分享《matlab中如何定义函数》一致,调用时如下就可: >> [sa,na] = eg_sum(100) 输出: sa = 5050 na = 100
- 03
以函数句柄形式调用,函数名作为参数,如下所示: >> funame = @eg_sum; >> [sum,n] = feval(funame,100) 函数输出: sum = 5050 n = 100
- 04
inline函数调用格式如下所示: >> fname = inline('sum(1:n)','n') 此时会输出: fname = Inline function: fname(n) = sum(1:n) 首先构造函数句柄,随后就可利用feval函数计算: >> calsum = feval(fname,100) 此时就会输出: calsum = 5050
- 05
匿名函数调用格式: fun = @(arg1,arg2,...)expr,其中expr为函数表达式,arg1、arg2、...等为自变量字符串。 作为示例,如下所示: >> fname = @(n)sum(1:n) 输出: fname = @(n)sum(1:n) 输入如下形式调用: >> fsum = feval(fname,100) 输出信息: fsum = 5050
赞 (0)