公告:本站正式转型为非交互式静态网站!
转型:本站将通过笔记和博客的形式继续为大家服务,关于 Mathematica 问答服务请移步至QQ群:365716997
联系:如有问题请联系QQ群管理员,或发送邮件至:lixuan.xyz@qq.com。
感谢:最后非常感谢大家多年来的支持与帮助!
参考《互联网跟帖评论服务管理规定》《中华人民共和国网络安全法》《网络信息内容生态治理规定》《互联网用户账号信息管理规定》

—— 2022-11-27

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

0 投票
5.3k 浏览
我想对自定义函数变量进行限制,如 f[x] = 1,-1<x<1
Clear[f];
f[x_] := 1 /; -1 < x < 1;
Plot[f[x], {x, -2, 3}]

上面是我写的,但是运算速度比较慢(也不知道为什么),而且不能做傅里叶变换

FourierTransform[f[t], t, \[Omega]]

应该要怎么来写

 

分类:函数 | 用户: WMN7 (606 分)

1个回答

0 投票

定义分段函数可以用Piecewise,比如:

f[x_] := Piecewise[{{1, -1 < x < 1}}, 0]

 

用户: 野鹤 (5.1k 分)
嗯,这样可以画出傅里叶变换后的图像
Plot[FourierTransform[f[x], x, w], {w, -10, 10}]
但是这样速度较慢,不知道有没有快的方法
Plot[Evaluate[FourierTransform[f[x], x, w]], {w, -10, 10}]
把这个给忘了~ o(* ̄▽ ̄*)o,谢谢啦
或者像下面这样,原理都是一样的,要记住不要在Plot中计算东西。
比如你这个例子,它不是计算一次Fourier变换,好像是根据绘图精度要计算很多次:
gg = FourierTransform[f[x], x, w];
Plot[gg, {w, -10, 10}]
...