标题:非线性方程的一个算法问题
只看楼主
bubuluan
Rank: 1
等 级:新手上路
帖 子:10
专家分:2
注 册:2011-5-10
结帖率:100%
 问题点数:0 回复次数:0 
非线性方程的一个算法问题
我想编一个程序求解一个非线性方程
1=x/sqrt(x-f(x))
f(x)是x的函数,x在(0,1)区间内。
这是举个例子,形式大概是这样,但比这个复杂
本来有牛顿迭代法、二分法、连分式法等多种可以用的方法。
但牛顿迭代法需要有这个方程的导数形式,求不出来。
二分法给定一个范围,0和1倒是可以,但是这个方程的根是很精确的,要想用二分法找到根,需要分的特别细,那几本就和x从0到1循环一个样了
后来就用了连分式法,这个方程有两个根,一个靠近1,一个靠近0,需要靠近1的那个,所以用连分式的时候给的初值x是0.999999,x=1的时f(x)会有错误。
但追踪这个连分式的迭代过程,x值会有时大过1,x大于1的时候方程也有解,但是只能取小于1的那个,所以总是迭代出大于1的解
这个问题困惑我一个星期了,怎么都弄不出来这个了,求高手赐教。
搜索更多相关主题的帖子: 二分法 牛顿 
2011-05-17 12:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-340151-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015965 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved