Why is line does not showing up on the plot?
53 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ray Malifalitiko
am 13 Nov. 2020
Bearbeitet: Cris LaPierre
am 13 Nov. 2020
I'm trying to plot a line but it's not working. Here's an example of what doesn't work:
c = 3*10^8;
f0 = 10^9;
Vtarget = 10;
Vradar = 0;
fd = 2*(Vradar - Vtarget).*f0./c;
t= 0:100;
plot(t,fd)
title('Doppler Frequency Change')
xlabel('Time(sec)')
ylabel('Doppler Frequency(Hertz)')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/412913/image.png)
0 Kommentare
Akzeptierte Antwort
Ameer Hamza
am 13 Nov. 2020
Bearbeitet: Ameer Hamza
am 13 Nov. 2020
t is a vector, whereas fd is a scalar. How do you want to plot these two? As a straight line? If yes, then try this
c = 3*10^8;
f0 = 10^9;
Vtarget = 10;
Vradar = 0;
fd = 2*(Vradar - Vtarget).*f0./c;
t= 0:100;
plot(t,fd*ones(size(t)))
title('Doppler Frequency Change')
xlabel('Time(sec)')
ylabel('Doppler Frequency(Hertz)')
You can also use yline()
c = 3*10^8;
f0 = 10^9;
Vtarget = 10;
Vradar = 0;
fd = 2*(Vradar - Vtarget).*f0./c;
t= 0:100;
yline(fd)
title('Doppler Frequency Change')
xlabel('Time(sec)')
ylabel('Doppler Frequency(Hertz)')
0 Kommentare
Weitere Antworten (1)
Cris LaPierre
am 13 Nov. 2020
Bearbeitet: Cris LaPierre
am 13 Nov. 2020
Because fd contains a single value. This defines a point, not a line. Therefore, your code plots a single point at each t value, but they are not connected. You can see this by adding a line format spec that includes a marker to your plot command.
c = 3*10^8;
f0 = 10^9;
Vtarget = 10;
Vradar = 0;
fd = 2*(Vradar - Vtarget).*f0./c;
t= 0:100;
plot(t,fd,'r-o')
0 Kommentare
Siehe auch
Kategorien
Mehr zu View and Analyze Simulation Results finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!