matlab 中画方波的square函数怎么设置周期和峰值

matlab 中画方波的square函数怎么设置周期和峰值,第1张

一、在MATLAB中用square函数来表示,其调用形式为 y=square(t,DUTY) ,其作用类似于sin(t),用以产生一个时长为t、幅值为±1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。例如频率为30Hz的周期性方波信号的MATLAB程序和图形如下:

1、在MATLAB的命令框内输入方波程序,如下图所示:

2、在输入完成图形显示函数plot后,会显示出来图形,grid,ylim意思是对图形显示的y坐标进行限制。该程序是将图形y坐标限制在(-15,15)。

二、y=square(t,DUTY) 函数默认的幅值是±1,想要改变幅值,只需要乘以一个系数即可,改变周期的话,将频率30改成其他即可。如y=2square(t,DUTY)。程序和图形如下图所示:

扩展资料:

MATLAB系统由MATLAB开发环境、MATLAB数学函数库、MATLAB语言、MATLAB图形处理系统和MATLAB应用程序接口(API)五大部分构成。

1、开发环境

MATLAB开发环境是一套方便用户使用的MATLAB函数和文件工具集,其中许多工具是图形化用户接口。它是一个集成的 用户工作空间,允许用户输入输出数据,并提供了M文件的集成编译和调试环境,包括MATLAB桌面、命令窗口、M文件编辑调试器、MATLAB工作空间和在线帮助文档。

2、数学函数

MATLAB数学函数库包括了大量的计算算法。从基本算法如四则运算、三角函数,到复杂算法如矩阵求逆、快速傅里叶变换等。

3、语言

MATLAB语言是一种高级的基于矩阵/数组的语言,它有程序流控制、函数、数据结构、输入/输出和面向对象编程等特色。用这种语言能够方便快捷建立起简单运行快的程序,也能建立复杂的程序。

4、图形处理

图形处理系统使得MATLAB能方便的图形化显示向量和矩阵,而且能对图形添加标注和打印。它包括强大的二维三维图形函数、图像处理和动画显示等函数。

5、程序接口

MATLAB应用程序接口(API)是一个使MATLAB语言能与C、Fortran等其它高级编程语言进行交互的函数库。该函数库的函数通过调用动态链接库(DLL)实现与MATLAB文件的数据交换,其主要功能包括在MATLAB中调用C和Fortran程序,以及在MATLAB与其它应用程序间建立客户、服务器关系。

-MATLAB

你把画图函数plot(t1,x1,t2,x2)

放在循环里,而t1,

x1,

t2,x2

都是只有两个元素的数组

每次都只会话2个点

所以是两条线段

1、下图所示为MATLAB的工作界面。

2、需要定义x变量(在工作命令窗口输入下述命令)x=0:001:4pi。

3、定义y与x之间的函数关系,输入:>>y=cos(x)。

4、可以观察到MATLAB的workspace窗口出现如下图所示的两个变量,变量中分别存储这x和y的数值信息。

5、输入:>>plot(x,y,'r-');即可出现如下图所示的y = cos(x) 在 [0, 4π] 上的图像。

6、如果对plot函数不熟悉的话,我们可以输入:>>doc plot,命令,来调用帮助对话框,查看帮助文档。

function rectexpd(T1,T0,m)

%矩形信号串信号分解与合成

%T1:矩形信号区间为(-T1/2,T1/2)

%T0:矩形信号串周期

%m:傅里叶级数展开项次数

t1=-T1/2:001:T1/2;

t2=T1/2:001:(T0-T1/2);

t=[(t1-T0)';(t2-T0)';t1';t2';(t1+T0)'];

n1=length(t1);n2=length(t2); %根据周期矩形信号函数周期,计算点数

f=[ones(n1,1);zeros(n2,1);ones(n1,1);zeros(n2,1);ones(n1,1)]; %构造周期矩形信号串

y=zeros(m+1,length(t));y(m+1,:)=f';

figure(1);

plot(t,y(m+1,:)); %绘制周期矩形信号串

axis([-(T0+T1/2)-05,(T0+T1/2)+05,0,12]);

set(gca,'XTick',[-T0,-T1/2,T1/2,T0]);

set(gca,'XTickLabel',{'-T0','-T1/2','T1/2','T0'});

title('矩形信号串');grid on;

a=T1/T0;

pause; %绘制离散幅度谱

freq=[-20:1:20];

mag=abs(asinc(afreq));

stem(freq,mag);

x=aones(size(t)); %T1f0

for k=1:m %循环显示谐波叠加图形

pause;

x=x+2asinc(ak)cos(2pitk/T0);

y(k,:)=x;

plot(t,y(m+1,:));hold on;

plot(t,y(k,:));hold off;grid on;

axis([-(T0+T1/2)-05,[T0+T1/2]+05,-05,15]);

title(strcat(num2str(k),'次谐波叠加'));

xlabel('t');end %同一级对齐

pause;

plot(t,y(1:m+1,:));grid on;

axis([-T0/2,T0/2,-05,15]);

title('各次谐波叠加');xlabel('t');

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12462455.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存