How can I plot this Function in MATLAB?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Wouter
2013-3-21
编辑:Wouter
2013-3-21
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 个评论
Wouter
2013-3-26
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 '-'
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!