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

📄 main.cpp

📁 实现矩阵加、减、乘和求逆的C++程序
💻 CPP
字号:
/*****************主函数******************/
#include "add.h"
#include "sub.h"
#include "multiple.h"
#include "transpose.h"
#include "inv.h"
#include "randn.h"

#include <iomanip.h>
#include <stdlib.h>

void main()
{
	int m,n,l;
	int M=2,N=3,L=2;
	double P[2][3]={{0.95,0.025,0.025},{0.025,0.95,0.025}};
	double Q[2][3]={{1.95,1.025,1.025},{1.025,1.95,1.025}};
	double R[3][2]={{0.95,0.025},{0.025,0.95},{0.025,0.025}};
    double V[3][3]={{0.95,0.025,0.025},{0.025,0.95,0.025},{0.025,0.025,0.95}};

	double S[2][3]={0};  /******存储矩阵P与Q的和、差*****/
	double T[2][2]={0};  /******存储矩阵P与Q的积*****/
	double U[3][2]={0};  /******存储矩阵P的转置*****/
	double W[3][3]={0};  /******存储矩阵V的逆*****/

	/**********计算并显示P+Q*********/
	add(&P[0][0],&Q[0][0],&S[0][0],M,N);
	cout<<"矩阵P和Q相加的结果为:\n";
	for(m=0;m<M;m++)
	{
		for(n=0;n<N;n++)
			cout<<setw(8)<<S[m][n];
		cout<<'\n';
	}
	cout<<'\n';

	/**********计算并显示P-Q*********/
	sub(&P[0][0],&Q[0][0],&S[0][0],M,N);
	cout<<"矩阵P和Q相减的结果为:\n";
	for(m=0;m<M;m++)
	{
		for(n=0;n<N;n++)
			cout<<setw(8)<<S[m][n];
		cout<<'\n';
	}
	cout<<'\n';

	/**********计算并显示P*R*********/
	multiple(&P[0][0],&R[0][0],&T[0][0],M,N,L);
	cout<<"矩阵P和R相乘的结果为:\n";
	for(m=0;m<M;m++)
	{
		for(l=0;l<L;l++)
			cout<<setw(12)<<T[m][l];
		cout<<'\n';
	}
	cout<<'\n';

	/**********计算并显示P的转置*********/
	transpose(&P[0][0],&U[0][0],M,N);
	cout<<"矩阵P的转置为:\n";
	for(n=0;n<N;n++)
	{
		for(m=0;m<M;m++)
			cout<<setw(8)<<U[n][m];
		cout<<'\n';
	}
	cout<<'\n';

	/**********计算并显示V的逆*********/
	inv(&V[0][0],&W[0][0],N);
	cout<<"矩阵V的逆为:\n";
	for(m=0;m<N;m++)
	{
		for(n=0;n<N;n++)
			cout<<setw(12)<<W[m][n];
		cout<<'\n';
	}
	cout<<'\n';

	/*输出一个服从均值为mu,方差为sigma的正态分布随机数*/
	double mu=0;
	double sigma=1;
	cout<<"产生的正态分布随机数为:"<<randn(mu,sigma)<<"\n\n";
}

⌨️ 快捷键说明

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