首页 > 编程知识 正文

matlab将函数周期延拓,函数怎么进行周期延拓

时间:2023-05-04 17:55:58 阅读:265576 作者:4947

在傅里叶级数中我们需要将定义在一个区间[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)的图形

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

作图的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)的图形

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

作图的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)的图形

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

作图的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, 快三技巧准确率100

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)的图形

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

作图的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]}]

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。