PLotting noisy signal matlab
8 次查看(过去 30 天)
显示 更早的评论
Suppose the sampling interval is pi/100.
t = 0:pi/100:40;
x = cos(pi/10*t)+0.5*randn(size(t));
plot(t,x)Then you know where pi/2, 3pi/4 etc are.
t(50) is pi/2 and x(50) is the signal value at t=pi/2
plot(t,x); hold on plot(t(50),x(50),'r^','markerfacecolor',[0 0 0],'markersize',10); plot(t(75),x(75),'r^','markerfacecolor',[0 0 0],'markersize',10); and so on.
Suppose t was a vector and for each element is the one that I want to plot, so for instance, t(1), t(2),..., and so on. How would you do this?
0 个评论
采纳的回答
Wayne King
2012-10-24
编辑:Wayne King
2012-10-24
What do you mean suppose t was a vector?
t = 0:pi/100:40;
x = cos(pi/10*t)+0.5*randn(size(t));
plot(t,x)
t is a vector in the above. So is x and you are plotting the vector x as a function of the vector t.
更多回答(2 个)
Wayne King
2012-10-24
编辑:Wayne King
2012-10-24
You can subset your vector, for example:
t = 0:.01:1-0.01;
x = cos(2*pi*10*t);
plot(t,x)
Now the spacing in my t vector is 0.01 seconds. What if I wanted to only plot at time intervals of 0.1 seconds? Since the sine wave has a frequency of 10 Hz, I'll get a constant function.
tnew = t(1:10:end);
xnew = x(1:10:end);
plot(tnew,xnew)
Richard Zapor
2012-10-24
编辑:Richard Zapor
2012-10-24
If you want a specific set of points a third vector can be created, v=[1 4 9 12]; The plot(t(v),x(v)) will only use the subset points.
If you desire time values not part of the original data set then use interp1. xi=[.5235 .6743 .756]; yi=interp1(t,x,xi);plot(xi,yi)
For markers: plot(t,x); hold on; plot(t(5:10:100),x(5:10:100),'r^','markerfacecolor',[0 0 0],'markersize',10);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Configure Simulation Conditions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!