matlab绘图杂谈-stem函数和plot函数

本文介绍了如何在Matlab中结合plot和stem函数绘制带有曲线、点和图例的图形,展示了如何设置线型、颜色和标记,以及如何详细控制stem函数的参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

出发点

今天在论文中看到一幅这样的图,它既有曲线,又有点,并且对两者都添加了图例。三条曲线应该是用plot函数绘制的,而target哪个绿色的圆圈,我的理解是用stem函数绘制的。它只是1个点,并且没有竖线,stem绘制的默认的是茎叶图,既有线又有标记,像图中这个它就是只有标记。并且在右下角都给它添加了图例。觉得这种作图方法挺有意思的,学习一下,以后在论文中用。下面给大家介绍一下,这种编程方法。
在这里插入图片描述

图1 示例图片

编程实现

下面我绘制幅类似的图

figure; 
plot(abs(deChirpModRes),'k-','linewidth',1); %绘制曲线1
hold on;
plot(abs(deChirpModRes1),'b-','linewidth',1);%绘制曲线2
stem(maxPeakPos,abs(deChirpModRes1(maxPeakPos)),'marker','o','linestyle','none','markeredgecolor','r','markersize',6,'linewidth',1.5); %加标记点
xlabel('Sampling point'); ylabel('Amplitude');
legend('Befor jamming suppression','After jamming suppression','Target'); %添加图例

在这里插入图片描述

图2 添加标记的的绘图

这里采用stem(x,y)函数在横坐标为x的地方绘制1个点。线型、标记类型、颜色等参数采用name,value的方式一一给出。最后使用legend函数添加图例。

plot函数使用方法

plot函数是用于绘制曲线的,它会把一个个离散的点连接起来。
语法 plot(X,Y,LineSpec) 可以设置线型、标记符号和颜色。
线型控制
在这里插入图片描述

图3 plot线型设置

在这里插入图片描述

图4 plot标记控制设置

在这里插入图片描述

图5 plot颜色设置
### stem函数使用详解 具体有以下几种方法: 1. stem(Y) 2. stem(X,Y) %在 X 指定的值的位置绘制数据序列 Y 3. stem(___,'filled') 4. stem(___,LineSpec) %指定线型、标记符号和颜色 5. stem(___,Name,Value) %使用一个或多个 Name,Value 对组参数修改针状图。 6. stem(ax,___) 7. h = stem(___)

其中我经常使用的是语法2、4和5。
如果自己随便画一个图,那么直接使用语法2,其参数都采用默认参数,如果要自己控制参数,可以采用语法4。
语法4,可以设定线型、标记符号和颜色,例如stem(x,y,‘-.or’);
它设定的线型是点划线,标记是圆圈,颜色是红色。具体的参数可以参考下表:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

值得注意的是,使用plot函数的时候,这些参数的设置方法是和stem函数一样的。

如果要详细的设置stem绘图的参数,可以采用语法5,例如:

stem(X,Y,'LineStyle','-.',...
     'MarkerFaceColor','red',...
     'MarkerEdgeColor','green')

它可以分别控制线条、标记的各自的参数,具体可以查阅matlab官方的资料。
其中部分参数:

参数含义
linestyle线型
linewidth线宽
color颜色
marker标记符号
markersize标记大小
### FPGA Dechirp 实现 Dechirp操作是雷达信号处理中的一个重要环节,特别是在脉冲压缩技术中应用广泛。通过去线性调频(Dechirping),可以有效提高信噪比分辨率。在FPGA平台上实现这一过程主要依赖于高效的硬件资源管理并行计算能力。 #### 基本原理 Dechirp是指接收端接收到回波信号后乘以其发射时的本地复制信号(即Chirp信号)。此过程中涉及到大量的复数乘法运算以及后续的数据存储与读取操作。为了适应高速率的数据流传输需求,通常采用流水线设计来优化整个流程[^1]。 ```verilog // Verilog代码片段展示简单的dechirp乘法器结构 module dechirp_multiplier ( input wire clk, input wire rst_n, input wire signed [N-1:0] rx_data, // 接收数据 input wire signed [N-1:0] chirp_ref,// 参考chirp信号 output reg signed [2*N-1:0] result // 输出结果 ); always @(posedge clk or negedge rst_n) begin if (!rst_n) result <= 'b0; else result <= rx_data * chirp_ref; // 复杂度较高的部分应考虑分布式算术方法 end endmodule ``` #### 关键挑战及解决方案 ##### 数据同步与时钟管理 由于雷达系统的采样频率较高,如何保证不同路径间的数据同步成为一个难题。为此,建议引入锁相环(PLL)电路用于生成稳定的内部工作时钟源;同时利用双口RAM或其他先进先出(FIFO)缓冲区作为跨时域通信桥梁,确保输入输出两端保持一致步调。 ##### 高效内存访问模式 对于大规模矩阵运算而言,频繁访存会成为瓶颈所在。针对这种情况,可以通过预加载机制提前将所需参数载入寄存器文件内减少延迟;另外还可以探索基于BRAM构建专用缓存池的方式进一步提升带宽利用率。 ##### 动态范围扩展 考虑到实际应用场景下的动态变化特性,可能需要额外加入自动增益控制(AGC)单元以维持最佳量化精度水平。此外,在固定点表示方案下适当增加位宽也有助于缓解溢出现象的发生概率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nwsuaf_huasir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值