Mathematica进行Laplace逆变换在一定时间以后失效??
mathematica吧
全部回复
仅看楼主
level 6
Shu_lty 楼主
请问各位,我在进行Laplace逆变换正弦荷载时,在一定时间(10^10 s)以后结果不好,是为什么?谢谢!
代码如下:
<< NumericalInversion.m
P[s_] := Qs = LaplaceTransform[100*(1 + Sin[2 \[Pi]*10^-6*t]), t, s]
time = Table[10^i, {i, 0, 10, 0.01}]
ft = Crump[P[s], s, time]
fig = ListPlot[Transpose[{Log10[time], ft}], PlotRange -> All,
Joined -> True, InterpolationOrder -> 3]
2018年09月29日 18点09分 1
level 6
Shu_lty 楼主
图是这样的
2018年09月29日 18点09分 2
level 6
Shu_lty 楼主
确切的说是10的7次方以后就不行了,按理说正弦荷载是不会收敛的
2018年09月30日 05点09分 4
吧务
level 12
从图上看大概是数值误差的问题,把定义改成
P[s_] = LaplaceTransform[100*(1 + Sin[2 \[Pi]*10^-6*t]), t, s];
试下
如果还不行的话再提高time的精度,比如time = SetPrecision[Table[10^i, {i, 0, 10, 0.01}], 30]
2018年09月30日 16点09分 6
谢谢!我试试[真棒]
2018年09月30日 17点09分
试了一下,还是不行,不知道什么原因?
2018年09月30日 17点09分
@Shu_lty 把Crump的完整定义发上来吧,要不然没法测试也不好找里面到底是什么原因
2018年10月01日 06点10分
@无影东瓜 这个是laplace逆变换中程序包里面的,我只是调用了一下
2018年10月02日 13点10分
level 6
Shu_lty 楼主
问题解决了,这个是程序包的问题,这个问题用InverseLaplaceTransform就可以很好的解决了,谢谢各位!
2018年10月05日 08点10分 8
吧务
level 15
……就我的使用经验来说,FT函数和GWR函数应该算是目前已有的数值拉普拉斯反变换程序包里性能比较好的,当然了,在你这个问题上它们也跪了。(10^10这个参数过于极端。)考虑到数值拉普拉斯反变换本身就是病态问题,我并不期待有哪个纯数值方法可以扛得住任意极端情况。靠符号计算来规避这一困难对这个问题固然是可行的,不过万一出现了找不到符号解的情况嘛……这个等有人问了再说吧。
顺便楼主所说的程序包,以及FT和GWR,都可以比较容易地在网上找到的,但是这不是你不给链接的理由:
http://library.wolfram.com/infocenter/MathSource/2691/
http://library.wolfram.com/infocenter/MathSource/4738/
http://library.wolfram.com/infocenter/MathSource/5026/
2018年10月05日 16点10分 9
emmm,首先谢谢解答!然后我也不是不给链接,我自己也没有,这是别人给的,但是我觉得这程序包没多大意义,后面我发现用mathematica自带的InverseLaplaceTransform就可以解决了(不知道是否靠谱?),我就没有上传了。
2018年10月06日 01点10分
@Shu_lty 当然靠谱,你这是找到了逆变换的符号解。
2018年10月06日 05点10分
level 6
Shu_lty 楼主
顺便发一下我用InverseLaplaceTransform搞的程序:
<< NumericalInversion.m
P[s_] := Qs = LaplaceTransform[100*(1 + Sin[2 \[Pi]*10^-6*t]), t, s]
time = Table[10^i, {i, 0, 10, 0.002}]
ft = InverseLaplaceTransform[P[s], s, time]
fig = ListPlot[Transpose[{Log10[time], ft}], PlotRange -> All,
Joined -> True, InterpolationOrder -> 3]
2018年10月06日 01点10分 10
第一行现在用不着了。还有昨晚忘了说了,你那个扭曲的P[s]定义是怎么回事?
2018年10月06日 05点10分
额,啥意思?扭曲的P[s]?
2018年10月07日 00点10分
@Shu_lty 你这 P[s_] := Qs = 是想干啥
2018年11月03日 13点11分
@xzcyr 那个是复制的时候没删掉,本来没那个的。
2018年11月04日 10点11分
1