Using Gaussian Element Fixation M row N columns (including N unknown, n equation)

xiaoxiao2021-03-06  15

// Function Name: Void getcoeffex (double ** matrixtmp, const int int iRow, const int icol)

// Export parameters: If a Matrix [M] [N] is defined, the value of Matrix [1..m-1] [N-1] is the corresponding A, B, C .... parameters

// The following file can be executed directly in C (VC6).

// Author: tonyjqq1 Email: tonyjqq@163.com (as posted, please join this trip)

#include #include

Void getcoeffex (double ** matrixtmp, const IROW, Const IC IL) {Int i, j, k, z; double ** matrix; matrix = (double *) malloc (sizeof (double *) * iRow); for (i = 0; i

Double ** Matrix1; Matrix1 = (double **) malloc (sizeof (double *) * irow); for (i = 0; i

For (i = 0; i

For (i = 0; i

FREE (Matrix1); Matrix1 = NULL;

For (i = 0; i

For (i = 0; i

Free (Matrix); Matrix = NULL;

}

Void getcoeff (Double Matrix [3] [4]) {Double Matrix1 [3] [4]; INT I, J;

For (i = 0; i <= 2; i ) for (j = 0; j <= 3; j ) matrix1 [i] [j] = matrix [i] [j]; for (i = 0; i < = 3; i ) {matrix [0] [i] = matrix1 [0] [i] * matrix1 [1] [0] * matrix1 [2] [0]; Matrix [1] [i] = matrix1 [1] [i] * matrix1 [0] [0] * matrix1 [2] [0]; Matrix [2] [i] = matrix1 [2] [i] * matrix1 [0] [0] * matrix1 [1] [0 ];} For (i = 0; i <= 3; i ) {matrix [1] [i] = matrix [1] [i] - matrix [0] [i]; matrix [2] [i] = matrix [2] [I] - Matrix [0] [i];

For (i = 0; i <= 2; i ) for (j = 0; j <= 3; j ) matrix1 [i] [j] = matrix [i] [j]; for (j = 1; j < = 3; j ) {matrix [1] [j] = matrix [1] [j] * matrix1 [2] [1]; Matrix [2] [j] = matrix [2] [j] * matrix1 [1] [1]; }

For (j = 1; j <= 3; j ) Matrix [2] [j] = matrix [2] [j] - matrix [1] [j];

Matrix [2] [3] = Matrix [2] [3] / Matrix [2] [2]; Matrix [1] [3] = Matrix [1] [3] - Matrix [2] [3] * Matrix [ 1] [2]; Matrix [0] [3] = Matrix [0] [3] - Matrix [2] [3] * Matrix [0] [2]; Matrix [1] [3] = Matrix [1] [3] / Matrix [1] [1]; Matrix [0] [3] = Matrix [0] [3] - Matrix [0] [1] * Matrix [1] [3];

Matrix [0] [3] = Matrix [0] [3] / Matrix [0] [0];

Void main () {Double Matrix [3] [4]; double nlcal = 489753.0, hlcal = 1373902.0, flcal = 2036800.0; double dcapacity = 35.000000; Matrix [0] [0] = nlcal * nlcal; Matrix [0] [1 ] = Nlcal; Matrix [0] [2] = 1.0; Matrix [0] [3] = 0.0;

Matrix [1] [0] = hlcal * hlcal; Matrix [1] [1] = hlcal; matrix [1] [2] = 1.0; Matrix [1] [3] = 0.5 * DCapacity * 1000.0;

Matrix [2] [0] = flcal * flcal; Matrix [2] [1] = flcal; Matrix [2] [2] = 1.0; Matrix [2] [3] = dcapacity * 1000.0; / * matrix [0] [0] = 934368.0 * 934368.0; Matrix [0] [1] = 934368.0; Matrix [0] [2] = 1.0; Matrix [0] [3] = 0.0;

Matrix [1] [0] = 1589152.0 * 1589152.0; Matrix [1] [1] = 1589152.0; Matrix [1] [2] = 1.0; Matrix [1] [3] = 3.0;

Matrix [2] [0] = 2243903.0 * 2243903.0; Matrix [2] [1] = 2243903.0; Matrix [2] [2] = 1.0; Matrix [2] [3] = 6.0; * /

// getcoeff (Matrix); / *

Matrix [0] [0] = 1; Matrix [0] [1] = 2; Matrix [0] [2] = -3; Matrix [0] [3] = 0;

Matrix [1] [0] = 2; Matrix [1] [1] = 2; Matrix [1] [2] = 4; Matrix [1] [3] = 8;

Matrix [2] [0] = 3; Matrix [2] [1] = 1; Matrix [2] [2] = 2; Matrix [2] [3] = 6; * / getcoeffex (ReinterPret_cast (Matrix), 3, 4); Printf ("THE VALUE OF A IS: E / N", Matrix [0] [3]); Printf ("THE VALUE OF B IS: E / N", Matrix [ 1] [3]); Printf ("THE VALUE OF C IS: E / N", Matrix [2] [3]);

转载请注明原文地址:https://www.9cbs.com/read-46275.html

New Post(0)