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 次查看(过去 30 天)
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
Walter Roberson 2022-5-18
You should be multiplying logical conditions, not adding them.
  2 个评论
khumbula higa
khumbula higa 2022-5-18
I tried that and my code was like below and they all become zeros now ,even the ones that were supposed to form a remp.
n=(-20:1:20)';
ramp_n=((n<=4).*n.*(n>=9)).*n);
stem(n,ramp_n);
Walter Roberson
Walter Roberson 2022-5-19
  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);

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Cash Flows 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by