PLotting noisy signal matlab

6 vues (au cours des 30 derniers jours)
T
T le 24 Oct 2012
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?

Réponse acceptée

Wayne King
Wayne King le 24 Oct 2012
Modifié(e) : Wayne King le 24 Oct 2012
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.
  1 commentaire
T
T le 24 Oct 2012
What if t(1) = 0.4, t(5) = 0.5, t(6)=0.6, ....and so on. If I only wanted to plot x at t(1), t(5),.... ,, how would you do this?
x(t(1)) won't give me that result.

Connectez-vous pour commenter.

Plus de réponses (2)

Wayne King
Wayne King le 24 Oct 2012
Modifié(e) : Wayne King le 24 Oct 2012
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)
  1 commentaire
T
T le 24 Oct 2012
Sorry, I should have been less ideal. What if t(1) = 0.5235, t(2) = 0.6743, t(3)=.756 and so on?

Connectez-vous pour commenter.


Richard Zapor
Richard Zapor le 24 Oct 2012
Modifié(e) : Richard Zapor le 24 Oct 2012
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);

Catégories

En savoir plus sur Configure Simulation Conditions dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by