Skip to content

Hannah-Zhou/ALG_of_Nolinear_Equation

Repository files navigation

-------------------------------------------------------------------------------------------------------------------------------------------
1 简介
-------------------------------------------------------------------------------------------------------------------------------------------
本算法包实现1-D非线性方程求解功能。
包含算法:
	(1)二分类算法:二分法
	(2)Newton类算法:Newton法、三阶Newton法、Newton方程组法(测试版)
	(3)Illinois算法族:标准Illinois算法、Illinois算法(Pe.改进)、Illinois算法(A&B改进)、Illinois算法(其他改进版本)
	(4)Steffensen加速算法族:标准Steffensen算法、改进的Steffensen算法
	(5)抛物线算法:基于数值积分启发的抛物线算法
使用每个算法都具有类似的流程,算法也将给出不同的结果,包括迭代分析、停机分析、结果显示与收敛性误差绘图。
-------------------------------------------------------------------------------------------------------------------------------------------
2 使用教程
-------------------------------------------------------------------------------------------------------------------------------------------
直接使用matlab修改源代码中的部分前置内容即可运行。需要修改的内容包括:
	(1)目标函数。在function f中输入需要的函数类型,一般以y = f(x)进行定义。输入的f(x)对应原方程中的f(x) = 0。
	(2)迭代区间。在function Area(或area)中修改迭代的迭代区间。确保您输入的区间足够大以支持函数的迭代,
	因为本算法将否定一切超出迭代区间的迭代过程(抛出错误)。
	* 当您遇到这样的错误时,请检查您使用的迭代区间是否足够支撑充分的迭代探索。
	(3)初始点(集)。在本算法包中,所有的初始点默认为:(a)当算法需要1个初始点时,使用区间的中点;(b)当算法需要2个
	及以上初始点时,使用区间的对应等分点作为初始点集。
		如果想自己制定初始点,请按如下顺序直接修改程序:
		(i)在主程序中指定初始点start_point = X.X;
		(ii)而后在算法的主函数中加入命令"w = start_point"。
		例如,在Newton法程序中指定初始点为1,进行的操作是:
			(i)在主程序中指定初始点start_point = 1.0;
			(ii)而后在function Newton()中输入w = start_point。
	(4)最大迭代步数。在"max_step = X;"中定义。
	(5)最大函数容忍限度。最大函数容忍度作为良性停机准则使用,认为若迭代点使得函数的绝对值小于该值时,迭代可以停止。
	在"max_f_step = Y;"中定义。
	(6)最大步长容忍限度。最大步长容忍度作为良性停机准则使用,认为若迭代点更新的步长小于该值时,迭代可以停止。
	在"max_x_step = Y;"中定义。
	(7)特殊参数。部分算法所具有的特殊参数。
	例如main_of_Illinois_advanced_single程序将具有多种迭代的不同格式,在源代码主函数中可以直接通过注释的形式进行调用。
	其地址在源代码第90-97行。
-------------------------------------------------------------------------------------------------------------------------------------------
3 程序表
-------------------------------------------------------------------------------------------------------------------------------------------
main_of_**
	bisection                              二分法
	newton                                Newton法
	newton_P3                           三阶Newton法(复结构)
	group_newton                     Newton方程组法
	illinois_basic_single              Illinois算法
	illinois_advanced_single       Illinois改进算法(包括Pe.改进、A&B改进及其他若干改进类型)
	illinois_int_steff                    Steffensen加速算法(1)
	illinois_int_steff_2                 Steffensen加速算法(2)
	parabola                              抛物线算法
-------------------------------------------------------------------------------------------------------------------------------------------
4 技术支持
-------------------------------------------------------------------------------------------------------------------------------------------
作者:周睿涵(RuihanZhou),武汉大学 数学与统计学院
发布时间:2020/12/20
版本:测试用
类型:源代码
支持:University Connection: rhzhou.math@whu.edu.cn

About

本算法包实现1-D非线性方程求解功能。使用每个算法都具有类似的流程,算法也将给出不同的结果,包括迭代分析、停机分析、结果显示与收敛性误差绘图。详情请见【readme.txt】。】

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages