zoukankan      html  css  js  c++  java
  • 雅克比迭代

    #include<iostream>
    #include<fstream>
    #include<string>
    using namespace std;
    int main()
    {
    	double **A_B_Matrix;  //矩阵A和B结合
    	double **X_Matrix;    //X取值
        string s;            //缓存用
        double dd;           //缓存用
    	//int m;               //矩阵列数
    	int n;               //矩阵的行数
    	int k;               //要求迭代次数
    	//m=0;
    	n=0;
    	char c;
    	ifstream read("data.dat");
    	while(getline(read,s))    //检测矩阵有几行
    	{
    		n++;
    	}
    	read.close();         
    	/*read.open("data.dat");
    	while(1)               //检测矩阵有几列
    	{
    		read>>dd;
    		m++;
    		c=read.peek();
    		if('
    '==c)
    			break;
    	}
    	read.close();    */  
    	cout<<"请输入要求的迭代次数"<<endl;
    	cin>>k;
    	A_B_Matrix=(double **)new double *[n];//为矩阵AB分配行空间
    	X_Matrix=(double **)new double[k+1];  //为X分配空间
    	for(int i=0;i!=n;i++)     //为矩阵A_B分配空间
    	{
    		A_B_Matrix[i]=new double[n];
    	}
    	read.open("data.dat");
    	int tem;              //缓存用
    	tem=0;
    	while(!read.eof())        //将文件中的矩阵输入到A_B中
    	{
    		for(int j=0;j!=n+1;j++)
    		{
               read>>A_B_Matrix[tem][j];
    		}
    	  tem++;
    	}
    	read.close();
    	for(int i=0;i!=k+1;i++)   //为X矩阵分配空间
    	{
    		X_Matrix[i]=new double[n];
    	}
    	
        cout<<"请输入初始向量"<<endl;
    	for(int i=0;i!=n;i++)             //输入初始向量X
    	{
    		cin>>X_Matrix[0][i];
    	}
        for(int i=1;i!=k+1;i++)         //进入迭代循环
    	{
    		for(int j=0;j!=n;j++)
    		{
    			double sum=0;
    			for(int nn=0;nn!=n;nn++)
    			{
    				if(j==nn)
    				{
    					sum+=0;
    				}
    				else
    				{
    					sum+=-A_B_Matrix[j][nn]*X_Matrix[i-1][nn];
    				}
    			}
    			X_Matrix[i][j]=(sum+A_B_Matrix[j][n])/A_B_Matrix[j][j];  
    		}
    	}
    	cout<<"经过"<<k<<"迭代,所得结果为"<<endl;
    	for(int i=0;i!=n;i++)
    	{
    		cout<<X_Matrix[k][i]<<'	';
    	}
    	system("pause");
    	return 0;
    }
    

  • 相关阅读:
    Windows2012中安装PHP-5.6.20+Apache httpd2.4.18+Composer+Laravel+MySQL5.7
    CentOS7安装使用MySQL
    使用passenger在Centos7部署Puma+Nginx+Ruby on Rails
    DOS和UNIX文本文件之间相互转换的方法
    CentOS7安装vim7.4
    Python多版本共存之pyenv
    我的Shell + VIM配置
    CentOS7安装Python3.5
    CentOS7系统下搭建Jenkins环境
    Windows系统下搭建Jenkins环境
  • 原文地址:https://www.cnblogs.com/zztong/p/6695288.html
Copyright © 2011-2022 走看看