How can I plot this Function in MATLAB?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I need help plotting a signal f(x) in matlab. The signal is defined as:
f(x) =
{ (x+1)/2 , if -1 <= x < 1
{ 1 , if 1 <= x < 2
{ 0 , else
I cant figure out how to plot f(x) or f(x+1) Any help would be greatly appreciated.
P.S The range of x is from -4:4
0 commentaires
Réponse acceptée
Wouter
le 21 Mar 2013
Modifié(e) : Wouter
le 21 Mar 2013
I would make a function of it:
function y = custom_function(x)
% y = custom_function(x)
y = zeros(size(x)); %make y as big as x and fill it with zeros
first_situation = x >= -1 && x < 1;
second_situation = x >= 1 && x < 2;
y(first_situation) = (x(first_situation) + 1) / 2;
y(second_situation) = 1;
% the remainder of the values was already set to zero
end
to plot this function you would use:
x = -4:4; % set x from -4 to 4
y = custom_function(x);
plot(x,y)
or to plot x+1
x_2 = (-4:4)+1; % set x from -3 to 5
y_2 = custom_function(x_2);
plot(x_2,y_2)
2 commentaires
Wouter
le 26 Mar 2013
you can also do it in a for loop:
x = -4:4 % set x
y = zeros(size(x)); % make empty y
for i = 1:length(x) % loop through x, index i
if (x(i) >= -1) && (x(i) < 1)
y(i) = (x(i) + 1) / 2; % set y at position i
elseif (x(i) >= 1) && (x(i) < 2)
y(i) = 1; % set y at position i to 1
else
y(i) = 0; % not really required; y was already 0
end
end
plot(x,y,'r-') % plot x,y as red 'r' line '-'
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Annotations 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!