矩形波 matlab,Matlab的方波函数

本文介绍了如何在Matlab中使用傅里叶级数生成矩形波。通过symsum函数结合正弦函数的级数表示,可以逼近方波形状。示例代码展示了如何定义时间向量,使用符号计算和数值计算两种方法来实现。随着n值的增加,生成的波形更接近真正的矩形波。
摘要由CSDN通过智能技术生成

好吧,所以看起来你问的第一点是正确的。但是,当您将事物相乘时,您需要使用*运算符...因此2k - 1应为2*k - 1。忽略这一点,给出方波方程,你symsum正确。此函数的输入仅为一个参数 - n。您在上面的等式中看到的是方波的Fourier Series表示。这个理论的一个卑鄙版本是你可以将周期函数表示为正弦函数的无限求和,每个函数加权一定量。你在等式中看到的实际上是方波的傅里叶级数。

n控制要添加到等式中的正弦曲线的总数。你拥有的正弦波越多,功能看起来就越像方波。在问题中,他们希望您使用n的值。如果n变得非常大,它应该开始接近看起来像方波的东西。

symsum将此傅立叶级数表示为t的函数。您现在需要做的是,您需要将t的值替换为此表达式,以获取每个值t的输出幅度。他们已经为您定义了从0到4*pi的向量,其间有1001个点。

定义此向量,然后您需要使用subs将时间值替换为symsum表达式,完成后,将它们转回double,以便你实际上得到了一个数字向量。

因此,您的功能应该是这样:

function [g] = square_wave(n)

syms t k; %// Define t and k

f = sin((2*k-1)*t)/(2*k-1); %// Define function

F = symsum(f, k, 1, n); %// Define Fourier Series

tVector = linspace(0, 4*pi, 1001); %// Define time points

g = double(subs(F, t, tVector)); %// Get numeric output

<
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值