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

📄 matrixsymmetryregularinversion.cpp

📁 何光渝所著《计算机常用数值算法与程序(C++版)》的随书源代码。 是想学习C++科学计算的人士的必看代码。
💻 CPP
字号:
//MatrixSymmetryRegularInversion.cpp  用“变量循环重新编号法”法求对称正定矩阵逆

#include <iostream>		//输入输出流
#include "Matrix.h"		//矩阵类及相关函数等的定义
using namespace std;	//名字空间

void main()				// 定义控制台应用程序的入口点
{
	const double dmb[4][4] = 
	{
		{0.2368,0.2471,0.2568,1.2671},
        {1.1161,0.1254,0.1397,0.1490},
        {0.1582,1.1675,0.1768,0.1871},
        {0.1968,0.2071,1.2168,0.2271}
	};

	const double dma[4][4] = 
	{
		{ 5.0,  7.0,  6.0,  5.0},
		{ 7.0, 10.0,  8.0,  7.0},
		{ 6.0,  8.0, 10.0,  9.0},
		{ 5.0,  7.0,  9.0, 10.0} 
	};

	const double dmc[4][4] = 
	{
		{  3.0, -3.0, -2.0,  4.0 },
		{  5.0, -5.0,  1.0,  8.0 },
		{ 11.0,  8.0,  5.0, -7.0 },
		{  5.0, -1.0, -3.0, -1.0 } 
	};

	matrix<double> matA(&dma[0][0], 4, 4);
	matrix<double> matB(matA);
	
	cout << "matA: " << endl;

	MatrixLinePrint(matA);			//按行输出矩阵matA

	int iValue = MatrixSymmetryRegularInversion(matA);
	if(iValue > 1)
	{
		cout << endl << "Inversion(matA) : " << endl;

		MatrixLinePrint(matA);			//按行输出矩阵matA的逆

		cout << endl << "Inversion(matA) * matA : " << endl;

		matA = matA * matB;
		MatrixLinePrint(matA);			//按行输出矩阵matA与逆的乘积
	}
	else
		cout << "matA 不是对称正定阵!" << endl;
}

⌨️ 快捷键说明

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