Borrar filtros
Borrar filtros

Integration of the zero function handle ie f(x)=@(x) 0

3 visualizaciones (últimos 30 días)
Drew Mitchell
Drew Mitchell el 10 de Mayo de 2016
Comentada: Drew Mitchell el 11 de Mayo de 2016
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

Respuesta aceptada

Walter Roberson
Walter Roberson el 10 de Mayo de 2016
integral(@(x) 0 * x, 0, 1)
or
integral(@(x) zeros(size(x)), 0, 1)
  3 comentarios
Walter Roberson
Walter Roberson el 10 de Mayo de 2016
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.
Drew Mitchell
Drew Mitchell el 11 de Mayo de 2016
Great thanks!

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by