Red de conocimiento informático - Material del sitio web - ¿Cómo escribir un programa de operación matricial en matlab?

¿Cómo escribir un programa de operación matricial en matlab?

1. Método de representación de la matriz

1. Los elementos de la matriz deben estar dentro de "[]";

2.

3. Las filas de la matriz están separadas por ";" (o retorno de carro);

4. Los elementos de la matriz pueden ser un valor numérico, variable, expresión. o función;

5. No es necesario definir el tamaño de la matriz de antemano.

2. Operaciones matriciales

1. Operaciones aritméticas

Las operaciones aritméticas básicas de MATLAB son: + (suma), - (resta), * (multiplicación). ) ), / (división derecha), \ (división izquierda), ^ (exponenciación), ' (transposición). Las operaciones se realizan en un sentido matricial y las operaciones aritméticas con datos individuales son sólo un caso especial.

(1) Operaciones de suma y resta de matrices Supongamos que hay dos matrices A y B, entonces las operaciones de suma y resta de matrices se pueden realizar mediante A B y A-B. La regla de operación es: si las dimensiones de las matrices A y B son iguales, puede realizar operaciones de suma y resta de matrices, y los elementos correspondientes de las matrices A y B se suman y restan. Si las dimensiones de A y B no son las mismas, MATLAB dará un mensaje de error, indicando al usuario que las dimensiones de las dos matrices no coinciden.

(2) La multiplicación de matrices supone que hay dos matrices A y B. Si A es una matriz m*n y B es una matriz n*p, entonces C=A*B es una matriz m*p matriz.

(3) División de matrices En MATLAB, hay dos operaciones de división de matrices: \ y /, que representan la división izquierda y la división derecha respectivamente. Si la matriz A es una matriz cuadrada no singular, se pueden implementar las operaciones A\B y B/A.

A\B es equivalente a la multiplicación inversa por la izquierda de la matriz B de A, es decir, inv(A)*B, y B/A es equivalente a la multiplicación inversa por la derecha de la matriz B de la matriz A , es decir, B* inv(A). Para operaciones que involucran escalares, los resultados de ambas operaciones de división son los mismos. Para las matrices, la división por la izquierda y la división por la derecha representan dos relaciones diferentes entre la matriz divisora ​​y la matriz de dividendos. Generalmente, A\B≠B/A.

(4) Exponenciación de matrices La operación de exponenciación de una matriz se puede expresar como A^x, lo que requiere que A sea una matriz cuadrada y x sea un escalar.

(5) La transposición de una matriz intercambia las filas y columnas de una matriz real. Para una matriz compleja, el ***yoke se transpone y el operador especial '***yoke no. transpuesto (ver Operación de punto);

(6) Operación de punto En MATLAB, hay una operación especial Debido a que su operador se agrega con un punto delante del operador aritmético relevante, se llama operación de punto. Los operadores de punto son .*, ./, .\ y .^. Realizar operaciones puntuales en dos matrices significa realizar operaciones de correlación en sus elementos correspondientes, lo que requiere que los parámetros dimensionales de las dos matrices sean los mismos.

2. Operaciones relacionales

MATLAB proporciona 6 operadores relacionales: amp; (mayor que), = (mayor o igual que), == (igual a), ~= (diferente a). Las reglas de operación de los operadores relacionales son:

(1) Cuando las dos cantidades de comparación son escalares, compare los dos números directamente. Si se establece la relación, el resultado de la expresión relacional es 1, en caso contrario es 0;

(2) Cuando las cantidades involucradas en la comparación son dos matrices con las mismas dimensiones, la comparación se basa en los elementos en la misma posición en las dos matrices. Las reglas de operación relacional escalar se llevan a cabo una por una y se dan los resultados de la comparación de elementos. El resultado final de la operación relacional es una matriz con la misma dimensión que la matriz original, y sus elementos están compuestos por 0 o 1;

(3) Cuando uno de los objetos que participan en la comparación es un escalar y el otro es una matriz, luego cada elemento del escalar y la matriz se compara uno por uno de acuerdo con las reglas de operación de la relación escalar, y se dan los resultados de la comparación de elementos. El resultado final de la operación relacional es una matriz con las mismas dimensiones que la matriz original y sus elementos están compuestos por 0 o 1.

3. Operaciones lógicas

MATLAB proporciona tres operadores lógicos: amp (y), |

Las reglas operativas de las operaciones lógicas son:

(1) En las operaciones lógicas, si se confirma que un elemento distinto de cero es verdadero, se representa por 1, y si un elemento cero es falso, se representa representado por 0;

( 2) Suponga que los dos escalares a y b están involucrados en la operación lógica. Entonces, cuando a & b a y b son todos distintos de cero, el resultado de la operación es 1; es 0. a | b a, siempre que haya uno distinto de cero en b, el resultado de la operación es 1. ~a Cuando a es cero, el resultado de la operación es 1; cuando a es distinto de cero, el resultado de la operación es 0.

