n阶矩阵求逆矩阵(C++面向对象)

合集下载

求矩阵的逆矩阵的方法

求矩阵的逆矩阵的方法

求矩阵的逆矩阵的方法矩阵的逆矩阵是线性代数中的重要概念,它在解线性方程组、计算行列式和求解线性变换等问题中具有重要的应用价值。

在实际问题中,我们经常需要求解矩阵的逆矩阵,因此掌握求解逆矩阵的方法对于深入理解线性代数具有重要意义。

本文将介绍几种常用的求解矩阵逆的方法,希望能够帮助读者更好地理解和掌握这一重要概念。

方法一,代数余子式法。

对于一个n阶矩阵A,如果它的行列式|A|不等于0,则矩阵A是可逆的,即存在逆矩阵A^(-1)。

我们可以通过代数余子式的方法来求解矩阵的逆矩阵。

首先,我们需要计算矩阵A的伴随矩阵adj(A),然后利用公式A^(-1) = adj(A)/|A|来求解逆矩阵。

这种方法在理论上是可行的,但在实际计算中可能会比较复杂,尤其是对于高阶矩阵来说,计算量会非常大。

方法二,初等变换法。

初等变换法是一种比较直观和简单的方法,它通过一系列的初等行变换将原矩阵变换为单位矩阵,然后将单位矩阵通过相同的初等行变换变换为逆矩阵。

这种方法在实际计算中比较方便,并且适用于各种情况,但是需要进行大量的计算,对于高阶矩阵来说,计算量也会比较大。

方法三,矩阵分块法。

矩阵分块法是一种比较灵活和高效的方法,它将原矩阵分解为若干个子矩阵,然后通过一定的变换将原矩阵变换为单位矩阵,再将单位矩阵变换为逆矩阵。

这种方法在理论上和实际计算中都比较方便,尤其适用于特殊结构的矩阵,如对称矩阵、三对角矩阵等。

但是对于一般的矩阵来说,可能会比较繁琐。

方法四,Gauss-Jordan消元法。

Gauss-Jordan消元法是一种经典的求解逆矩阵的方法,它通过一系列的行变换将原矩阵变换为单位矩阵,然后将单位矩阵变换为逆矩阵。

这种方法在实际计算中比较高效和方便,尤其适用于计算机程序实现。

但是对于特殊结构的矩阵,可能会存在一些特殊情况需要处理。

综上所述,求解矩阵的逆矩阵有多种方法,每种方法都有其适用的场景和特点。

在实际问题中,我们可以根据具体的情况选择合适的方法来求解逆矩阵,以达到高效、准确地计算的目的。

逆矩阵的求法及逆矩阵的应用

逆矩阵的求法及逆矩阵的应用

逆矩阵的几种求法及逆矩阵的应用摘要:在现代数学中,矩阵是一个非常有效而且应用广泛的工具,而逆矩阵则是矩阵理论中一个非常重要的概念。

关于逆矩阵的求法及逆矩阵的应用的探讨具有非常重要的意义。

目前,对于逆矩阵的求法及其应用领域的研究已比较成熟。

本文将对逆矩阵的定义、性质、判定方法及求法进行总结,并初步探讨矩阵的逆在编码、解码等方面的应用。

关键词:矩阵逆矩阵逆矩阵的求法逆矩阵的应用The methods for identifying inverse matrix and application of inverse matrix Abstract: In modern mathematics,matrix is an effective tool with extensive application,and inverse matrix is a significant concept in matrix theory. The disduss about the way to evaluating inverse matrix and its application is of an important meaning with mature development at present. This paper will summarize the definition and properties of inverse matrix and disscuss the methods evaluating inverse matrix.We will also talk about the application of inverse matrix, especially its application in encoding and decoding. Keywords: Matrix Inverse matrix The way to evaluating inverse matrix Application of inverse matrix一:引言在现代数学中,矩阵是一个有效而应用广泛的工具。

c语言矩阵求逆

c语言矩阵求逆

c语言矩阵求逆C语言矩阵求逆介绍:矩阵求逆是数学中的一个重要问题,它在工程、科学和计算机科学中都有广泛的应用。

在C语言中,我们可以通过编写程序来实现矩阵求逆的功能。

本文将介绍如何使用C语言来实现矩阵求逆的算法。

一、什么是矩阵求逆?矩阵求逆是指对于一个n×n的可逆矩阵A,找到一个n×n的可逆矩阵B,使得AB=BA=I,其中I为单位矩阵。

二、实现方法1. 高斯-约旦消元法高斯-约旦消元法是一种经典的线性代数算法,可以用于求解线性方程组和计算矩阵的行列式、秩等问题。

在这里我们将使用高斯-约旦消元法来求解矩阵的逆。

步骤如下:(1)将A和单位矩阵I拼接成一个2n×n的增广矩阵M;(2)对M进行高斯-约旦消元操作,将其化为一个上三角形式;(3)再对M进行反向代入操作,将其化为一个对角线形式;(4)将M的右半部分取出来,即为矩阵A的逆。

代码实现如下:void inverse(double A[][MAXN], int n){double M[MAXN][2*MAXN];memset(M, 0, sizeof(M));for(int i=0;i<n;i++)for(int j=0;j<n;j++)M[i][j]=A[i][j];for(int i=0;i<n;i++)M[i][n+i]=1;for(int i=0;i<n;i++){int k=i;for(int j=i+1;j<n;j++)if(fabs(M[j][i])>fabs(M[k][i]))k=j;if(fabs(M[k][i])<EPS)return ;swap(M[i],M[k]);double d=M[i][i];for(int j=0;j<2*n;j++)M[i][j]/=d;for(int j=0;j<n;j++)if(i!=j){d=M[j][i];for(int k=0;k<2*n;k++)M[j][k]-=d*M[i][k];}}for(int i=0;i<n;i++)memcpy(A[i],M[i]+n,sizeof(double)*n); }2. 列主元高斯消元法列主元高斯消元法是一种改进过的高斯消元法,它可以避免在计算过程中出现数值精度问题。

矩阵求逆的方法

矩阵求逆的方法

矩阵求逆的方法前言矩阵理论在《线性代数》课程中有着重要的地位,矩阵和数相仿可以运算,特别是乘法和数一样有逆运算,其定义为:对于n 阶方阵A,如果存在 n 个阶段 B 使得 AB=BA=E,则 n 个阶方阵 A 为可逆的,B 为 A 的逆矩阵。

掌握好求逆矩阵的方法对线性方程组、二次型、线性变换等问题的解决有很大帮助。

关于矩阵求逆问题,不同的《线性代数》教材介绍了不同的方法。

下面对求逆矩阵方法进行全面论述,并做一步探讨。

1矩阵求逆常见的几种方法 1.1 用伴随矩阵法求逆矩定理1.1.1:n 阶矩阵)(ij a A =可逆的充要条件0≠A ,而且当)2(≥n 阶矩阵A 有逆矩阵,*-=A AA 11,其中*A 伴随矩阵。

例1 矩阵??---=412112013A 是否可逆?若可逆,求1-A 解:A A ∴≠=05可逆又511=A ,421=A ,3131=A ,1012=A ,1222=A ,332-=A ,013=A ,123=A ,133=A∴*-=A AA 11 例 2 设??=543022001A ,*A 是A 的伴随矩阵,求()1-*A 解:1-*=A A A ,又()kB kB 11--=,所以()()====---*5430220011011011111A A A AA A且有规律可循。

对于三阶以上方阵用该方法逆矩阵,不仅计算量大且易出错,一般不用此种方法。

对求出逆矩阵正确与否,一般用E AA A A ==--11来检验是否正确。

1.2 用初等变换法求逆矩阵定理 1.2.1 如果n 阶方阵A 可逆,则存在有限个初等矩阵,l P P P 21,使得l P P P A 21=。

如果A 可逆,则1-A 也可逆,由上述定理,存在初等矩阵l Q Q Q ,,,21 使得l Q Q Q A 211=-那么A A AA E 11--== 即A Q Q Q E l 21= E Q Q Q A l 211=- 于是我们得到一个求逆矩阵的方法如下:如果n 阶方阵A 可逆,作一个n n 2?的矩阵E A ,然后对此矩阵施以初等行换,使A 化为单位矩阵E 同时化为1-A ,即:E A 1-→?A E 初等行变换例1 用初等行变换求矩阵??=521310132A 的逆矩阵解:=E A →??→001010100132310521100010001521310132 →---→--201010100910310521211010100600310521-----→--→316161100123210103461361001316161100010310100521 故-----=-3161611232134613611A 同理,如果n 阶矩阵A 可逆,作一个n n ?2的矩阵E A ,然后此矩阵施以初等变换,使矩阵A 化为单位阵E ,则同时E 化为1-A ,即??→-1A E E A 初等列变换。

矩阵求逆方法

矩阵求逆方法

矩阵求逆方法矩阵求逆是线性代数中的重要概念,对于解决线性方程组、最小二乘法、特征值求解等问题都有着重要的作用。

在实际应用中,我们经常会遇到需要对矩阵进行求逆操作的情况,因此掌握矩阵求逆的方法显得尤为重要。

本文将介绍几种常用的矩阵求逆方法,希望能够帮助读者更好地理解和应用这一概念。

方法一,伴随矩阵法。

对于一个n阶矩阵A,如果其行列式不为0,那么矩阵A是可逆的。

我们可以通过伴随矩阵法来求解可逆矩阵的逆矩阵。

首先计算矩阵A的伴随矩阵Adj(A),然后利用公式A^(-1) = 1/|A| Adj(A),其中|A|表示矩阵A的行列式。

这种方法适用于小规模矩阵的求逆,但对于大规模矩阵来说计算量较大,不太实用。

方法二,LU分解法。

LU分解是将一个矩阵分解为一个下三角矩阵L和一个上三角矩阵U的乘积,即A=LU。

对于一个非奇异矩阵A,我们可以通过LU分解来求解其逆矩阵。

首先对矩阵A进行LU分解,然后分别对L和U进行前代和后代计算,最终得到A的逆矩阵。

这种方法适用于一般的矩阵求逆问题,计算效率较高。

方法三,Gauss-Jordan消元法。

Gauss-Jordan消元法是一种通过初等行变换将矩阵化为单位矩阵的方法,从而求解矩阵的逆矩阵。

具体步骤包括将原矩阵和单位矩阵拼接在一起,然后利用初等行变换将原矩阵化为单位矩阵,此时拼接部分的矩阵就是原矩阵的逆矩阵。

这种方法适用于任意规模的矩阵求逆,但计算量较大。

方法四,特征值分解法。

对于一个对称正定矩阵A,我们可以利用其特征值分解来求解其逆矩阵。

具体步骤包括求解矩阵A的特征值和特征向量,然后利用特征值和特征向量构造出A 的逆矩阵。

这种方法适用于对称正定矩阵的求逆,计算较为简单高效。

方法五,奇异值分解法。

对于任意矩阵A,我们可以利用奇异值分解来求解其逆矩阵。

奇异值分解将矩阵A分解为三个矩阵的乘积,即A=UΣV^T,其中U和V是正交矩阵,Σ是一个对角矩阵。

通过对Σ中的非零元素取倒数,然后转置U和V,即可得到矩阵A的逆矩阵。

逆矩阵的几种求法与解析(很全很经典)

逆矩阵的几种求法与解析(很全很经典)

逆矩阵的几种求法与解析(很全很经典)逆矩阵的几种求法与解析矩阵是线性代数的主要内容,很多实际问题用矩阵的思想去解既简单又快捷.逆矩阵又是矩阵理论的很重要的内容, 逆矩阵的求法自然也就成为线性代数研究的主要内容之一.本文将给出几种求逆矩阵的方法.1.利用定义求逆矩阵定义: 设A、B 都是n 阶方阵, 如果存在n 阶方阵B 使得AB= BA = E, 则称A 为可逆矩阵, 而称B为A 的逆矩阵.下面举例说明这种方法的应用.例1 求证: 如果方阵A 满足A k= 0, 那么EA是可逆矩阵, 且(E-A)1-= E + A + A2+…+A1-K证明因为E 与A 可以交换, 所以(E- A )(E+A + A2+…+ A1-K)= E-A K,因A K= 0 ,于是得(E-A)(E+A+A2+…+A1-K)=E,同理可得(E + A + A2+…+A1-K)(E-A)=E,因此E-A是可逆矩阵,且(E-A)1-= E + A + A2+…+A1-K.同理可以证明(E+ A)也可逆,且(E+ A)1-= E -A + A2+…+(-1)1-K A1-K.由此可知, 只要满足A K=0,就可以利用此题求出一类矩阵E±A 的逆矩阵.例2 设 A =?0000300000200010,求 E-A 的逆矩阵.分析由于A 中有许多元素为零, 考虑A K 是否为零矩阵, 若为零矩阵, 则可以采用例2 的方法求E-A 的逆矩阵.解容易验证A 2=0000000060000200, A 3=?0000000000006000, A 4=0而 (E-A)(E+A+ A 2+ A 3)=E,所以(E-A)1-= E+A+ A 2+ A 3=?1000310062106211.2.初等变换法求元素为具体数字的矩阵的逆矩阵,常用初等变换法.如果A 可逆,则A 可通过初等变换,化为单位矩阵I ,即存在初等矩阵S P P P ,,21Λ使(1)s p p p Λ21A=I ,用A 1-右乘上式两端,得:(2)s p p p Λ21I= A 1-比较(1)(2)两式,可以看到当A 通过初等变换化为单位矩阵的同时,对单位矩阵I 作同样的初等变换,就化为A 的逆矩阵A 1-.用矩阵表示(A I )→?初等行变换为(I A 1-),就是求逆矩阵的初等行变换法,它是实际应用中比较简单的一种方法.需要注意的是,在作初等变换时只允许作行初等变换.同样,只用列初等变换也可以求逆矩阵.例1 求矩阵A 的逆矩阵.已知A=521310132.解[A I]→100521010310001132→????001132010310100521→ --3/16/16/1100010310100521→-----3/16/16/110012/32/10103/46/136/1001 故 A 1-=-----3/16/16/112/32/13/46/136/1. 在事先不知道n 阶矩阵是否可逆的情况下,也可以直接用此方法.如果在初等变换过程中发现左边的矩阵有一行元素全为0,则意味着A 不可逆,因为此时表明A =0,则A 1-不存在.例2 求A=987654321.解[A E]=100987010654001321→????------1071260014630001321→ ??----121000014630001321. 由于左端矩阵中有一行元素全为0,于是它不可逆,因此A 不可逆.3.伴随阵法定理 n 阶矩阵A=[a ij ]为可逆的充分必要条件是A 非奇异.且A 1-=A 1?nn nnn n A A A A A A A A A .....................212221212111 其中A ij 是A 中元素a ij 的代数余子式.矩阵?nn nn n n A A A A A AA A A (2122212)12111称为矩阵A 的伴随矩阵,记作A 3,于是有A 1-=A 1A 3.证明必要性:设A 可逆,由A A 1-=I ,有1-AA =I ,则A 1-A =I ,所以A ≠0,即A 为非奇异.充分性:设A 为非奇异,存在矩阵B=A 1?nn nnn n A A A A A A A A A (2122212) 12111,其中AB=?nn n n n n a a a a a a a a a (2) 12222111211?A 1?nn nn n n A A A A A A A A A (2122212)12111=A 1A A A A ... .........0...00...0=?1 (00)...1......0...100...01=I同理可证BA=I.由此可知,若A 可逆,则A 1-=A1A 3. 用此方法求逆矩阵,对于小型矩阵,特别是二阶方阵求逆既方便、快阵,又有规律可循.因为二阶可逆矩阵的伴随矩阵,只需要将主对角线元素的位置互换,次对角线的元素变号即可.若可逆矩阵是三阶或三阶以上矩阵,在求逆矩阵的过程中,需要求9个或9个以上代数余子式,还要计算一个三阶或三阶以上行列式,工作量大且中途难免出现符号及计算的差错.对于求出的逆矩阵是否正确,一般要通过AA 1-=I 来检验.一旦发现错误,必须对每一计算逐一排查.4.分块矩阵求逆法4.1.准对角形矩阵的求逆命题设A 11、A 22都是非奇异矩阵,且A 11为n 阶方阵,A 22为m 阶方阵221100A A ??--12211100A A 证明因为A =221100A A =11A 22A ≠0, 所以A 可逆.设A 1-=W ZY X,于是有W Z Y X221100A A =??m nI I 00, 其中 X A 11=I n , Y A 22=0,Z A 11=0,W A 22=I m .又因为A 11、A 22都可逆,用A 111-、A 122-分别右乘上面左右两组等式得:X= A 111-,Y=0,Z=0,W= A 122-故 A 21= ??--12211100A A 把上述结论推广到每一个子块都是非奇异矩阵的准对角形状矩阵中去,即:121...-?k A A A =---11211...k A A A4.2.准三角形矩阵求逆命题设A 11、A 22都是非奇异矩阵,则有12212110-A A A =??-----122122121111110A A A A A证明因为2212110A A A--I A A I 012111=??221100A A 两边求逆得1121110---I A A I 1221211-A A A =??--12211100A A 所以 1221211-A A A=--I A A I 012111??--12211100A A =??-----122122121111110A A A A A同理可证12221110-A A A =??-----122122211111110A A A A A 此方法适用于大型且能化成对角子块阵或三角块阵的矩阵. 是特殊方阵求逆的一种方法,并且在求逆矩阵之前,首先要将已给定矩阵进行合理分块后方能使用.5.恒等变形法恒等变形法求逆矩阵的理论依据为逆矩阵的定义,此方法也常用与矩阵的理论推导上.就是通过恒等变形把要求的值化简出来,题目中的逆矩阵可以不求,利用AA 1-=E ,把题目中的逆矩阵化简掉。

c语言实现矩阵的加减乘除求逆运算

c语言实现矩阵的加减乘除求逆运算

#include〈stdio.h>#include〈stdlib。

h〉#define col 3#define row 3class matrix//类的定义{private:double m[col][row];//矩阵设置为私有的,public:matrix(){}//无参数的构造函数matrix(double a[col][row]);//有参数的构造函数matrix Add(matrix &b);//加法运算声明matrix Sub(matrix &b);//减法运算声明matrix Mul(matrix &b);//乘法运算声明matrix Div(matrix &b);//除法运算声明matrix Inverse();//求逆运算声明~matrix();//析构函数声明void display();//显示函数声明};matrix::matrix(double a[col][row])//构造函数的定义{int i,j;for(i=0;i<col;i++)for(j=0;j〈row;j++)m[i][j]=a[i][j];}matrix matrix::Add(matrix &b)//加法运算{int i,j;matrix*c=(matrix*)malloc(sizeof(matrix));for(i=0;i<col;i++)for(j=0;j<row;j++)c—〉m[i][j]=m[i][j]+b.m[i][j];return(*c);}matrix matrix::Sub(matrix &b)//减法运算{int i,j;matrix*c=(matrix*)malloc(sizeof(matrix));for(i=0;i〈col;i++)for(j=0;j<row;j++)c->m[i][j]=m[i][j]—b。

m[i][j];return *c;}matrix matrix::Mul(matrix &b)//乘法运算{int i,j,k;double sum=0;matrix*c=(matrix*)malloc(sizeof(matrix));for(i=0;i<col;i++){for(j=0;j〈row;j++){for(k=0;k〈row;k++)sum+=m[i][k]*(b.m[k][j]);c-〉m[i][j]=sum;sum=0;}}return(*c);}matrix matrix::Div(matrix &b)//除法运算{//除法直接求解,参见主函数matrix c;return(c);}matrix matrix::Inverse()//求逆运算{//参考博客:http:///rollenholt/articles/2050662。

