找回密码
 快速注册
搜索
查看: 84|回复: 18

正弦半波整流函数如何用 mathematica 求其傅里叶展开式

[复制链接]

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

TSC999 发表于 2022-6-21 14:17 |阅读模式
在 mathematica 中,有没有将函数进行周期延拓的指令?其目的是:

例如,正弦半波整流函数如何用 FourierTrigSeries 指令求其傅里叶展开式?

半波整流函数.png

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-6-23 02:37


$$y=\begin{cases}\sin x&2kπ⩽x⩽(2k+1)π\\0&(2k+1)π⩽x⩽(2k+2)π\end{cases}$$ 可以表示为:正弦函数乘以方波函数 $$\verb|Sin[x] (1 + SquareWave[x/(2 Pi)])/2|$$




方波(SquareWave)函数:


FourierCoefficient求出第n项系数:$$-\frac{(-1)^n+1}{2 \pi (n-1) (n+1)}$$


FourierSeries然后ExpToTrig: $$\frac{1}{\pi }+\frac{\sin (x)}{2}-\frac{2 \cos (2 x)}{3 \pi }-\frac{2 \cos (4 x)}{15 \pi }-\frac{2 \cos (6 x)}{35 \pi }$$

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-6-23 03:01


可以表示为sin(x)乘以sin(x)的Heaviside theta函数 $$y=\sin(x)·θ(\sin(x))$$ 其中$θ(x)=\begin{cases}0&x<0\\1&x>0\end{cases}$


可以表示为$\frac12(\sin(x)+|\sin(x)|)$



同上,可以计算FourierSeries

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2022-6-24 07:53
非常感谢 hbghlyj 老师的精彩答复!看来正弦半波整流函数有多种表达方式。其中乘以赫维赛德函数的方法和加上正弦绝对值函数的方法最好,因为这二者的傅里叶变换时间都很短,都小于 1 秒。那个加上正弦乘方波的表达式,傅里叶变换时间将近 20 秒。

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2022-6-25 08:29
类似的问题: 三角波函数和锯齿波函数如何表达?

三角波.png

锯齿波 1.png

15

主题

958

回帖

1万

积分

积分
12454

显示全部楼层

色k 发表于 2022-6-25 13:36
TSC999 发表于 2022-6-25 08:29
类似的问题: 三角波函数和锯齿波函数如何表达?

ArcSin[Sin[x]]

2ArcTan[Tan[x/2]]

点评

好利害!这是临时想出来的还是过去就知道的?  发表于 2022-6-25 19:38
这名字我喜欢

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2022-6-25 22:26
本帖最后由 TSC999 于 2022-6-25 23:08 编辑 继续请教,下面这个 \(y=x^2 ,-π≤x≤\pi\) 如何用一个简单函数

在 (-∞,+∞) 上进行延拓?


x 平方的延拓函数.png

另外,mathematica 软件有没有一个通用的方法,能把某个区间的函数延拓成在 (-∞,+∞) 上的周期函数?

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

kuing 发表于 2022-6-26 14:49
回复 6# 的点评:
好利害!这是临时想出来的还是过去就知道的?

第一个是早就知道的,当年在 kuing.cjhb.site/forum.php?mod=viewthread&tid=133 里就玩过。
第二个是即场想的(当然也是参考了第一个

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-6-26 14:57
TSC999 发表于 2022-6-25 15:26
继续请教,下面这个 \(y=x^2 ,-π≤x≤\pi\) 如何用一个简单函数

在 (-∞,+∞) 上进行延拓?

(抢答
$$y=\left(2\arctan\left(\tan\frac{x}{2}\right)\right)^{2}$$

点评

哇!真没想到,这都能用简单函数进行延拓!【数学中国】和【数学研发】网站上没有一个人能解答。  发表于 2022-6-27 08:03
就是利用了 6# 的第二个函数  发表于 2022-6-27 12:29
y=(2arcsin(sin(x/2)))^2  也可以。  发表于 2022-6-28 05:53
y=(arccos(cosx))^2 也可以。  发表于 2022-6-28 06:01

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

kuing 发表于 2022-6-26 15:03
另外,我还想起了这帖:kuing.cjhb.site/forum.php?mod=viewthread&tid=5947

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2022-6-27 09:34
本帖最后由 TSC999 于 2022-6-27 09:59 编辑

一般方法之一.png

上面是将版主 k 先生的帖子换成 mathematica 程序以后的情况。最后一行是将延拓后的函数展成傅氏级数的前几项。

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2022-6-27 10:02
用上面 k 版主的方法,如何将 \(y= x^2;   (-\pi ≤ x ≤\pi )\)  延拓成 \((-∞,+∞)\) 区间上的周期函数\(f(x)\)?

点评

除了 9# 楼的公式以外,f(x) = (2arcsin(sin(x/2)))^2 也可以。  发表于 2022-6-28 05:55
除了 9# 楼的公式以外,f(x) = (arccos(cosx))^2 也可以。  发表于 2022-6-28 06:04

手机版|悠闲数学娱乐论坛(第3版)

GMT+8, 2025-3-4 12:21

Powered by Discuz!

× 快速回复 返回顶部 返回列表