Why do I get a warning when using fplot() in my code:
function solution_heat_equation(t)f = @(x,y) (exp((-abs(x-y).^2)./(4.*t))).*u_0(y);a = -10;b = 10;z = @(x) integral(@(y) f(x,y) , a,b);u = @(x) (1/sqrt(4*pi*t))*z(x)fplot(u)function val = u_0(x)if abs(x)<1 val = 1;else val = 0;end
I get the following warning and I don't get a plot of my function:
Warning: Function behaves unexpectedly on array inputs. To improve performance, properlyvectorize your function to return an output with the same size and shape as the inputarguments. > In matlab.graphics.function.FunctionLine>getFunction In matlab.graphics.function/FunctionLine/updateFunction In matlab.graphics.function.FunctionLine.set.Function_I In matlab.graphics.function.FunctionLine.set.Function In matlab.graphics.function.FunctionLine In fplot>singleFplot (line 245) In fplot>@(f)singleFplot(cax,{f},limits,extraOpts,args) (line 200) In fplot>vectorizeFplot (line 200) In fplot (line 166) In solution_heat_equation (line 8)
Best Answer