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