求矩阵的逆矩阵的方法

求矩阵的逆矩阵的方法

求矩阵的逆矩阵的方法矩阵的逆矩阵是矩阵理论中非常重要的概念,它在线性代数、计算机图形学、物理学等领域都有着广泛的应用。

在实际问题中,我们经常会遇到需要求解矩阵的逆矩阵的情况,因此掌握求解逆矩阵的方法对于我们理解和应用矩阵具有重要意义。

首先,让我们来了解一下什么是矩阵的逆矩阵。

对于一个n阶方阵A,如果存在另一个n阶方阵B,使得AB=BA=I(其中I为单位矩阵),那么B就是A的逆矩阵,记作A^-1。

需要注意的是,并非所有的矩阵都有逆矩阵,只有可逆矩阵才存在逆矩阵。

接下来,我们将介绍几种求解矩阵逆的方法。

一、初等变换法。

通过初等变换将原矩阵转化为单位矩阵,此时原矩阵经过一系列相同的初等变换得到单位矩阵,而这些初等变换也分别作用于单位矩阵上,得到的矩阵即为原矩阵的逆矩阵。

二、伴随矩阵法。

对于n阶矩阵A,其伴随矩阵记作adj(A),则A的逆矩阵为1/det(A) adj(A),其中det(A)为A的行列式。

