nonlinearequations.java

来自「数值计算(科学计算)实验代码高斯消元楚列斯基分解」· Java 代码 · 共 43 行

JAVA
43
字号

public class NonlinearEquations {
	public void FixedPointItertion(double x,int n,double[] xishu)
	{
		//利用牛顿法求g(x)
		for(int k=0;k<150;k++)
		{	
	    x=x-this.fValue(x, n, xishu)/this.ffValue(x, n, xishu);
		System.out.println(x);
		}	
	}
	//代数式形式为f(x)=ax^4+bx^3+cx^2+dx+e
	public double fValue(double x,int cishu,double[] xishu)
	{
		//double fValue=0;
		double[] fff=new double[cishu+1];
		for(int i=0;i<=cishu;i++)
			fff[i]=xishu[i];
		for(int i=0;i<=cishu;i++)
			for(int j=0;j<cishu-i;j++)
				fff[i]=fff[i]*x;
		double sum=0;
		for(int i=0;i<=cishu;i++)
			sum=sum+fff[i];
		return sum;	
	}
	//求f(x)的导数
	public double ffValue(double x,int cishu,double[] xishu)
	{
		double[] fff=new double[cishu];
		for(int i=cishu;i>0;i--)
			fff[cishu-i]=xishu[cishu-i]*i;
		for(int i=0;i<cishu;i++)
			for(int j=0;j<cishu-i-1;j++)
				fff[i]=fff[i]*x;
		double sum=0;
		for(int i=0;i<cishu;i++)
			sum=sum+fff[i];
		return sum;		
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?