(3) Si dos matrices de la misma dimensión están involucradas en la operación lógica, entonces la operación se realizará uno por uno en los elementos en la misma posición de la matriz de acuerdo con reglas escalares. El resultado final de la operación es una matriz con la misma dimensión que la matriz original, cuyos elementos están compuestos por 1 o 0;

(4) Si una de las operaciones lógicas es un escalar y la otra es una matriz , entonces la operación será entre el escalar y Cada elemento de la matriz se procesa uno por uno de acuerdo con las reglas escalares. El resultado final de la operación es una matriz con la misma dimensión que la matriz, cuyos elementos están compuestos por 1 o 0;

(5) La negación lógica es un operador unario y también obedece a las reglas de operación matricial;

(6) Entre las operaciones aritméticas, relacionales y lógicas, las operaciones aritméticas tienen la mayor prioridad y las operaciones lógicas tienen la menor prioridad.

Información ampliada:

1. Obtener elementos de la matriz

Puede hacer referencia a los elementos de la matriz mediante subíndices (índice de columna), como Matrix (m, n).

Los elementos de la matriz también pueden ser referenciados por sus números de serie.

El número de serie de los elementos de la matriz es el orden en que se organizan en la memoria los elementos correspondientes.

En MATLAB, los elementos de una matriz se almacenan en columnas.

El número de serie (Índice) y el subíndice (Subíndice) están en correspondencia uno a uno. Tomando la matriz m*n A como ejemplo, el número de serie del elemento de la matriz A (i, j) es (j-1)*m i .

La relación de conversión mutua también se puede obtener utilizando las funciones sub2ind e ind2sub.

2. División de matrices

Utilice expresiones de dos puntos para obtener submatrices:

(1)A(:,j) significa tomar todos los elementos de la j-ésima columna de la matriz A A(; i,: ) representa todos los elementos en la i-ésima fila de la matriz A; A(i, j) representa los elementos en la i-ésima fila y j-ésima columna de la matriz A.

(2)A(i:i m,:) significa tomar todos los elementos en la fila i~i m de la matriz A; A(:,k:k m) significa tomar todas las columnas k~k m; del elemento de la matriz A, A(i:im,k:km) significa tomar todos los elementos en la i~imésima fila de la matriz A y en la k~kmésima columna.

Además, los vectores generales y los operadores finales también se pueden utilizar para representar subíndices de matrices para obtener submatrices. end representa el subíndice del elemento final de una determinada dimensión.

Utilice una matriz vacía para eliminar elementos de una matriz:

En MATLAB, defina [] como una matriz vacía. La declaración para asignar una matriz vacía a la variable X es X=[]. Tenga en cuenta que X=[] es diferente de claro

3. Matriz especial

(1) Matriz del Cubo de Rubik La matriz del Cubo de Rubik tiene una propiedad interesante: la suma de los elementos de cada fila, cada columna y dos diagonales son iguales. Para una matriz de cuadrado mágico de orden n, sus elementos están compuestos por 1, 2, 3,..., n2***n2 enteros. MATLAB proporciona la función magic(n) para encontrar la matriz del Cubo de Rubik. Su función es generar una matriz del Cubo de Rubik de orden n.

(2) Matriz de Vandermonde La última columna de la matriz de Vandermonde es todo 1, la penúltima columna es un vector específico y las otras columnas son los productos escalares de las columnas siguientes y la penúltima columna. Se puede generar una matriz de Vandermond a partir de un vector específico. En MATLAB, la función vander(V) genera una matriz de Vandermonde con el vector V como vector base.

(3) Matriz de Hilbert En MATLAB, la función que genera la matriz de Hilbert es hilb(n). El uso de métodos generales de inversión puede producir resultados de cálculo poco confiables debido a pequeñas perturbaciones en los datos originales.

En MATLAB, existe una función invhilb(n) que está diseñada específicamente para encontrar la inversa de la matriz de Hilbert. Su función es encontrar la matriz inversa de la matriz de Hilbert de orden n.

(4) Matriz de Toeplitz Excepto la primera fila y la primera columna, cada elemento de la matriz de Toeplitz es el mismo que el elemento de la esquina superior izquierda. La función que genera una matriz de Toeplitz es toeplitz(x, y), que genera una matriz de Toeplitz con x como primera columna e y como primera fila. Aquí xey son ambos vectores y no tienen que tener la misma longitud. toeplitz(x) genera una matriz de Toeplitz simétrica a partir del vector x.

(5) Matriz adjunta La función utilizada por MATLAB para generar una matriz adjunta es compan(p), donde p es un vector de coeficientes polinómicos, con coeficientes de potencia de orden superior clasificados en primer lugar y de orden inferior potencias ocuparon el último lugar.

(6) Matriz de Pascal Sabemos que los coeficientes de la expansión del término cuadrático (x y)n forman una tabla triangular a medida que n aumenta, lo que se llama triángulo de Yang Hui. La matriz compuesta por la tabla triangular de Yang Hui se llama matriz de Pascal. La función pascal(n) genera una matriz de Pascal de orden n.

Materiales de referencia:

Enciclopedia Baidu - Pascal Matrix

Enciclopedia Baidu - MATLAB