通过求解伴随矩阵和行列式,可以得到原矩阵的逆矩阵。

三、矩阵的初等行变换法。

通过将原矩阵和单位矩阵进行横向组合,得到一个增广矩阵,然后对增广矩阵进行初等行变换,直到左侧的矩阵变为单位矩阵,此时右侧的矩阵即为原矩阵的逆矩阵。

四、矩阵的分块法。

对于特定结构的矩阵,可以通过矩阵的分块运算来求解逆矩阵,这种方法在一些特殊情况下比较高效。

需要指出的是,对于大型矩阵来说,直接求解逆矩阵的方法可能会比较耗时,因此在实际应用中,我们通常会利用矩阵的性质和特殊结构,采用更加高效的方法来求解逆矩阵。

总之,求解矩阵的逆矩阵是矩阵理论中的重要问题,我们可以根据具体的矩阵结构和应用场景选择合适的方法来求解逆矩阵。

通过掌握这些方法,我们能够更好地理解和应用矩阵,在实际问题中取得更好的效果。

C语言矩阵求逆方法讲解

C语言矩阵求逆方法讲解

C语言矩阵求逆方法讲解C语言矩阵求逆方法讲解引言:在线性代数中,矩阵的逆是一个非常重要的概念,它在解线性方程组、计算特征值和特征向量等方面具有广泛的应用。

在C语言中,我们可以通过使用一些算法和方法来实现矩阵的求逆。

本文将详细介绍C语言中常用的矩阵求逆方法,并对其实现原理进行讲解。

一、代数余子式和伴随矩阵方法:代数余子式和伴随矩阵方法是求解矩阵逆的传统方法之一。

它们利用了矩阵的代数余子式和伴随矩阵的性质来进行计算。

具体步骤如下:1. 计算矩阵的伴随矩阵:对于一个n阶方阵A,它的伴随矩阵记作Adj(A),其中的元素(adjA)ij是A的代数余子式乘以(-1)^(i+j)。

2. 计算矩阵的行列式:对于一个n阶方阵A,它的行列式记作det(A),行列式的计算是通过对A的每一行或每一列进行展开得到的。

3. 判断行列式是否为零:如果det(A)等于零,则表示A不可逆,无法得到逆矩阵;如果det(A)不等于零,则表示A可逆。

4. 计算矩阵的逆:如果A可逆,则逆矩阵A^(-1)可以通过公式A^(-1) = (1/det(A)) * Adj(A)来计算得到。

二、高斯-约当消元法:高斯-约当消元法是一种基于矩阵的行变换和初等行变换的方法,通过将原矩阵转化为行简化阶梯形矩阵,然后再通过回代的方式求解矩阵的逆。

具体步骤如下:1. 增广矩阵变换:将原矩阵与单位矩阵进行组合构成增广矩阵,即(A|I)。

2. 初等行变换:利用初等行变换将增广矩阵转化为行简化阶梯形矩阵。

行简化阶梯形矩阵的特点是主对角线上的元素为1,主对角线以下的元素为0。

3. 回代求解逆矩阵:通过回代的方式求解矩阵的逆矩阵。

回代的步骤为:从行简化阶梯形矩阵的最后一行开始,逐行进行回代计算,将每一行的元素变为1,同时将主对角线以下的元素变为0。

最终得到的矩阵即为原矩阵的逆。

三、实现原理和注意事项:1. 代数余子式和伴随矩阵方法的实现原理比较简单,只需要对矩阵进行一系列的计算即可得到逆矩阵。

C语言求矩阵的逆

C语言求矩阵的逆

