[英]MATLAB- passing a function handle parameter into another function as a handle
[英]Parameter passing to function handle
我有一个函数,我想每次更改其输入并在一定间隔内进行积分。 例如,我首先编写一个m文件:
function y = myfun(x)
y = 1 ./ (x.^3 - 2*x - 5);
现在,我想集成myfun(x-2)或myfun(2 * x)之类的函数。 有谁知道我应该如何通过他们? 积分(myfun(x-2),a,b)创建一个错误。
谢谢
我建议在函数的句柄上调用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);
params
可能是您在myfun
定义中使用的参数列表。
希望对您有所帮助。
编辑:我在我可以访问的服务器上对此进行了测试,该服务器确实具有integral
功能,并且似乎可以正常工作。 希望这能回答您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.