蒙特卡洛法解非线性方程组(求助)
哪位知道用蒙特卡洛法解非线性方程组,精度和效率如何? 你可以看看《辐射传递蒙特卡洛法精度分析及数值试验》一文该文介绍了几种判断计算精度的方法 原帖由 huright 于 2007-12-19 14:54 发表 http://www.chinavib.com/forum/images/common/back.gif
哪位知道用蒙特卡洛法解非线性方程组,精度和效率如何?
我在使用中遇到一个问题,假设有三个参数,如果x1,x2,x3最终结果数量级接近,那么很好求出,如果其中两个为0,第三个的答案是500,那么在算得时候很难的到0数值。不知道有没有什么好的建议!!!
回复 3楼 的帖子
谢谢,这本书我看了。我主要是关心效率问题 原帖由 huright 于 2008-3-3 11:23 发表 http://www.chinavib.com/forum/images/common/back.gif谢谢,这本书我看了。我主要是关心效率问题
该算法的计算效率和你需要的精度有很大的关系,因为精度是有采样次数决定的,而采样次数多少直接决定了计算的效率,现在很多文章都试图去解决这个矛盾 原帖由 lhcA 于 2008-3-3 11:04 发表 http://www.chinavib.com/forum/images/common/back.gif
我在使用中遇到一个问题,假设有三个参数,如果x1,x2,x3最终结果数量级接近,那么很好求出,如果其中两个为0,第三个的答案是500,那么在算得时候很难的到0数值。不知道有没有什么好的建议!!!
试着增加采样次数看看
回复 7楼 的帖子
试过,不太好使不知道是不是我的方程复杂还是怎么的,总找不到合适的算法。不过话又说回来了,我是学机械出身的,这个还要慢慢摸索。 Monte Carlo方法就是慢,是一种不得已的方法 多谢提醒。不知道哪种方法对初值要求比较低,或者不需要初值预测的。最近在试着整理方程,看看能不能简化一下。 非线性一般用迭代,只要迭代就有初值,出现找到显示解。用Monte Carlo产生初值就是所谓的狗屁遗传算法。弄得很玄。
线性的显示解总是存在的,因而可以有不用初值的方法。当然如果非用迭代法求解,初值还是要提供的
页:
[1]