#include<stdio.h>#include<math.h>void jiafa(){int m,n;float a[20][20],b[20][20],c[20][20]; int i,j;printf("请输入矩阵行数:");scanf("%d",&m);printf("请输入矩阵列数:");scanf("%d",&n);printf("请输入第一个矩阵:"); for(i=0;i<m;i++)for(j=0;j<n;j++)scanf("%f",&a[i][j]);printf("请输入第二个矩阵:"); for(i=0;i<m;i++)for(j=0;j<n;j++)scanf("%f",&b[i][j]);printf("矩阵相加的结果为:");for(i=0;i<m;i++){ for(j=0;j<n;j++){c[i][j]=a[i][j]+b[i][j];printf("%4f ",c[i][j]); }printf("\n");}}void jianfa(){int m,n;float a[20][20],b[20][20],c[20][20]; int i,j;printf("请输入矩阵行数:");scanf("%d",&m);printf("请输入矩阵列数:");scanf("%d",&n);printf("请输入第一个矩阵:"); for(i=0;i<m;i++)for(j=0;j<n;j++)scanf("%f",&a[i][j]);printf("请输入第二个矩阵:"); for(i=0;i<m;i++)for(j=0;j<n;j++)scanf("%f",&b[i][j]);printf("矩阵相减的结果为:");for(i=0;i<m;i++){ for(j=0;j<n;j++){c[i][j]=a[i][j]-b[i][j];printf("%4f ",c[i][j]); }printf("\n");}}void chengfa(){int m,n;float s;float a[20][20],b[20][20],c[20][20]; int i,j,k;printf("请输入矩阵行数:");scanf("%d",&m);printf("请输入矩阵列数:");scanf("%d",&n);printf("请输入第一个矩阵:"); for(i=0;i<m;i++)for(j=0;j<n;j++)scanf("%f",&a[i][j]);printf("请输入第二个矩阵:"); for(i=0;i<n;i++)for(j=0;j<m;j++)scanf("%4f",&b[i][j]);for(i=0;i<m;i++){for(j=0;j<m;j++){s=0;for(k=0;k<n;k++){s=s+a[i][k]*b[k][j];c[i][j]=s;}}}for(i=0;i<m;i++){for(j=0;j<m;j++){printf("%4f ",c[i][j]);}printf("\n");}}void zhuanzhi(){int m,n;float a[20][20],b[20][20];int i,j;printf("请输入矩阵行数:"); scanf("%d",&m);printf("请输入矩阵列数:"); scanf("%d",&n);printf("请输入一个矩阵:"); for(i=0;i<m;i++)for(j=0;j<n;j++)scanf("%f",&a[i][j]);for(i=0;i<m;i++){for(j=0;j<n;j++){b[i][j]=a[j][i];printf("%4f ",b[i][j]);}printf("\n");}}void qiuni(){int N;printf("输入矩阵的阶数N:\n");scanf("%d",&N);float a[10][10],b[10][20],c[10][10],t;int i,j,m;printf("请输入行列式不为0的矩阵A(%d阶):\n",N); //矩阵A的各元素存入二维数组a中。

c语言数组求矩阵的逆矩阵

c语言数组求矩阵的逆矩阵

c语言数组求矩阵的逆矩阵C语言是一种高级编程语言,广泛应用于计算机科学和工程中。

在C语言中,矩阵是一种常见的数据结构。

矩阵的逆矩阵是一个重要的数学概念,它在很多领域都有着广泛的应用。

在这篇文章中,我将介绍如何使用C语言来计算一个给定矩阵的逆矩阵。

首先,我们需要了解什么是矩阵的逆矩阵。

一个n阶矩阵A的逆矩阵是一个n阶矩阵B,满足AB=BA=I,其中I是单位矩阵。

逆矩阵可以用来解线性方程组、计算行列式、求解矩阵求导等。

在使用C语言计算逆矩阵之前,我们需要先了解矩阵的存储方式。

在C语言中,矩阵通常是通过二维数组来表示的。

我们可以定义一个二维数组来表示一个矩阵,其中每个元素代表矩阵中的一个数值。

例如,一个3x3的矩阵可以表示如下:int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};在计算逆矩阵之前,我们需要先判断给定的矩阵是否可逆。

一个矩阵可逆的条件是其行列式不为0。

因此,我们需要先计算矩阵的行列式。

在C语言中,我们可以使用一个函数来计算矩阵的行列式。

下面是一个计算3x3矩阵行列式的函数:cfloat determinant(int matrix[3][3]){float det = 0;det = matrix[0][0] * (matrix[1][1] * matrix[2][2] - matrix[2][1] * matrix[1][2]) - matrix[0][1] * (matrix[1][0] * matrix[2][2] - matrix[2][0] * matrix[1][2]) + matrix[0][2] * (matrix[1][0] * matrix[2][1] -matrix[2][0] * matrix[1][1]);return det;}上述函数使用了拉普拉斯展开法来计算矩阵的行列式。

我们将矩阵分解为若干个2x2的子矩阵,然后按照一定的规律进行计算。

n阶矩阵求逆矩阵(C++面向对象)

n阶矩阵求逆矩阵(C++面向对象)

课程设计报告信息系统开发语言(一)课程设计——n 阶方阵求逆的实现一、课程设计目的1、了解什么是矩阵及逆矩阵。

2、通过VC++6.0编写一个实现求矩阵逆矩阵的程序。

3、巩固和加深学生对算法课程基本知识的理解和掌握。

4、培养利用算法知识解决实际问题的能力。

5、掌握利用程序设计语言进行算法程序的开发、调试、测试.6、掌握书写算法设计说明文档的能力。

7、提高综合运用算法、程序设计语言、数据结构知识的能力。

二、问题描述给出任意一个维数大于1小于256的矩阵,通过程序求出其逆矩阵。

如⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=222120121110020100a a a a a a a a a A ,存在矩阵B ,使得矩阵A 与B 的乘积为单位矩阵,则称矩阵B 为矩阵A 的逆矩阵。

三、问题分析根据矩阵与逆矩阵的定义,即矩阵A 与矩阵B 相乘等于单位矩阵的思路,编辑程序。

为使问题更加简单明了化,现举除一个具体例子,便于理解,我们在求解数学题目中,经常会遇到这一类的题目: 如求方阵A 的逆矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=222120121110020100a a a a a a a a a A拿到这个题,我们首先应该是理解什么叫矩阵及逆矩阵,我们根据定义可知,一个矩阵如果存在逆矩阵,那么这个矩阵的秩一定不会小于该矩阵的维数,拿到一个题,要求一个逆矩阵的方法是很多的,比较常用的还是先把矩阵化为上三角或者下三角矩阵,,判断矩阵是否存在逆矩阵,然后,然后根据矩阵与逆矩阵之积等于单位矩阵从而得出逆矩阵,这是比较一般的思路,我们一下设计基本上也是以此为基础的。

