matlab中Inline函数
1、作为示例,首先在M文件内编写如下函数:
% function operation
function [s,n] = calsum(n)
s = 0;
for i = 1:n
s = s + i;
end
2、第一种方式直接以函数名调用,与之前我的分享《matlab中如何定义函数》一致,调用时如下就可:
>> [sa,na] = eg_sum(100)
输出:
sa =
5050
na =

3、以函数句柄形式调用,函数名作为参数,如下所示:
>> funame = @eg_sum;
>> [sum,n] = feval(funame,100)
函数输出:
sum =
5050
n =

4、inline函数调用格式如下所示:
>> fname = inline('sum(1:n)','n')
此时会输出:
fname =
Inline function:
fname(n) = sum(1:n)
首先构造函数句柄,随后就可利用feval函数计算:
>> calsum = feval(fname,100)
此时就会输出:
calsum =

5、匿名函数调用格式: fun = @(arg1,arg2,...)expr,其中expr为函数表达式,arg1、arg2、...等为自变量字符串。
作为示例,如下所示:
>> fname = @(n)sum(1:n)
输出:
fname =
@(n)sum(1:n)
输入如下形式调用:
>> fsum = feval(fname,100)
输出信息:
fsum =

阅读量:22
阅读量:71
阅读量:185
阅读量:103
阅读量:148