ananwow 发表于 2015-9-7 11:10:18

关于匿名函数

我设计了个小小的测试,关于匿名函数的,分开写错误,不分开写,就出结果,不知道原因,请假各位大虾。程序如下:
不分开写:
>> clear all
>> f=;
>> d=arrayfun(@(f) quadl(@(t)f*sin(t),0,pi/4),f)
运行结果:
d =

    0.2929    0.5858    0.8787    1.1716

分开写1:
>> clear all
>> f=;
>> y=@(t)f*sin(t);

>>d=arrayfun(@(f) quadl(y(t),0,pi/4),f)
结果:
Undefined function or variable 't'.

Error in @(f)quadl(y(t),0,pi/4)

分开写2:
>> clear all
>> f=;
>> y=@(t)f*sin(t);

>>d=arrayfun(@(f) quadl(,0,pi/4),f)


出错结果为:
Error using*
Inner matrix dimensions must agree.

Error in @(t)f*sin(t)


Error in quadl (line 63)
y = feval(f,x,varargin{:}); y = y(:).';

Error in @(f)quadl(y,0,pi/4)


ananwow 发表于 2015-10-8 16:31:03

我现在不知道上面错误的地方,但是我知道了用匿名函数正确的方法
>> clear all
>> f=;
>> y=@(t)f.*sin(t);
>> d=quadv(y,0,pi/4),f)
页: [1]
查看完整版本: 关于匿名函数