Forgot password?
 Create new account
View 269|Reply 18

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

[Copy link]

123

Threads

463

Posts

3299

Credits

Credits
3299

Show all posts

TSC999 Posted at 2022-6-21 14:17:14 |Read mode
在 mathematica 中,有没有将函数进行周期延拓的指令?其目的是:

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

半波整流函数.png

3147

Threads

8493

Posts

610K

Credits

Credits
66163
QQ

Show all posts

hbghlyj Posted at 2022-6-23 02:37:03
$$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 }$$

3147

Threads

8493

Posts

610K

Credits

Credits
66163
QQ

Show all posts

hbghlyj Posted at 2022-6-23 03:01:41
可以表示为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

123

Threads

463

Posts

3299

Credits

Credits
3299

Show all posts

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

123

Threads

463

Posts

3299

Credits

Credits
3299

Show all posts

 Author| TSC999 Posted at 2022-6-25 08:29:33
类似的问题: 三角波函数和锯齿波函数如何表达?

三角波.png

锯齿波 1.png

15

Threads

948

Posts

110K

Credits

Credits
12412

Show all posts

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

2ArcTan[Tan[x/2]]

Comment

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

123

Threads

463

Posts

3299

Credits

Credits
3299

Show all posts

 Author| TSC999 Posted at 2022-6-25 22:26:00
Last edited by TSC999 at 2022-6-25 23:08:00继续请教,下面这个 \(y=x^2 ,-π≤x≤\pi\) 如何用一个简单函数

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


x 平方的延拓函数.png

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

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

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

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

3147

Threads

8493

Posts

610K

Credits

Credits
66163
QQ

Show all posts

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

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

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

Comment

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

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

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

123

Threads

463

Posts

3299

Credits

Credits
3299

Show all posts

 Author| TSC999 Posted at 2022-6-27 09:34:22
Last edited by TSC999 at 2022-6-27 09:59:00 一般方法之一.png

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

123

Threads

463

Posts

3299

Credits

Credits
3299

Show all posts

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

Comment

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

手机版Mobile version|Leisure Math Forum

2025-4-20 22:23 GMT+8

Powered by Discuz!

× Quick Reply To Top Return to the list