I just tried to create my first function in octave, it looks as follows:
function hui(x)
if(0 <= x && x <2)
retval = (1.5 * x + 2)
elseif(2<= x && x <4)
retval = (-x + 5)
elseif(4<= x && x < 6)
retval = (0.5 * x)
elseif(6<= x && x < 8)
retval = (x - 3)
elseif(8<= x && x <=10)
retval = (2 * x - 11)
endif
endfunction
but if I try to plot it using: x=0:0.1:10; plot(x, hui(x));
It shows a plot witch seems a little bit strange.

What did I wrong?
Thanks in advance
John
You’ll have to pardon my rustiness with the package, but you need to change the code around a bit. Notably, the notation
0<=xis incorrect, and must bex>=0. Sincehuiis operating on a vector, I believe you need to take that into account when constructing your return value.I’m sure there are more effective ways of vectorizing this, but basically, While stepping over the input vector, I added the latest value onto the return vector, and at the end lopping off the initial 0 that I had put in. I put in a sentinel value in case the input didn’t fulfill one of the criteria (it was always taking the “else” path in your code, so putting something there could have alerted you to something being wrong).