我是Matlab的新用户,我想解决下面的问题:
我想构建一个分段常数函数f。 f应该是一个匿名函数,例如f=@(t)1 [0,0.25)(t)。然而,分段常数函数的间隔数量通常不固定。相反,它取决于用户的输入。
例如,如果用户输入4,则分段间隔如下:
[0,0.25),[0.25,0.5),[0.5,0.75)和[0.75,1)
则
f = @(t)a1 * 1 [0,0.25)(t) + a2 *[0.25,0.5)(t) + a3 * 1 [0.5,0.75)(t) + a4 * 1 [0.75,1)(t);
而如果用户输入5,则分段间隔如下:
[0,0.2),[0.2,0.4),[0.4,0.6),[0.6,0.8)和[0.8,1)
有没有好的方法来解决这个问题?
我想构建一个分段常数函数f。 f应该是一个匿名函数,例如f=@(t)1 [0,0.25)(t)。然而,分段常数函数的间隔数量通常不固定。相反,它取决于用户的输入。
例如,如果用户输入4,则分段间隔如下:
[0,0.25),[0.25,0.5),[0.5,0.75)和[0.75,1)
则
f = @(t)a1 * 1 [0,0.25)(t) + a2 *[0.25,0.5)(t) + a3 * 1 [0.5,0.75)(t) + a4 * 1 [0.75,1)(t);
而如果用户输入5,则分段间隔如下:
[0,0.2),[0.2,0.4),[0.4,0.6),[0.6,0.8)和[0.8,1)
有没有好的方法来解决这个问题?
f = @(x) x.^2
时,你将一个计算x.^2
的函数句柄分配给变量f
。你也可以创建一个文件myfunction.m
,其中包含文本function result = myfunction(x) ... result = x.^2
,然后分配f = @myfunction
。在第二种情况下,f
也将被分配一个计算x.^2
的函数句柄。 - Matthew Gunnf = @sum
然后sum(x)
和f(x)
将返回相同的结果(这有点像编程语言c
中的函数指针)。如果你是Matlab或编程的新手,这可能会让你感到困惑,你不必担心它,并忘记我曾经提到过它。 - Matthew Gunn