# Plotting an integral of a function in Octave

I try to integrate a function and plot it in Octave. Integration itself works, i.e. I can evaluate the function g like g(1.5) but plotting fails.

f = @(x) ( (1) .* and((0 < x),(x <= 1)) + (-1) .* and((1 <x),(x<=2)));

x = -1.0:0.01:3.0;
plot(x,g(x));


quadcc: upper limit of integration (B) must be a single real scalar


As far as I can tell this is because the plot passes a vector (namely x) to g which passes it down to quadcc which cannot handle vector arguments for the third argument.

So I understand what's the reason for the error but have no clue how to get the desired result instead.

N.B. This is just a simplified version of the real function I use, but the real function is also constant on a finite set of intervals ( number of intervals is less than ten if that matters). I need to integrate the real function 3 times in succession (f represents a jerk and I need to determine functions for acceleration, velocity and distance). So I cannot compute the integrals by hand like I could in this simple case.

-

 How would you rewrite the function g? g = @(x) (quadcc( 0:0.1:x, f(0:0.1:x))); doesn't work. The plot results in an error  plt2vv: vector lengths must match. – Onur Nov 21 '12 at 8:34