一个MATLAB中傅里叶级数变换的函数

本文介绍了一个在MATLAB中实现傅里叶级数变换的自定义函数,详细解释了如何编写并保存该函数,以便在未来的项目中进行调用。此函数能够计算傅里叶级数的余弦项和正弦项系数,并适用于给定的函数和区间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个MATLAB中傅里叶级数变换的函数

很多朋友在做傅里叶级数变换时,会发自己的matlab中并不带有傅里叶级数变换函数,这就需要我们自己编一个级数变换函数。在大学高数我们学过傅里叶级数的变换原理,就是下面的公式了,方便大家理解后面的代码。

在这里插入图片描述

具体的代码就是下面的了,大家要记得保存为fseries.m格式,今后用时直接调用就可以啦。


function [an,bn,f]=fseries(fx,x,n,a,b)
%傅里叶级数展开
%an为fourier余弦项系数
%bn为fourier正弦项系数
%f为展开表达式
%f为给定函数
%x为自变量
%n为展开系数
%a,b为x的区间,默认为[-pi,pi]
 
if nargin==3
    a=-pi;
    b=pi;
end
l=(b-a)/2;
if a+b
    fx=subs(fx,x,x+l+a);
end
an=int(fx,x,-l,l)/l;
bn=[];
f=an/2;
for ii=1:n
    ann=int(fx*cos(ii*pi*x/l),x,-l,l)/l;
    bnn=int(fx*sin(ii*pi*x/l),x,-l,l)/l;
    an=[an,ann];
    bn=[bn,bnn];
    f=f+ann*cos(ii*pi*x/l)+bnn*sin(ii*pi*x/l);
end
if a+b
    f=subs(f,x,x-l-a);
end


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值