📄 q607.m
字号:
%《MATLAB在电子信息课程中的应用》第六章例6.7程序q607
% 方波表为多阶正弦波之和
% 电子工业出版社出版 陈怀琛 吴大正 高西全合著 2001年10月
t = 0:.01:2*pi; % 设定一个时间数组,有101个点
y = sin(t);plot(t,y),figure(gcf),pause% 频率为w=1(f=1/2π)的正弦基波
y = sin(t) + sin(3*t)/3; plot(t,y), pause % 叠加三次谐波
% 用1,3,5,7,9次谐波叠加
y = sin(t) + sin(3*t)/3 + sin(5*t)/5 + sin(7*t)/7 + sin(9*t)/9;plot(t,y)
% 为了绘制三维曲面,要把各次波形数据存为一个三维数组,因此必须重新定义y,重编程。
y = zeros(10,max(size(t))); x = zeros(size(t));
for k=1:2:19
x = x + sin(k*t)/k; y((k+1)/2,: ) = x;
end
% 将各波形迭合绘出
pause, figure(1),plot(t,y(1:9,: )),grid
line([0,pi+0.5],[pi/4,pi/4]) % 加上方波幅度线及标注
text(pi+0.5,pi/4,'pi/4')
% 将各半波形绘成三维网格图,看出增加谐波阶次对方波逼近程度的影响
halft=ceil(length(t)/2);
pause, figure(2),mesh(t(1:halft),[1:10],y(:,1:halft)), pause %只用正半周波形
clc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -