Tabla de contenido
Primero, la creación y operación de arreglos.
Vía: Crear una matriz unidimensional
Cree una matriz unidimensional a través de la función logspace
Cree una matriz unidimensional a través de la función linspace
En segundo lugar, el funcionamiento de la matriz.
Operaciones relacionales en arreglos
Operaciones lógicas en arreglos
Subíndice referencias a matrices
Cuarto, la operación de los elementos de la matriz.
Beneficios: hay un conjunto completo de información de MATLAB al final del artículo.
introducir
Se puede decir que las operaciones de matrices son la base de los cálculos de MATLAB, y las matrices numéricas son los tipos de datos integrados más importantes de MATLAB. La matriz en sí es un arreglo especial.MATLAB pretende ser un laboratorio de matrices, lo que muestra la importancia de los arreglos y las matrices.
Primero, la creación y operación de arreglos.
,
Los elementos en la misma fila en la matriz están separados por comas o espacios, y ;
se usan punto y coma entre diferentes filas.
-
>> A = [6 5 4 3 2 1] A = 6 5 4 3 2 1 >> B = [6, 5, 4, 3, 2, 1] B = 6 5 4 3 2 1 >> C = [6;5;4;3;2;1] C = 6 5 4 3 2 1 >> D = B' % 转置 D = 6 5 4 3 2 1
Tenga en cuenta que acceder a los elementos de la matriz usa paréntesis ()
, no lo que usan la mayoría de los lenguajes de programación []
. Además, el subíndice de matriz de MATLAB comienza desde 1 , y también se permite pasar una lista de subíndices para realizar la consulta y modificación de múltiples elementos. (Esto es consistente con Julia):
-
>> A = [6 5 4 3 2 1] A = 6 5 4 3 2 1 >> A(3) = 0 A = 6 5 0 3 2 1 >> A([1 4]) = [1 1] A = 1 5 0 1 2 1
Vía: Crear una matriz unidimensional
En MATLAB, puede :
crear una matriz unidimensional creando una matriz unidimensional X=A:step:B
, donde A
es la primera variable para crear una matriz unidimensional y step
es el valor que se incrementa o decrementa cada vez, hasta el valor absoluto de la diferencia entre el último elemento y B es menor o igual al step
valor absoluto. Si no se especifica step
, el valor predeterminado es aumentar en una unidad de longitud.
-
>> 2:6 ans = 2 3 4 5 6 >> 2.1:1.5:6 ans = 2.1000 3.6000 5.1000 >> 2.1:6 ans = 2.1000 3.1000 4.1000 5.1000 >> 2.1:-1.5:-6 ans = 2.1000 0.6000 -0.9000 -2.4000 -3.9000 -5.4000
Cree una matriz unidimensional a través de la función logspace
-
y=logspace(a,b)
: Cree un vector filay
con el primer elemento siendo 10^a y el último elemento siendo 10^b, formando una secuencia geométrica con un total de 50 elementos. -
y=logspace(a,b,n)
: Esta función crea un vector filay
con el primer elemento siendo 10^a y el último elemento siendo 10^b, formando una secuencia geométrica con un total de n elementos .
-
>> A = logspace(1, 2, 10) A = 10.0000 12.9155 16.6810 21.5443 27.8256 35.9381 46.4159 59.9484 77.4264 100.0000
Cree una matriz unidimensional a través de la función linspace
-
y=linspace(a,b)
: crea un vector filay
con a como primer elemento y b como último elemento, formando un vector espaciado linealmente (secuencia aritmética) con un total de 100 elementos. -
y=logspace(a,b,n)
: Esta función crea un vector filay
con el primer elemento a y el último elemento b formando un vector espaciado linealmente (secuencia aritmética) de n elementos en total .
-
>> A = linspace(1, 100) A = 1 至 21 列 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 至 42 列 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 至 63 列 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 至 84 列 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 至 100 列 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 >> B = linspace(1, 36, 1) B = 36
En segundo lugar, el funcionamiento de la matriz.
La operación de una matriz comienza desde el elemento completo de la matriz y realiza una operación en cada elemento de la misma. Las operaciones básicas incluyen suma, resta, multiplicación, división por la izquierda, división por la derecha y exponenciación.
-
>> A = [1 5 6 8 9 6] A = 1 5 6 8 9 6 >> B = [9 85 6 2 4 0] B = 9 85 6 2 4 0 >> C = [1 1 1 1 1] C = 1 1 1 1 1 >> D = A + B D = 10 90 12 10 13 6 >> E = A - B E = -8 -80 0 6 5 6 >> F = A * 2 F = 2 10 12 16 18 12 >> G = A + 3 G = 4 8 9 11 12 9 >> H = A - G H = -3 -3 -3 -3 -3 -3
Cabe señalar que la multiplicación de matrices es diferente de la multiplicación de matrices . Requiere la misma dimensión que la sumaA
, B
y la operación es la operación de multiplicación de los elementos correspondientes de la matriz, y el resultado del cálculo es una matriz con la misma dimensión que la suma. Naturalmente, para la división, se dividen los elementos correspondientes.A
B
-
>> A = [1 2 3] A = 1 2 3 >> B = [2 3 4] B = 2 3 4 >> C = A .* B % 数组的点乘 C = 2 6 12 >> D = A * 3 % 数组与常数的乘法 D = 3 6 9
División de matriz:
-
>> A = [1 2 3] A = 1 2 3 >> B = [2 3 4] B = 2 3 4 >> A ./ B % 左除 ans = 0.5000 0.6667 0.7500 >> A .\ B % 右除,等价于 B ./ A ans = 2.0000 1.5000 1.3333 >> B / 2 ans = 1.0000 1.5000 2.0000
Potencias de matriz:
-
>> A = [1 2 3 4] A = 1 2 3 4 >> B = [1 2 3 4] B = 1 2 3 4 >> C = A .^ B % 数组的乘方 C = 1 4 27 256 >> D = 3 .^ A % 常数与数组的乘方 D = 3 9 27 81
La operación del producto puntodot()
de la matriz se puede realizar a través de la función , pero la regla de operación requiere que las dimensiones de la matriz y sean las mismas, y el formato de llamada es:A
B
-
C=dot(A,B)
-
C=dot(A,B,dim)
-
>> A = [1 2 3 4] A = 1 2 3 4 >> B = [1 2 3 4] B = 1 2 3 4 >> dot(A, B) ans = 30
Operaciones relacionales en arreglos
MATLAB proporciona 6 operadores relacionales de matrices, a saber, <
(menor que), (menor que <=
o igual a), (mayor que >
), >=
(mayor que o igual a), ==
(igual a), ~=
(no igual a). Reglas de operación:
-
Si el tamaño de los escalares se compara directamente y se establece la relación, se devuelve 1; de lo contrario, se devuelve 0.
-
Cuando el valor de comparación es una matriz con dimensiones iguales, compare los elementos en la misma posición uno por uno y proporcione el resultado de la comparación. El resultado final es una matriz de 0 o 1 elementos con las mismas dimensiones que las matrices comparadas.
-
>> A = [1 2 3 4 5] A = 1 2 3 4 5 >> B = [0 2 3 4 5] B = 0 2 3 4 5 >> A > B ans = 1×5 logical 数组 1 0 0 0 0 >> A >= 3 ans = 1×5 logical 数组 0 0 1 1 1
Operaciones lógicas en arreglos
Las matrices en MATLAB proporcionan tres operadores lógicos: &
(y), |
(o) y ~
(no). Verdadero si es un elemento distinto de cero, denotado por 1. Los elementos cero son falsos, representados por 0.
-
>> A = [1 2 3 4 5 6] A = 1 2 3 4 5 6 >> B = [0 1 2 3 4 5] B = 0 1 2 3 4 5 >> A & B ans = 1×6 logical 数组 0 1 1 1 1 1 >> A | B ans = 1×6 logical 数组 1 1 1 1 1 1 >> ~B ans = 1×6 logical 数组 1 0 0 0 0 0
3. Matriz
Hay muchas diferencias entre matrices y arreglos en MATLAB, como:
-
Matrix es un concepto matemático, mientras que array es un concepto en el campo de la programación informática;
-
Como manifestación de los operadores de transformación o mapeo en matemáticas, las operaciones matriciales tienen reglas matemáticas claras y estrictas . La operación de matriz es una regla definida por el software MATLAB, el propósito es hacer que la gestión de datos sea más conveniente.
La conexión entre los dos es que la matriz existe en forma de matriz. Por tanto, un arreglo unidimensional es equivalente a un vector, y un arreglo bidimensional es equivalente a una matriz, en otras palabras, una matriz es un subconjunto de un arreglo .
Construcción de matriz
Hay dos formas de construir una matriz: una es similar a una matriz de celdas y puede asignar valores directamente a las variables, la otra es usar un comando de matriz especial proporcionado previamente.
nombre de la función | función función |
---|---|
ones(n) |
matriz n×n 1 (los elementos son todos 1) |
zeros(n) |
matriz n×n 0 (los elementos son todos 0) |
eye(n) |
matriz identidad n×n |
eye(m,n) |
matriz identidad m×n |
rand(n) |
Matriz n×n, números aleatorios uniformemente distribuidos entre elementos 0-1 |
diag(x) |
Los elementos de la diagonal principal se toman del vector x y los elementos restantes tienen el valor 0 |
triu(A) |
Construya la misma matriz triangular superior que A , los elementos en la diagonal principal son los elementos correspondientes en A, y el resto son 0 |
tril(A) |
Construya la misma matriz triangular inferior que A , los elementos en la diagonal principal son los elementos correspondientes en A, y el resto son 0 |
Existen otros tipos de matrices, como el cubo de Rubik
magic
, Pascalpascal
, Vandermonde, etc.
-
>> A = ones(3) A = 1 1 1 1 1 1 1 1 1 >> B = rand(3) B = 0.8147 0.9134 0.2785 0.9058 0.6324 0.5469 0.1270 0.0975 0.9575 >> C = [1 2 3; 4 5 6; 7 8 9] C = 1 2 3 4 5 6 7 8 9 >> triu(C) ans = 1 2 3 0 5 6 0 0 9
Subíndice referencias a matrices
El índice de elementos de matriz bidimensional ordinarios se divide en índice de subíndice doble e índice de subíndice simple. El índice índice de doble subíndice corresponde a la posición de fila y columna del elemento en la matriz a través de un arreglo binario, por ejemplo: A(2, 3) indica el elemento en la segunda fila y tercera columna en la matriz A. La forma de índice de subíndice único es adoptar el principio de prioridad de elemento de columna y reorganizar la matriz de m
filas y A (5) representa el elemento de la tercera fila y la segunda columna.n
expresión | Función |
---|---|
A(1) |
Reorganice la matriz bidimensional A en una matriz unidimensional y devuelva el primer elemento de la matriz |
A(:,j) |
Devuelve el vector columna j en la matriz bidimensional A |
A(i,:) |
Devuelve el i-ésimo vector de fila en la matriz bidimensional A |
A(:,j:k) |
Devuelve la submatriz compuesta por vectores columna de la columna j a la columna k en la matriz bidimensional A |
A(i:k,:) |
Devuelve la submatriz que consta de vectores fila desde la i-ésima fila hasta la k-ésima fila en la matriz bidimensional A |
A(:) |
Combinar cada columna en la matriz A en un vector de columna larga |
Prueba de estructura matricial:
nombre | Función |
---|---|
isempty(A) |
Comprobar si la matriz está vacía |
isscalar(A) |
Comprueba si la matriz es una matriz escalar con un elemento |
isvector(A) |
Vector 1D que detecta si la matriz tiene solo una fila o una columna de elementos |
issparse(A) |
Comprobar si una matriz es una matriz dispersa |
-
>> A = magic(3) A = 8 1 6 3 5 7 4 9 2 >> A(5) ans = 5 >> B = [1] B = 1 >> isempty(B) ans = logical 0 >> isscalar(B) ans = logical 1
tamaño de la matriz
El tamaño de la matriz suele incluir los siguientes aspectos: el número de dimensiones, la longitud de cada dimensión y el número de elementos de la matriz. Para ello, MATLAB proporciona cuatro funciones, que se utilizan para obtener información sobre la forma de la matriz.
formato de llamada | Función |
---|---|
n=ndims(X) |
Obtener el número de matrices |
[m,n]=size(X) |
Obtener la longitud de la matriz en cada dimensión. |
n=length(X) |
Obtener la longitud de la dimensión más larga de una matriz |
n=numel(X) |
Obtener el número de elementos de la matriz. |
-
>> A = eye(5, 3) A = 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 >> ndims(A) ans = 2 >> length(A) ans = 5 >> numel(A) ans = 15
Una de las claves para optimizar el código de MATLAB es comprender el uso de memoria de las matrices . Puede usar para whos
ver toda la información de la variable especificada en el espacio de trabajo actual, incluido el nombre de la variable, el tamaño de la matriz, el uso de la memoria, el tipo de datos, etc.
-
>> m = rand(2) m = 0.9649 0.9706 0.1576 0.9572 >> whos m Name Size Bytes Class Attributes m 2x2 32 double
Cuarto, la operación de los elementos de la matriz.
Para usar operaciones con matrices, debe seguir la definición matemática de una matriz. Por ejemplo, la premisa de las operaciones de suma y resta de matrices es que dos o más matrices que participan en la operación deben tener el mismo número de filas y columnas .
Satisfecho: ley conmutativa A+B=B+A, ley asociativa A+(B+C)=(A+B)+C, existencia del elemento cero A+0=0+A=A, existencia del elemento negativo A+(- A) =(-A)+A
Las operaciones de multiplicación de matrices incluyen la multiplicación de números y matrices, y la multiplicación de matrices. La multiplicación de matrices debe satisfacer el hecho de que el número de columnas de la matriz multiplicada es igual al número de filas de la matriz multiplicada . Además, la multiplicación entre matrices no sigue la ley conmutativa , sino que satisface la siguiente ley de operación:
-
Ley asociativa: (A×B)×C=A×(B×C)
-
Ley distributiva izquierda: A×(B+C)=A×B+A×C
-
Ley distributiva derecha: (B+C)×A=B×A+C×A
-
Existencia de matriz identidad: E×A=A, A×E=A
La división de matrices es la operación inversa de la multiplicación, dividida en división por la izquierda y división por la derecha. Utilice símbolos \
y /
representaciones de operadores. Para las matrices bidimensionales generales A y B , al realizar la operación A\B , se requiere que el número de filas de A sea igual al número de filas de B ; al realizar la operación A/B , el número de columnas de A y Se requiere que B sea igual.
-
>> A = [1 2; 1 3]; >> B = [1 0; 1 2]; >> C = A / B C = 0 1.0000 -0.5000 1.5000 >> D = A\B D = 1 -4 0 2 >> C * B ans = 1 2 1 3 >> A * D ans = 1 0 1 2
Cuando la matriz es una matriz cuadrada, se puede realizar la operación de potencia de la matriz, y MATLAB la usa ^
para representar la operación de potencia:
-
>> A = magic(3) A = 8 1 6 3 5 7 4 9 2 >> A2 = A^2 A2 = 91 67 67 67 91 67 67 67 91
diferencia de matriz
diff()
La función es calcular la diferencia de la matriz. En resumen, la diferencia entre la fila (columna) anterior y la fila (columna) siguiente en la matriz se organiza en la posición correspondiente de la fila (columna) anterior.
-
Y=diff(X,n)
: Calcula la diferencia de orden n de elementos en cada columna de la matriz. -
Y=diff(X,n,dim)
dim
: Calcula la diferencia de elementos de una matriz en una dimensión dadan
. En ese momentodim=1
se calcula la diferencia de los elementos de cada columna de la matriz. En ese momentodim=2
se calcula la diferencia de los elementos de cada fila de la matriz.
-
>> A = magic(3) A = 8 1 6 3 5 7 4 9 2 >> B = diff(A) B = -5 4 1 1 4 -5 >> C = diff(A, 2) C = 6 0 -6 >> D = diff(A, 1, 2) D = -7 5 2 2 5 -7
Operaciones Matriciales
Las operaciones con matrices son una parte extremadamente importante del álgebra lineal, incluido el análisis de matrices, la resolución de valores propios y los valores singulares.
análisis matricial
Las funciones de análisis de matrices proporcionadas por MATLAB son las siguientes:
Nombre de la función | describir |
---|---|
norm |
Encuentra la norma de una matriz o vector |
normest |
Estime la 2da norma de la matriz |
rank |
Rango de la matriz |
det |
determinante de matriz |
trace |
La traza de la matriz, es decir, la suma de los elementos de la diagonal |
null |
0 espacio |
orth |
espacio de ortogonalización |
rref |
Forma escalonada de fila reducida |
subspace |
encontrar el ángulo de dos espacios de matriz |
-
>> norm(1:6, 2) % 2阶范数 ans = 9.5394 >> normest(1:6) ans = 9.5394
Cuando la dimensión de la matriz es relativamente grande, tomará mucho tiempo calcular la norma, y cuando un valor de norma aproximado cumple con los requisitos, puede considerar usar una función para estimar el valor de norma de segundo orden
normset()
.
-
>> A = [1 2 3; 3 4 5; 7 8 9]; >> B = magic(3); >> r1 = rank(A) r1 = 2 >> r2 = rank(B) r2 = 3 >> det(B) ans = -360 >> trace(B) ans = 15 >> Z = null(A) Z = 0.4082 -0.8165 0.4082
Factorización de matrices
La descomposición de matrices consiste en descomponer una matriz en varias formas "simples" de multiplicación de matrices. La descomposición de matrices es muy importante tanto en teoría como en aplicaciones de ingeniería.
nombre | describir |
---|---|
chol |
Descomposición de Cholesky |
choline |
Descomposición incompleta de Cholesky de matriz dispersa |
lu |
Descomposición de matriz LU |
luinc |
Factorización LU incompleta de matrices dispersas |
qr |
Descomposición por triangulación ortogonal |
svd |
valor singular de descomposición |
gsvd |
Descomposición general de valores singulares |
schur |
Descomposición de Schur |
Show Charging Jun te traerá la última y más completa interpretación lo antes posible, no olvides la triple ola.
Preste atención a la cuenta oficial: Barra de carga de recursos
Responder: Chat GPT
Carga que Jun le envió: disfrute usando la versión china de forma gratuita
Haga clic en la tarjeta pequeña para seguir, responda: TI
Tengo toda la información que quiero.