huright 发表于 2007-12-19 14:54

蒙特卡洛法解非线性方程组(求助)

哪位知道用蒙特卡洛法解非线性方程组,精度和效率如何?

风花雪月 发表于 2007-12-24 11:20

你可以看看《辐射传递蒙特卡洛法精度分析及数值试验》一文

该文介绍了几种判断计算精度的方法

yelv123 发表于 2007-12-29 14:55

原帖由 huright 于 2007-12-19 14:54 发表 http://www.chinavib.com/forum/images/common/back.gif
哪位知道用蒙特卡洛法解非线性方程组,精度和效率如何?

lhcA 发表于 2008-3-3 11:04

我在使用中遇到一个问题,假设有三个参数,如果x1,x2,x3最终结果数量级接近,那么很好求出,如果其中两个为0,第三个的答案是500,那么在算得时候很难的到0数值。不知道有没有什么好的建议!!!

huright 发表于 2008-3-3 11:23

回复 3楼 的帖子

谢谢,这本书我看了。我主要是关心效率问题

风花雪月 发表于 2008-3-5 10:21

原帖由 huright 于 2008-3-3 11:23 发表 http://www.chinavib.com/forum/images/common/back.gif
谢谢,这本书我看了。我主要是关心效率问题

该算法的计算效率和你需要的精度有很大的关系,因为精度是有采样次数决定的,而采样次数多少直接决定了计算的效率,现在很多文章都试图去解决这个矛盾

风花雪月 发表于 2008-3-5 10:24

原帖由 lhcA 于 2008-3-3 11:04 发表 http://www.chinavib.com/forum/images/common/back.gif
我在使用中遇到一个问题,假设有三个参数,如果x1,x2,x3最终结果数量级接近,那么很好求出,如果其中两个为0,第三个的答案是500,那么在算得时候很难的到0数值。不知道有没有什么好的建议!!!

试着增加采样次数看看

lhcA 发表于 2008-3-5 18:07

回复 7楼 的帖子

试过,不太好使不知道是不是我的方程复杂还是怎么的,总找不到合适的算法。不过话又说回来了,我是学机械出身的,这个还要慢慢摸索。

VibrationMaster 发表于 2008-3-5 19:40

Monte Carlo方法就是慢,是一种不得已的方法

lhcA 发表于 2008-3-6 16:13

多谢提醒。不知道哪种方法对初值要求比较低,或者不需要初值预测的。最近在试着整理方程,看看能不能简化一下。

VibrationMaster 发表于 2008-3-6 19:21

非线性一般用迭代,只要迭代就有初值,出现找到显示解。
用Monte Carlo产生初值就是所谓的狗屁遗传算法。弄得很玄。
线性的显示解总是存在的,因而可以有不用初值的方法。当然如果非用迭代法求解,初值还是要提供的
页: [1]
查看完整版本: 蒙特卡洛法解非线性方程组(求助)