Now my question what should I add in that code to make the code display 0 on the values less than 0 because now with my code it goes down to the negative values.Thank you.

1 view (last 30 days)
khumbula higa on 18 May 2022
Commented: Walter Roberson on 19 May 2022
My unit ramp function was r[n] = 0 when n<0 and n when 4=<n>=9. I had to code and display the results of this Ramp function. And this was my code.
n=(-20:1:20)';
ramp_n((n<=4).*n+(n>=9).*n);
Unrecognized function or variable 'ramp_n'.
stem(n,ramp_n);

Walter Roberson on 18 May 2022
You should be multiplying logical conditions, not adding them.
Walter Roberson on 19 May 2022
1. Remember that multiplication is commutative, so what you have coded there is equivalent to (n<=4).*(n>=9).*(n.*n) which is obviously not correct, as it would output either 0 or n^2 rather than 0 or n . You should only have had one multiplication by n
2. You want n between 4 and 9, but (n<=4) is true (1) when n is less than 4 -- a condition in which you want 0 to be output, not 1. You need your condition to be true (1) when n is inside the desired range, not when it is outside the desired range. (4<= n & n <= 9)
n = (-20:1:20)';
ramp_n = (4<=n).*(n<=9).*n;
stem(n, ramp_n);