matlab是匿名函数吗?
发布网友
发布时间:2022-05-16 18:03
我来回答
共2个回答
热心网友
时间:2023-08-19 06:47
matlab是匿名函数。
f = @(x1,x2,x3) x1+x2+x3。
cf = func2str(f); for k = 1:3。
s = ['x' num2str(k)]。
ss = ['x(' num2str(k) ',:)']。
cf = strrep(cf,s,ss)。
end ff = str2func(cf)。
匿名函数:
匿名函数它是matlab中定义的一种函数形式,出现在matlab中,匿名函数不以文件形式驻留在文件夹上;他的生成方式最简捷,可在指令窗或任何函数体内通过指令直接生成。
热心网友
时间:2023-08-19 06:47
匿名函数 出现在 matlab 中。它是matlab中定义的一种函数形式。
函数简介:匿名函数不以文件形式驻留在文件夹上;他的生成方式最简捷,可在指令窗或任何函数体内通过指令直接生成。
匿名函数的作用:主要实现自己定义matlab中的函数,从而扩大函数的使用功能
和内联函数(inline)相比,匿名函数的优越性在于可以直接使用workspace中的变量,不必申明,非常适合嵌入到M文件中。
%例10-25 匿名函数举例。
%本例列举3个匿名函数的例子,分别有0个、1个和两个输入参数。
%首先介绍没有输入参数的匿名函数,只需用空格代替arglist即可。例如,编写求解当前时间的匿名函数如下所示。
>> t = @() datestr(now);
t() %函数的调用
ans =
14-Sep-2004 20:22:50
%值得注意的是,调用该函数时,括号不能省略,否则, MATLAB 7.1将对程序不予计算,如下所示。
>> t
t =
@() datestr(now)
>>
%再介绍有一个输入参数的匿名函数,该函数用于求所输入参数的平方,编制并运行程序如下所示。
>> sqr = @(x) x.^2
sqr =
@(x) x.^2
>> sqr(12)
ans =
144
>>
%最后介绍有两个输入参数的匿名函数,用户可以由此推导有多个参数的匿名函数,编制并运行程序如下所示。
>> sumAxBy = @(x, y) (14*x + 41*y)
sumAxBy =
@(x, y) (14*x + 41*y)
>> sumAxBy(3,7)
ans =
329
>>
注意这些定义过程,其中@这个标志符是很重要的。