Filter löschen
Filter löschen

Why is line does not showing up on the plot?

53 Ansichten (letzte 30 Tage)
Ray Malifalitiko
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)')

Akzeptierte Antwort

Ameer Hamza
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)')

Weitere Antworten (1)

Cris LaPierre
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')

Kategorien

Mehr zu View and Analyze Simulation Results finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by