Azzera filtri
Azzera filtri

little problem in plotting a signal. Both x, y has the same lenght but is not plotting correctly

1 visualizzazione (ultimi 30 giorni)
Hello!! I have this code and I am not getting what I should, that actually is a kind of sin that decrease whith the time. I have check that both arrays have the same lenght, but the problem is that the variable a that I used for the loop is fixed to 100. All this values I checked at the workspace. Here it goes the code
Tc=1*10e-3;
f=linspace(0.1,2e6);
R=zeros(1,100);%preallocate
for a=1:1:100
R(a)=i*Tc*sinc(f(a).*Tc/2).*sin(pi*f(a).*Tc/2);
end
plot(f,R)
Thanks in advance Nicolas

Risposte (3)

Honglei Chen
Honglei Chen il 14 Mar 2012
I don't think a is the issue here. In your R(a), do you mean pi instead of i for the first term?
BTW you should be able to write this in vectorized form, just do
R = pi*Tc*sinc(f.*Tc/2).*sin(pi*f.*Tc/2)
  1 Commento
Nicolas
Nicolas il 14 Mar 2012
Hello!Thanks for the response.
By i I mean the imaginary unit. What I am trying to do with the loop is to calculate the vector R, the 100 positions of R vector.
What I dont understand is the vectorized form?I dont need to write the loop then?
thanks

Accedi per commentare.


Nicolas
Nicolas il 14 Mar 2012
Hello!Thanks for the response. By i I mean the imaginary unit. What I am trying to do with the loop is to calculate the vector R, the 100 positions of R vector. What I dont understand is the vectorized form?I dont need to write the loop then? thanks

Honglei Chen
Honglei Chen il 14 Mar 2012
Yes you don't need to write the loop, if you mean for imaginary part, then it is
R = 1i*Tc*sinc(f.*Tc/2).*sin(pi*f.*Tc/2)
plot(f,imag(R))

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by