四、算法分析、设计与描述 1.算法分析和设计对于矩阵求逆,逆矩阵的定义是:对于n 阶方阵A ,若存在矩阵B ,使得AB=BA=E ,则称A 为可逆矩阵,简称A 可逆,并称B 为A 的逆矩阵。

A 存在逆矩阵的充要条件是|A|≠0。

若用定义的方法求解,计算量大,当矩阵的阶数很大时很浪费时间,为了节省时间,通过查阅资料和上网搜索,决定采用高斯-约旦发来进行方阵的求逆操作。

逆矩阵公式运算法则

逆矩阵公式运算法则

逆矩阵公式运算法则
逆矩阵是线性代数中的一个重要概念,它是线性代数的基础之一。

其本质是行列式的倒数,它可以用来研究数学建模问题、解方程等。

在实际运算中,我们需要了解逆矩阵公式运算法则,以便正确地计算逆矩阵。

首先,要知道求逆矩阵的定义:一个n阶正定矩阵A的逆矩阵是指一个m阶矩阵B,使得AB=BA=I,其中I为单位矩阵。

即AB=BA即
两个矩阵相乘等于其自身,此时我们就可以说A的逆矩阵是B。

其次,我们来说一下逆矩阵公式运算法则:
1.如果矩阵A的行列式的值不等于0,则A的逆矩阵存在,公式为A^(-1)=1/det(A)*[A*]t,其中det(A)为矩阵A的行列式,[A*]t
是矩阵A的伴随矩阵转置。

2.如果矩阵A的行列式的值等于0,则A的逆矩阵不存在。

3.如果矩阵A可以被分解为LU分解,即A=LU,则A的逆矩阵可以用公式A^(-1)=U^(-1)*L^(-1)来求解,其中U^(-1)和L^(-1)分别是上三角矩阵U和下三角矩阵L的逆矩阵。

4.如果矩阵A可以被分解为QR分解,即A=QR,则A的逆矩阵可以用公式A^(-1)=R^(-1)*Q^(-1)来求解,其中R^(-1)和Q^(-1)分别是上三角矩阵R和正交矩阵Q的逆矩阵。

最后,在求解逆矩阵公式中值得注意的一点是,在求解逆矩阵公式时,我们一般要确保矩阵A中的元素值均非零,以免出现矩阵不可逆的情况。

总之,在求解逆矩阵时,我们首先要明确求解逆矩阵的定义,然后要熟练掌握逆矩阵公式运算法则,在求解的过程中,我们还要注意矩阵A中的元素值是否存在0值,以免出现矩阵不可逆的情况。

只有掌握了这些,我们才能准确地计算出逆矩阵的值。

求逆矩阵的方法

求逆矩阵的方法

求逆矩阵的方法逆矩阵是线性代数中非常重要的概念,它在数学和工程领域有着广泛的应用。

在实际问题中,我们经常需要求解矩阵的逆,因此了解求逆矩阵的方法是非常重要的。

本文将介绍几种常见的求逆矩阵的方法,希望能对大家有所帮助。

方法一,伴随矩阵法。

伴随矩阵法是求解逆矩阵的一种常用方法。

对于一个n阶矩阵A,如果它的行列式不为0,那么它的逆矩阵存在。

我们可以通过计算伴随矩阵来求解逆矩阵。

具体步骤如下:1. 计算矩阵A的行列式,如果行列式为0,则矩阵A不存在逆矩阵;2. 计算矩阵A的伴随矩阵,即将矩阵A的每个元素的代数余子式组成的矩阵进行转置;3. 将伴随矩阵除以矩阵A的行列式,得到矩阵A的逆矩阵。

方法二,初等变换法。

初等变换法是另一种求解逆矩阵的常用方法。

对于一个n阶矩阵A,如果它的行列式不为0,那么它的逆矩阵存在。

我们可以通过初等变换将矩阵A转化为单位矩阵,然后将单位矩阵通过相同的初等变换得到A的逆矩阵。

具体步骤如下:1. 将矩阵A和单位矩阵拼接成一个2n阶的矩阵;2. 通过初等行变换将矩阵A转化为单位矩阵,此时单位矩阵部分就是A的逆矩阵。

方法三,高斯-约当消元法。

高斯-约当消元法也是一种常用的求解逆矩阵的方法。

通过将矩阵A和单位矩阵拼接在一起,然后通过初等行变换将矩阵A转化为单位矩阵,此时单位矩阵部分就是A的逆矩阵。

具体步骤如下:1. 将矩阵A和单位矩阵拼接成一个2n阶的矩阵;2. 通过高斯-约当消元法将矩阵A转化为单位矩阵,此时单位矩阵部分就是A的逆矩阵。

方法四,矩阵分块法。

矩阵分块法是一种比较直观的求解逆矩阵的方法。

对于一个2n 阶矩阵A,我们可以将其分块成四个n阶子矩阵,然后通过矩阵分块的运算规则来求解逆矩阵。

具体步骤如下:1. 将矩阵A分块成四个n阶子矩阵,记为A = [A11, A12;A21, A22];2. 如果A22存在逆矩阵,那么A的逆矩阵可以通过以下公式求解,A的逆矩阵 = [A11 A12 A22^(-1) A21]^(-1), -A11A12^(-1); -A22^(-1) A21, A22^(-1)]。

c语言矩阵求逆

c语言矩阵求逆

C语言矩阵求逆简介矩阵求逆是线性代数中的重要概念和计算方法之一。

矩阵求逆的结果可以用于解线性方程组、计算行列式和求矩阵的伴随等操作。

在C语言中,我们可以通过编写代码来实现矩阵求逆的算法。

本文将介绍C语言矩阵求逆的原理、实现步骤以及代码示例。

原理矩阵的逆是指对于一个n阶方阵A,存在一个n阶方阵B,使得AB=BA=I(单位矩阵)。

具体地,对于一个可逆矩阵A,其逆矩阵可以通过以下公式计算得到:A^-1 = 1/|A| * adj(A)其中,|A|表示矩阵A的行列式,adj(A)表示矩阵A的伴随矩阵。

实现步骤要实现C语言矩阵求逆的算法,可以按照以下步骤进行:步骤1:输入矩阵首先,需要在程序中输入待求逆的矩阵。

可以通过从用户获取输入或者在代码中直接指定矩阵的方式来完成。

