MATLAB绘制方波、锯齿波、三角波、正弦波和余弦波、

张开发
2026/4/20 3:47:24 15 分钟阅读

分享文章

MATLAB绘制方波、锯齿波、三角波、正弦波和余弦波、
一、引言MATLAB是一种具有很强的数值计算和数据可视化软件提供了许多内置函数来简化数学运算和图形的快速生成。在MATLAB中你可以使用多种方法来快速绘制正弦波、方波和三角波。以下是一些基本的示例展示了如何使用MATLAB的命令来实现正弦波、方波和三角波的快速绘制大家可以在此基础上进行改进为学习、科研和工作提供便利。二、绘制正弦波和余弦波可以通过sin函数、cos函数和plot来进行绘制,MATLAB详细编程如下。clear all;close all;clc;close all;clc;%%绘制正弦波t -2*pi:pi/100:2*pi; %时间序列A5;%定义幅值w2;%角频率--周期T2pi/w,周期为piPhipi/6; %相位y1 A*sin(w*tPhi); % 计算正弦波的值plot(t, y1,LineWidth,2); %绘制宽度为2正弦波title(正弦波和余弦波);xlabel(时间);ylabel(幅值);ylim([-7,7]); %设置 y 坐标轴取值范围grid on; %打开网格hold on; %保持图形y2 A*cos(w*tPhi); % 计算余弦波的值plot(t, y2,LineWidth,2); %绘制余弦波legend(sin(w*tPhi), cos(w*tPhi)); %在坐标区上添加图例运行结果如下图所示三、绘制方波MATLAB 可以使用square函数产生周期性矩形脉冲信号。其调用形式为 ysquare(t,DUTY) 其作用类似于sin(t)用以产生一个时长为t、幅值为±1的周期性方波信号其中的DUTY参数表示占空比即在信号的一个周期中正值所占的百分比。生成一个周期为5、幅值为0和2、占空比为20%的方波可以通过以下代码实现t2 -10:0.01:10; % 时间向量f_0 square(2*pi*t2/5, 30)1; % 生成占空比为30%的方波plot(t2, f_0, LineWidth, 2),title(周期为5、幅值为0和2、‌占空比为30%的方波); % 绘制方波图形ylim([-3,3]);grid on;四、绘制锯齿波和三角波Sawtooth是Matlab中产生锯齿波或三角波的函数在matlab的命令窗口中键入doc sawtooth或者help sawtooth可以获得该函数的帮助信息。用法y sawtooth(t)y sawtooth(t,width)第一种调用方式将产生周期为2π的锯齿波。以0~2π这个周期内为例当t0时y-1当t2π时y1。由此可见在0~2π这个周期内y(t)是关于t的以1/π为斜率的线段。第二种调用方式中width是0到1之间的标量。在0到2π×width区间内y的值从-1线性变化到1在2π×width~2π区间内y的值又从1线性变化到-1。sawtooth(t,1)和sawtooth(t)是等价的。将width设置为0.5可生成标准三角波。锯齿波示例—生成一个周期为2π锯齿波在2pi的整数倍处值为-1和1这一段波形斜率为1/π可以通过以下代码实现t-8*pi:pi/1000:8*pi;ysawtooth(t);plot(t,y),title(周期为2π锯齿波在2pi的整数倍处值为-1和1这一段波形斜率为1/π);% 绘制锯齿波ylim([-2,2])grid on上面程序运行结果如下图所示三角波示例—生成 8 个周期的三角波其基频为 50 Hz采样率为 1 kHz可以通过以下代码实现T 8*(1/50);%频率和周期互为倒数fs 1000;%采样频率和周期互为倒数t 0:1/fs:T;y sawtooth(2*pi*50*t,1/2);plot(t,y),title(三角波);xlim([0,0.2])ylim([-2,2])grid on上面程序运行结果如下图所示大家如果觉得本文对大家学习有帮助请点赞、收藏和关注感谢大家支持

更多文章