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

📄 shiyan6.txt

📁 数值计算(科学计算)实验代码高斯消元楚列斯基分解
💻 TXT
字号:
//  利用增广矩阵解最小二乘问题
public class AugmentedSystem {
	public double[][] constructA(double[] t,double[] y,int n)
	{
		int tLength=t.length;
		double[][] aa=new double[tLength][n];
		for(int i=0;i<tLength;i++)
			aa[i][0]=1;
		for(int i=0;i<tLength;i++)
			for(int j=1;j<n;j++)
				aa[i][j]=aa[i][j-1]*t[i];
		return aa;	
	}
	public double[][] constructAugentArrary(double[][] aaa,int m,int n)
	{
		double[][] augentArrary=new double[m+n][m+n];
		for(int i=0;i<m+n;i++)
			for(int j=0;j<m+n;j++)
				augentArrary[i][j]=0;
		
		
		for(int i=0;i<m;i++)
			augentArrary[i][i]=1;
		
		
		for(int i=0;i<m;i++)
			for(int j=m;j<m+n;j++)
				augentArrary[i][j]=aaa[i][j-m];
		
		for(int i=m;i<m+n;i++)
			for(int j=0;j<m;j++)
				augentArrary[i][j]=aaa[j][i-m];
		
		return augentArrary;	
	}
	public double[] AugmentedSystem (double[][] t,int m,double[] y,int n)
	{
		//int m=t.length;
		//double[][] aaaa=this.constructA(t, y, n);
		double[][] augentA=this.constructAugentArrary(t, m, n);
		double[] xx=new double[m+n];
		double[] yy=new double[m+n];
		for(int i=0;i<m;i++)
			yy[i]=y[i];
		for(int i=m;i<m+n;i++)
			yy[i]=0;
		Gaussian rrrrr=new Gaussian();
		xx=rrrrr.Gaussian(augentA, yy, m+n);
		double[] x=new double[n];
		for(int i=0;i<n;i++)
		    x[i]=xx[i+m];
		
		return x;	
	}
	
}

⌨️ 快捷键说明

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