Integration of the zero function handle ie f(x)=@(x) 0
1 次查看(过去 30 天)
显示 更早的评论
I have a function that requires the integration of many functions and sometime that function is zero but I don't really know when that will be.... Unfortunately, integral(@(x)0,0,1) returns the following error; Output of the function must be the same size as the input. If FUN is an array-valued integrand, set the 'ArrayValued' option to true. How do I get around this? Any help would be great!!
Thanks
Drew
0 个评论
采纳的回答
Walter Roberson
2016-5-10
integral(@(x) 0 * x, 0, 1)
or
integral(@(x) zeros(size(x)), 0, 1)
3 个评论
Walter Roberson
2016-5-10
I seem to be having difficulty getting that automatically generated. matlabFunction does seem to reduce it down to a single 0.0
Here is a test you can use:
F = matlabFunction(YourExpression);
syms zzzzzz
Fzzzzz = F(zzzzzz);
if isempty(symvar(Fzzzzz))
F = @(x) Fzzzzzz * ones(size(x));
end
This should work for constants other than 0 as well.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Calculus 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!