0

我有一个函数,我想每次都改变它的输入并在一定的时间间隔内积分。比如我先写一个m文件:

function y = myfun(x) 

y = 1 ./ (x.^3 - 2*x - 5);

现在我想集成 myfun(x-2) 或 myfun(2*x) 之类的函数。有谁知道我应该如何通过它们?Integral(myfun(x-2),a,b) 会产生错误。

谢谢

4

1 回答 1

0

我建议integral为您的函数调用一个句柄,如下所示:

h1 = @(x)myfun(x);
h2 = @(x)myfun(x-2);
h3 = @(x)myfun(x.^2);

integral(h1,a,b);
integral(h2,a,b);
integral(h3,a,b);

这应该使积分函数认为您只是将其定义myfun为一个函数,x同时允许您将任何您想要的表达式传递给它。您还可以通过这种方式传递其他参数,例如:

h = @(x)myfun(x, params);
integral(h,a,b);

Whereparams可能是您在定义中使用的参数列表myfun

我希望这会有所帮助。

编辑:我在我有权访问的服务器上对此进行了测试,该服务器确实具有该integral功能并且它似乎可以工作。希望这能回答你的问题。

于 2013-06-08T00:09:51.050 回答