Why is line does not showing up on the plot?
53 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Ameer Hamza
2020-11-13
编辑:Ameer Hamza
2020-11-13
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 个评论
更多回答(1 个)
Cris LaPierre
2020-11-13
编辑:Cris LaPierre
2020-11-13
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 View and Analyze Simulation Results 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!