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

📄 le_totalchoicegaussjordan.cpp

📁 何光渝所著《计算机常用数值算法与程序(C++版)》的随书源代码。 是想学习C++科学计算的人士的必看代码。
💻 CPP
字号:
//LE_TotalChoiceGaussJordan.cpp	全选主元高斯-约当消去法 

#include <iostream>				//输入输出流头文件
#include "LinearEquation.h"		//线性方程(组)求解头文件

void main()
{
	int i;
    double a[4][4] =			//实系数矩阵
	{
		{1.0,  3.0,  2.0,  13.0},
        {7.0,  2.0,  1.0,  -2.0},
        {9.0,  15.0, 3.0,  -2.0},
        {-2.0, -2.0, 11.0, 5.0}
	};
    
	double b[4][2] = 
	{
		{9.0,  0.0},
		{6.0,  4.0},
        {11.0, 7.0},
		{-2.0, -1.0}
	};
    
	matrix<double> aa(&a[0][0], 4, 4);
	matrix<double> bb(&b[0][0], 4, 2);
	
  	cout.setf(ios::fixed);	//输出数据为定点法
	cout.precision(6);		//精度6位

	if(LE_TotalChoiceGaussJordan(aa, bb) != 0)
	{
		for(i = 0; i < 4; i++)		//输出实数解
		{
			cout << "x(" << i << ") = ";
			MatrixLinePrint(bb, i);
		}
	}
	cout<<endl;

	complex<double> caa[4][4] = 	//复系数矩阵
	{
		{complex<double>(1.0,3.0),   complex<double>(3.0,-2.0),
	     complex<double>(2.0,1.0),   complex<double>(13.0,6.0)},
		{complex<double>(7.0,-2.0),  complex<double>(2.0,7.0),
		 complex<double>(1.0,5.0),   complex<double>(-2.0,8.0)},
		{complex<double>(9.0,9.0),   complex<double>(15.0,-3.0),
		 complex<double>(3.0,15.0),  complex<double>(-2.0,1.0)},
		{complex<double>(-2.0,-2.0), complex<double>(-2.0,-2.0),
		 complex<double>(11.0,7.0),  complex<double>(5.0,6.0)} 
	};

	matrix<complex<double> > mcaa(&caa[0][0], 4, 4);

	complex<double> cbb[4][2] = 
	{
		{complex<double>(2.0, 1.0), complex<double>(-2.0, 3.0)},
		{complex<double>(7.0, 2.0), complex<double>( 3.0, 7.0)},
		{complex<double>(3.0,-2.0), complex<double>( 2.0, 9.0)},
		{complex<double>(9.0, 3.0), complex<double>( 1.0, 2.0)} 
	};
	
	matrix<complex<double> > mcbb(&cbb[0][0], 4, 2);
	

	if(LE_TotalChoiceGaussJordan(mcaa, mcbb) != 0)
	{
		for(i = 0; i < 4; i++)		//输出复数解
		{
			cout << "cx(" << i << ") = " ;
			MatrixLinePrint(mcbb, i);
		}
	}
	cout << endl;
}

⌨️ 快捷键说明

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