回 帖 发 新 帖 刷新版面

主题:关于试算法

最近在看书的时候遇到了试算的问题,首先需要给出待计算量的一个假定值,然后根据相关条件得到一个对应的计算值,如果该计算值和假定值不在误差要求的范围内,则需要重复试算,直至相符为止。想问下,试算值具体应该怎么给定呢?特别是我不知道这个真值的具体范围的时候?

回复列表 (共5个回复)

沙发

这个要依具体情况而定,可以用试算法解的问题很多,有些初值可以随便给,有些则有一定要求。

板凳

初值的选择自不必说,重点是在后续迭代计算的过程中,试算值怎么选择的问题。。。

3 楼

不太清楚你说的试算跟我理解的是不是一个东西。
这类算法的核心应该就是下次迭代值的选取,如果一个算法没有提供后续迭代值的选取方法,根本就没法算下去。
举个例子,比如牛顿迭代解f(x)=0,取初值x0,则第一次迭代值x1可以根据下式得到
x1 = x0-f(x0)/f'(x0)

4 楼

对最终的解,可以通过易实现的算法得到一个粗糙的估计。
比如解线性方程组,通常都是先用LU/Cholesky分解得到一个近似解,然后用此解作为迭代算法的初始值,得到精确度更高的解。
再比如非线性的问题,可以用其一阶近似解(线性近似)作为初始值,进行迭代,提高最终解的精确度。

5 楼

楼上讲到的情况都是了解的。不过我的问题不属于以上这类,后来发现具体应用时其解应该在某个确定的范围,可以用二分法来编程求解。谢谢了~~

我来回复

您尚未登录,请登录后再回复。点此登录或注册