Matlab AND operation concerning intervals

4 vues (au cours des 30 derniers jours)
Aaron Friedman
Aaron Friedman le 2 Avr 2016
I am trying to create a simple signal with the following code:
function s = r_tri(t)
if ((t >= 0) & (t <= 3))
s = (-2/3)*t + 2;
else
s = 0;
end
Every time I try and plot this I get a blank graph. I assigned t = -1: 0.01: 4; I used the following plot command:
plot (t, r_tri(t))
I also tried this on the command line, and I keep getting 0. Why is this happening? Can you suggest a better way to accomplish this? Thanks.

Réponse acceptée

Walter Roberson
Walter Roberson le 2 Avr 2016
function s = r_tri(t)
s = zeros(size(t));
mask = (t >= 0) & (t <= 3);
s(mask) = (-2/3)*t(mask) + 2;

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 2 Avr 2016
t = -1: 0.01: 4;
s=zeros(size(t))
idx=t>=0 & t<=3;
s(idx)=(-2/3)*t(idx) + 2;
plot(t,s)

Catégories

En savoir plus sur Mathematics dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by