square
方波
说明
示例
生成方波
创建一个由 到 之间的 100 个等间距数字组成的向量。生成周期为 的方波。
t = linspace(0,3*pi)'; x = square(t);
绘制方波并叠加一个正弦波。用 归一化 x 轴。对于具有偶数 的区间 [),生成的方波的值为 ,而对于具有奇数 的区间 [),生成的方波的值为 。该波的值永远不会是 。
plot(t/pi,x,'.-',t/pi,sin(t)) xlabel('t / \pi') grid on
重复计算,但现在,基于 和 之间的 121 个等间距数字计算 square(2*t)
。将振幅更改为 。绘制该波,并叠加具有相同参数的正弦波。此新波在 处为负值,而在端点 和 处为正值。
t = linspace(-pi,2*pi,121); x = 1.15*square(2*t); plot(t/pi,x,'.-',t/pi,1.15*sin(2*t)) xlabel('t / \pi') grid on
方波的占空比
生成一个 30 Hz 方波,其采样率为 1 kHz,持续时间为 70 毫秒。指定占空比为 37%。添加方差为 1/100 的高斯白噪声。
t = 0:1/1e3:0.07; y = square(2*pi*30*t,37)+randn(size(t))/10;
计算波的占空比。绘制波形并为占空比添加注释。
dutycycle(y,t)
ans = 0.3639
输入参数
t
— 时间数组
向量 | 矩阵 | N 维数组
时间数组,指定为向量、矩阵或 N 维数组。square
沿大小大于 1 的数组 t
的第一个维度进行运算。
数据类型: single
| double
duty
— 占空比
50
(默认) | 从 0 到 100 的实数标量
占空比,指定为从 0 到 100 的实数标量。
数据类型: single
| double
输出参数
x
— 方波
向量 | 矩阵 | N 维数组
方波,以向量、矩阵或 N 维数组形式返回。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)