⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fixedpointiteration.java

📁 数值计算(科学计算)实验代码高斯消元楚列斯基分解
💻 JAVA
字号:
import java.math.*;
public class FixedPointIteration {
	public double[] FixedPointIteration(double[] a)
	{
		double[] b=new double[3];
		for(int i=0;i<100;i++)
			{b[0]=-Math.acos(a[0])/81+Math.pow(a[1], 2)/9+Math.asin(a[2])/3;
			 b[1]=Math.asin(a[0])/3+Math.acos(a[2])/3;
			 b[2]=-Math.acos(a[0])/9+a[1]/3+Math.asin(a[2])/6;
			 a[0]=b[0];
			 a[1]=b[1];
			 a[2]=b[2];
			 System.out.println(a[0]+"\t"+a[1]+"\t"+a[2]+"\n");
			}
		return a;
	}
	public double[] newtonMethod(double[] a)
	{
	double[][] j=new double[3][3];
	double[] f=new double[3];
	double[] b=new double[3];
	for(int i=0;i<10;i++)
	{
		j[0][0]=1-Math.sin(a[0])/81;
		j[0][1]=-2*a[1]/9;
		j[0][2]=-Math.cos(a[2])/3;
		// System.out.println(j[0][0]+"\t"+j[0][1]+"\t"+j[0][2]+"\n");
		
		j[1][0]=Math.cos(a[0])/3;
		j[1][1]=-1;
		j[1][2]=-Math.sin(a[2])/3;
		//System.out.println(j[1][0]+"\t"+j[1][1]+"\t"+j[1][2]+"\n");
		
		j[2][0]=-Math.sin(a[0])/9;
		j[2][1]=-1/3;
		j[2][2]=1-Math.cos(a[2])/6;
		//System.out.println(j[2][0]+"\t"+j[2][1]+"\t"+j[2][2]+"\n");
		
		f[0]=-(a[0]+Math.cos(a[0])/81-Math.pow(a[1], 2)/9-Math.sin(a[2])/3);
		//System.out.println(f[0]);
		f[1]=-(Math.sin(a[0])/3-a[1]+Math.cos(a[2])/3);
		//System.out.println(f[1]);
		f[2]=-(Math.cos(a[0])/9-a[1]/3+a[2]-Math.sin(a[2])/6);
		//System.out.println(f[2]);
		
		Gaussian ccc=new Gaussian();
		b=ccc.Gaussian(j, f, 3);
		for(int k=0;k<3;k++)
			{
			//System.out.print(b[k]+"\t");
			a[k]=a[k]+b[k];
			System.out.print(a[k]+"\t");
			}
		System.out.print("\n");
		System.out.println();
		
	}
	return a;	
	}
	public static void main(String[] args) {
		FixedPointIteration aaa=new FixedPointIteration();
		double[] b={0,0,0};
		b=aaa.FixedPointIteration(b);
		System.out.println("牛顿法:");
		b=aaa.newtonMethod(b);
	}

}

⌨️ 快捷键说明

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