matlab中周期延拓,如何周期延拓函数?

本文介绍了如何在MATLAB中进行周期延拓,通过公式展示了如何将定义在特定区间上的函数扩展为周期函数,提供了三个示例,包括绝对值函数、分段函数和二次函数,并给出了相应的Mathematica作图程序。

在傅里叶级数中我们需要将定义在一个区间[a,b]上的函数f(x)进行周期延拓。

如何写出这个延拓的函数F(x)的表达式?

答:这个延拓后的函数的表达式是:

F(x)=f(x-(b-a)*floor((x-a)/(b-a))       (公式1)

其中floor(u)就是我们所熟悉的取整函数[u]。

如果f(x)定义在区间[-a, a]上,则周期延拓后的函数为

F(x)=f(x-2*a*floor((x+a)/(2*a))       (公式2)

如果f(x)定义在区间[-Pi, Pi]上,则周期延拓后的函数为

F(x)=f(x-2*Pi*floor((x+Pi)/(2*Pi))    (公式3)

例1  将函数f(x)=abs(x) (-Pi<=x<=Pi) 延拓为周期为2*Pi的函数F(x)。(同济大学《高等数学》下册,311页,例5)

解 根据公式3,周期延拓后的函数为

F(x)=abs(x-2*Pi*floor((x+Pi)/(2*Pi))

f(x)的图形

2511601217206057549.png

周期延拓后的函数F(x)的图形

2806024042845403603.png

作图的Mathematica程序:f[x_] := Piecewise[{{-x, -Pi <= x < 0}, {x, 0 <= x <= Pi}}]

L := Pi

F[x_] := f[x - 2*L*Floor[(x + L)/(2*L)]]

A = Plot[f[x], {x, -Pi, Pi}, PlotStyle -> {Red, AbsoluteThickness[3]},AspectRatio -> Automatic, Ticks -> {Range[-2*L, 2*L, Pi/2], Range[-3, 3, 1]}]

B = Plot[F[x], {x, -5*L, 5*L}, AspectRatio -> Automatic];

Show[A, B, PlotRange -> {{-5*L, 5*L}, {-1, 4}}, Ticks -> {Range[-5*L, 5*L, Pi], Range[-3, 3, 1]}]

例2  将函数f(x)=-1 (-Pi<=x<0),f(x)=1(0<=x

解 根据公式3,周期延拓后的函数为

F(x)=f(x-2*Pi*floor((x+Pi)/(2*Pi))

f(x)的图形

576742227297008205.png

周期延拓后的函数F(x)的图形

3093972944020405119.png

作图的Mathematica程序:f[x_] := Piecewise[{{-1, -Pi <= x < 0}, {1, 0 <= x <= Pi}}]

L := Pi

F[x_] := f[x - 2*L*Floor[(x + L)/(2*L)]]

A = Plot[f[x], {x, -Pi, Pi}, PlotStyle -> {Red, AbsoluteThickness[3]},AspectRatio -> 1/2, Ticks -> {Range[-2*L, 2*L, Pi/2], Range[-1/2, 3/2, 1/2]}]

B = Plot[F[x], {x, -4*L, 4*L}, AspectRatio -> 1/2, PlotStyle -> {Blue, AbsoluteThickness[2]}];

Show[B, A, PlotRange -> {{-4*L, 4*L}, {-2, 2}}, Ticks -> {Range[-5*L, 5*L, Pi], Range[-2, 2, 0.5]}]

例3  将函数f(x)=x^2-3*x (2<=x<=5)  延拓为周期为3 的函数F(x)

解 根据公式1,周期延拓后的函数为

F(x)=f(x-3*floor((x-2)/3)

f(x)的图形

2710885500717201484.png

周期延拓后的函数F(x)的图形

600949075294123891.png\

作图的Mathematica程序:f[x_] := Piecewise[{{x*Sin[x/2], 2 <= x < 5}}]

F[x_] := f[x - 3*Floor[(x - 2)/3]]

A = Plot[f[x], {x, -4, 11}, PlotStyle -> {Red, AbsoluteThickness[3]}, Ticks -> {Range[-4, 12, 1], Range[-1, 5, 1]}]

B = Plot[F[x], {x, -4, 11}, PlotStyle -> {Blue, AbsoluteThickness[2]}];

Show[B, A, Ticks -> {Range[-4, 12, 1], Range[-1, 10, 1]}]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值