步骤2:计算行列式根据上述原理公式,需要首先计算矩阵的行列式。

可以通过递归的方式来计算行列式,或者使用高斯消元法进行计算。

步骤3:计算伴随矩阵根据原理公式,需要计算矩阵的伴随矩阵。

伴随矩阵的元素可以通过余子式和代数余子式的方式计算得到。

步骤4:计算逆矩阵根据原理公式,可以利用行列式和伴随矩阵来计算逆矩阵。

步骤5:输出结果最后,将计算得到的逆矩阵输出到屏幕上,或者保存到文件中。

示例代码下面是一个简单的C语言矩阵求逆的示例代码:#include <stdio.h>#define N 3typedef struct {int data[N][N];} Matrix;// 计算行列式的函数int determinant(Matrix mat) {// 实现行列式计算的代码// ...}// 计算伴随矩阵的函数Matrix adjoint(Matrix mat) {Matrix adj;// 实现伴随矩阵计算的代码// ...return adj;}// 计算逆矩阵的函数Matrix inverse(Matrix mat) {Matrix inv;// 实现逆矩阵计算的代码// ...return inv;}// 输出矩阵的函数void printMatrix(Matrix mat) {// 实现输出矩阵的代码// ...}int main() {Matrix mat;// 获取用户输入或者指定矩阵的代码// ...int det = determinant(mat);if (det == 0) {printf("矩阵不可逆!\n");return 0;}Matrix adj = adjoint(mat);Matrix inv = inverse(mat);printf("原矩阵:\n");printMatrix(mat);printf("行列式: %d\n", det);printf("伴随矩阵:\n");printMatrix(adj);printf("逆矩阵:\n");printMatrix(inv);return 0;}上述代码中,通过定义一个Matrix结构体来表示矩阵,包含一个二维数组来存储矩阵的元素。

N阶可逆矩阵的等式

N阶可逆矩阵的等式

N阶可逆矩阵的等式一、什么是N阶可逆矩阵?N阶可逆矩阵是指一个N*N的矩阵,它的行列式不为0,即存在一个N*N的矩阵B,使得A*B=I(其中I是单位矩阵)。

简单来说,就是这个矩阵可以被“逆运算”,也就是求出它的逆矩阵。

二、N阶可逆矩阵的等式1. 等式表达式对于任意一个N*N的可逆矩阵A,它的逆矩阵为A^-1。

那么有以下等式:A*A^-1=IA^-1*A=I其中,I为单位矩阵。

2. 等式解释首先理解一下单位矩阵。

单位矩阵是指主对角线上全为1,其余元素全为0的方形矩阵。

例如:| 1 0 0 || 0 1 0 || 0 0 1 |对于任意一个可逆矩阵A,在它左边乘上它的逆矩阵A^-1,则会得到一个单位矩阵I。

同理,在它右边乘上它的逆矩阵也会得到一个单位矩阵。

这个等式表达了可逆矩阵的一个重要性质:任何一个可逆矩阵都可以被逆运算,也就是说,它可以被还原成单位矩阵。

这个性质在矩阵计算中非常重要。

三、N阶可逆矩阵的应用1. 线性方程组求解对于一个线性方程组Ax=b,其中A为系数矩阵,x为未知数向量,b 为常数向量。

如果A是可逆矩阵,则可以通过以下等式求解x:x=A^-1*b这个等式的意义是将方程组转化成了x的表达式,从而可以直接求解出未知数向量x。

2. 线性变换对于一个线性变换T(x),其中x为向量。

如果T(x)可以表示成T(x)=Ax的形式,则A为该线性变换的系数矩阵。

如果A是可逆矩阵,则该线性变换具有以下特点:a. 可以被还原成恒等变换(即单位变换);b. 保持向量长度不变;c. 保持向量之间夹角不变。

这些特点在图形学、计算机视觉等领域中非常重要。

四、N阶可逆矩阵的求法1. 高斯-约旦消元法高斯-约旦消元法是一种常见的求解可逆矩阵的方法。

它通过对矩阵进行初等变换(如交换行、加减行等)将其化为行阶梯形矩阵,然后再进行反向消元,最终得到逆矩阵。

2. 初等矩阵法初等矩阵法是另一种求解可逆矩阵的方法。

它通过对单位矩阵进行一系列初等变换(如交换行、加减行等)得到一个可逆矩阵B,然后再将其乘以原始矩阵A的逆矩阵A^-1,即B*A^-1,得到A的逆矩阵。

求矩阵的逆矩阵的方法

求矩阵的逆矩阵的方法


设A=Ail

1 O 0 1 O —2 5
0, 一2 5 0 0
l I
3 C1÷4 1 0 l 0
献。-3。法oo~如3。^≥

