Red de conocimiento informático - Conocimientos de programación - Programación

Programación

La clase Matrix encapsula operaciones comunes, incluyendo suma, resta, multiplicación (multiplicación de números y multiplicación de matrices), transposición, eliminación de columnas y vectores de columnas.

El código es el siguiente.

///lt;Resumen gt

///Clase matriz

/// lt;/summary gt;

Público Matriz de clase sellada

{

int fila, columna//El número de filas y columnas de la matriz

double = data[i, c];

Devuelve nueva matriz (a);

}

#Área final

#Sobrecarga del operador de región-*/= =! =

Operador de matriz estática pública (matriz a, matriz b)

{

if (a.row!= b.row || a.column ! = b . columna)

Thrownnewmatrixexception("Las dimensiones de la matriz no coinciden."

Resultado de la matriz = nueva matriz (a. fila, a. columna

);

for(int I = 0; i lta.rowi)

for(int j = 0; j lta.column; j)

Resultado [i, j] = a[i,j] b[i,j];

Resultado devuelto;

}

Operador de matriz estática pública - (matriz a, matriz b)

{

Devuelve a b *(1);

}

Operador matricial estático público *(matriz, doble factor)

{

Resultado de la matriz = nueva matriz(matrix.row, Matrix.column);

for(int I = 0; iltmatrix.rowi)

for(int j = 0; j lt matriz.columna; j)

matriz[i, j] = matriz[i, j]* factor;

Devolver matriz ;

}

Operador de matriz estática pública * (factor doble, matriz de matriz)

{

Matriz de retorno *Factor;

}

Operador de matriz estática pública *(matriz a, matriz b)

{

if(a . ¡Columna! =b.fila )

Thrownnewmatrixexception("Las dimensiones de la matriz no coinciden.");

Resultado de la matriz = nueva matriz (a.fila, b. columna);

p>

for(int I = 0; i lta.rowi)

for(int j = 0; j ltb. column; j)

for(int k = 0; k lta . columna; k )

Resultado[i,j] = a[i,k] * b[k,j];

Devolver resultado;

}

Operador booleano estático público==(Matriz a, Matriz b)

{

Si (Object.Equals(a,b ))devuelve verdadero

si (objeto.

Es igual a (nulo, b))

Devuelve a igual a (b);

Devuelve b. >

¡Operador booleano estático público! =(matriz a, matriz b)

{

¡Regresión! (a = = b);

}

Anulación pública booleana es igual (objeto objeto)

{

if (obj == null) devuelve falso

Si (! (obj es una matriz)) devuelve falso

Matriz t = obj como matriz;

Si (fila! = t . fila || columna! = t.columna) devuelve falso

Devuelve esto. Igual a (t, 10);

}

/// Resumen gt

///Compare dos matrices para determinar la igualdad según la precisión dada .

/// lt;/summary gt;

/// lt; param name = "matrix" gtOtra matriz para comparar

// /lt; nombre del parámetro = "precisión" gtPrecisión de comparación (número de decimales)