David - the code is getting stuck due to its recursive nature. The line
fplot(myfun(-10:10),output)
calls itself, passing the vector -10:10, only to reach this line again and again. So that is why the request for an input keeps popping up.
If you are just trying to plot the data from -10:10, then you can skip the request for an input and just define your function as follows
function [output] = myfun(x)
if x<-2
output=-x^2;
elseif (-2<=x)&&(x<0)
output=-2*x;
elseif (0<=x)&&(x<=2)
output=2*x;
elseif x>2
output=x^2;
end
Now to plot your above function for the interval [-10,10], just do something similar to what you had already, using fplot
Best Answer