1■叫中 -[4]’A兹=(;
I一

1 O 0

●仃O●一4
O 0
Ao~"i:单5:5吲2

l/
17
17/
A~=(A。11乏)~=(A暑~A三.。)=
c,÷吾
0下1 j
——1—0 4
矩阵法
求矩阵的逆矩形主要有以下方法。 一、定义法 对于n阶方阵A,若存在n阶方阵B,使AB=BA=E成 立,则称B是A的逆矩阵。即:AB=BA=EjA~=B。 二、伴随矩阵法 定理:n阶方阵A为可逆矩阵的充分必要条件是A的行
一=㈧
猛一:公瓦猛
14
0 0
IAI-J0
10
3—2 1 5
l=60+8=68,...A可逆。
能力的切人点。
课本上的内容是一切数学知识的基础,课本上的例题是 很多题型的缩影,很多教师书上的例题一般不讲,只是用下载 的课件直接给学生讲授新课,这样书上的很多内容就没有提 到,而同时教师没有恰当地板书,多媒体课件点击得又太快。 学生根本来不及看完就过去了,一节课上完了很多学生都没 有学会新的知识。虽说现在科技发达了,引进很多现代先进的 教学仪器.但是教师一定要把书上的基本内容及时板书,还要 根据书上的内容给学生作相应的变形,做到触类旁通,这样才 能对得起学生。我用自己平时教学中的一些案例来说明这一 观点的合理性。 案例一:在讲授《高中数学必修5》中的第一章第二节余弦
A。。=(一1)1+1 A:.=c一-,2+1
04

n阶方阵计算公式

n阶方阵计算公式

n阶方阵计算公式n阶方阵是一种特殊的矩阵,它的行数和列数都为n。

在数学中,我们经常需要对方阵进行各种运算和计算,因此有一些常用的公式可以帮助我们简化计算过程。

本文将介绍一些常见的n阶方阵计算公式,并给出相应的应用场景。

一、矩阵的转置矩阵的转置是指将矩阵的行与列互换得到的新矩阵。

对于n阶方阵A,其转置记作A^T。

转置后的矩阵与原矩阵具有相同的对角线元素,但是其他元素的位置发生了改变。

矩阵的转置常用于求解线性方程组、矩阵的相似性等问题。

二、矩阵的逆矩阵的逆是指对于n阶方阵A,存在一个矩阵B,使得A与B的乘积等于单位矩阵I。

逆矩阵的存在与否取决于矩阵A的行列式是否为零,如果行列式不为零,则矩阵A存在逆矩阵。

逆矩阵常用于求解线性方程组、矩阵的相似性等问题。

三、矩阵的迹矩阵的迹是指矩阵主对角线上元素的和,记作tr(A)。

对于n阶方阵A,其迹等于A的所有特征值之和。

迹具有一些重要的性质,例如对于矩阵A和B,有tr(A+B) = tr(A) + tr(B)和tr(AB) = tr(BA)。

迹常用于求解线性方程组的特征值、矩阵的相似性等问题。

四、矩阵的行列式矩阵的行列式是一个标量,用于衡量矩阵的性质和变换。

对于n阶方阵A,其行列式记作|A|或det(A)。

行列式的计算可以通过展开定理、拉普拉斯展开等方法进行。

行列式的值可以判断矩阵是否可逆,计算矩阵的逆、求解线性方程组等。

五、矩阵的特征值和特征向量矩阵的特征值和特征向量是矩阵在特定变换下的不变量。

对于n阶方阵A,其特征值是一个标量λ,特征向量是一个非零向量x,满足Ax = λx。

特征值和特征向量常用于求解矩阵的迹、矩阵的对角化等问题。

六、矩阵的乘法矩阵的乘法是指将两个矩阵相乘得到一个新矩阵的运算。

对于n阶方阵A和B,它们的乘积记作C = A * B。

矩阵乘法满足结合律,但不满足交换律,即一般情况下AB ≠ BA。

矩阵乘法常用于线性变换、矩阵的相似性等问题。

七、矩阵的加法和减法矩阵的加法和减法是指将两个矩阵对应元素相加或相减得到一个新矩阵的运算。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告
实验内容: n阶方阵求逆的实现
相关课程:信息系统开发语言(一)
学期: 2011-2012学年第2学期
学时学分: 68学时 4学分
专业班级:信管1022班
学号: ********* *名:***
指导老师:***
提交日期: 2012年06月21日
五、程序设计
1.程序设计的基本思路
该程序设计了一个类,用于存储用户数据的方阵阶数、用户输入的方阵数据以及方阵的逆矩阵数据。

因为用户需要计算的方阵的阶数不定,因此采用了double 型指针动态开辟内存的方式来存储用户输入的方阵数据和逆矩阵数据。

同时,该类定义了等方法,用来实现最成员变量的初始化,方阵求逆,矩阵相乘的操作。

程序运行开始,首先调用类的方法,在该方法中首先要求用户输入矩阵的阶数,并根据该阶数开辟内存空间,接着要求用户输入方阵的数据,输入完毕后,程序调用类的方法用以实现方阵的求逆,在求逆过程中,首先判断该矩阵是否存在逆矩阵,若存在则进行求逆,若不存在则给出提示并要求用户重新输入。

求逆完成后存储结果并显示,同时程序调用类的方法对两个矩阵进行相乘操作,用来验证求逆结果是否正确。

该程序设计的主要难点和重点在于方阵的逆矩阵求解方法,通过复习矩阵的相关知识和查阅资料,决定采用高斯-约旦法来实现对方阵的求逆,为了计算的方便,数据也是采用一维数据而不是二维数据才存储。

矩阵类matrix的uml图如下:
2.程序代码及说明
#include<iostream>
#include<iomanip>
using namespace std;
double **B; //保存矩阵A 与 E的组合矩阵
int N=0;
错误,但是却可以运行,比如图一所示:
图一
图二
这个问题经过仔细研究后,发现在在图二中如果选择的是:“是”的话,则运行不了,如果选择“否”就可以正常运行,并出现以上情况,出现以上情况的原因是这个文件夹是我很早以前建立的,做这个实验的时候我并没有重新建立文件夹,而是利用了以前做实验时,建好的文件,直接修改了文件里面的程序,直接进行调试、检测以及运行,只要重新建立文件,就可以解决以上问题了,重新建立文件夹后,运行情况如图三
图三
2.程序运行结果分析(多组数据测试)运行中的第一种情况如图四:
图四
当输入的维数为0时,显示的文字为:逆矩阵为空,两矩阵相乘结果也为空,这是如下程序的运行结果
matrix::matrix()
{
//将矩阵阶数初始化为0,并将两个指针指向NULL。

row=0;
in_buffer=NULL;
out_buffer=NULL;
}
matrix::~matrix()
{
//如果指针依然指向内存,则将指针指向的内存释放掉,并将指针指向
NULL
if (in_buffer)
{
delete []in_buffer;
in_buffer=NULL;
}
if (out_buffer)
{
delete []out_buffer;
out_buffer=NULL;
}
}
运行中的第二种情况:
此矩阵没有逆矩阵,是因为该矩阵的秩不等于该矩阵的维数2,设该矩阵用A表示,也就是该矩阵的lAl=0,这是如下代码中的结果,在矩阵中,矩阵的秩小于
运行中的第三种情况:
由程序设定以及逆矩阵的性质可知,以上输入的矩阵是符合要求的,故输入后可以得到逆矩阵,经过多次试验可知,只要维数大于1小于256,且符合矩阵逆矩阵的定义,根据以上程序都是可以执行的。

七、总结与体会
我只能说C++这门课真的是太高深莫测了,你还能再复杂一点吗?可是更让我觉得意外的是以前一直以为学C++知识为了开发软件应用软件什么的,没想到连我最喜欢的数学都可以这样来解决啊!
我上课其实基本是还是蛮认真的,但是拿到题目却是愕然的呀!
原以为是很简单的东西没想到细究起来其实这么复杂,所有我深深的明白没有浅显的知识,只有浅显的理解啊。

相关文档
最新文档