当前位置:首页 » 《资源分享》 » 正文

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

17 人参与  2024年09月24日 14:41  分类 : 《资源分享》  评论

点击全文阅读


一、引言

   MATLAB是一种具有很强的数值计算和数据可视化软件,提供了许多内置函数来简化数学运算和图形的快速生成。在MATLAB中,你可以使用多种方法来快速绘制正弦波、方波和三角波。以下是一些基本的示例,展示了如何使用MATLAB的命令来实现正弦波、方波和三角波的快速绘制,大家可以在此基础上进行改进,为学习、科研和工作提供便利。

二、绘制正弦波和余弦波

     可以通过sin函数、cos函数和plot来进行绘制,MATLAB详细编程如下。

clear all;

close all;

clc;

close all;

clc;

%%绘制正弦波

t = -2*pi:pi/100:2*pi;  %'时间序列

A=5;%定义幅值

w=2;%角频率--周期T=2pi/w,周期为pi

Phi=pi/6;  %相位

y1 = A*sin(w*t+Phi); % 计算正弦波的值  

plot(t, y1,'LineWidth',2);  %绘制宽度为2正弦波  

title('正弦波和余弦波');  

xlabel('时间');  

ylabel('幅值');  

ylim([-7,7]);  %设置 y 坐标轴取值范围

grid on;  %打开网格

hold on;  %保持图形

y2= A*cos(w*t+Phi); % 计算正弦波的值

plot(t, y2,'LineWidth',2);  %绘制余弦波

legend('sin(w*t+Phi)', 'cos(w*t+Phi)'); %在坐标区上添加图例

运行结果如下图所示:

三、绘制方波

       MATLAB 可以使用square函数产生周期性矩形脉冲信号。其调用形式为 y=square(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π这个周期内为例,当t=0时,y=-1,当t=2π时,y=1。由此可见,在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;

y=sawtooth(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

上面程序运行结果如下图所示:

   大家如果觉得本文对大家学习有帮助,请点赞、收藏和关注,感谢大家支持!


点击全文阅读


本文链接:http://zhangshiyu.com/post/163980.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1