Cómo realizar la división de matrices en matlab

MATLAB hace muchos pequeños trucos matemáticos ordenadas. Al igual que con la multiplicación de matrices en MATLAB, la división de la matriz tiene lugar en varios niveles diferentes. Sigue leyendo para explorar división en cada nivel.

División de un vector por un escalar

División de un vector por un escalar y producir un resultado utilizable es posible. Por ejemplo, el tipo de m = [2, 4, 6] / 2 y pulse Enter. Vea el siguiente resultado:

m = 1 2 3

Cada una de las entradas se divide por el valor escalar. Nótese que esta es la división de la derecha. Usando la división izquierda (m = [2, 4, 6] 2) Produciría una result- inutilizable sin embargo, el uso de m = 2 [2, 4, 6] produciría el mismo resultado que antes. MATLAB hará todo lo posible para dar cabida con un resultado, no una que realmente podría usar.

La división de una matriz por un vector

Al dividir una matriz por un vector, que define el tipo de resultado que desea ver es importante. La mayoría de la gente quiere realizar una división de elemento por elemento. En este caso, se utiliza el bsxfun () función con el @rdivide nombre de la función - @rdivide para la división derecha. Para ver cómo funciona esto, el tipo de n = bsxfun (@rdivide, [2, 4 6, 8], [2, 4]) y pulse Enter. Usted ve el resultado siguiente:

n = 1 13 2

En este caso, el elemento en la columna 1, fila 1 se define por 2 / 2. Asimismo, el elemento en la columna 1, fila 2 se define por 6/2.

La división de dos matrices

Al dividir dos matrices, las dimensiones de las dos matrices deben estar de acuerdo. Por ejemplo, no se puede dividir una matriz de 3 x 2 mediante una matriz de 2 x 3 - ambas matrices deben tener las mismas dimensiones, tales como 3 x 2. Para ver cómo funciona esto, el tipo de o = [2, 4- 6, 8] / [1, 2- 3, 4] y pulse Enter. Vea el siguiente resultado:

o = 2 00 2

Realización de vista izquierda de dos matrices es también posible. Para ver el resultado de realizar la división izquierda utilizando las mismas matrices, tipo p = [2, 4- 6, 8] [1, 2- 3, 4] y pulse Enter. Aquí está el resultado que se ve:

p = 0,5000 00 0,5000

Es esencial recordar que la división de matrices no es en realidad la división como la mayoría de la gente piensa de ella. Lo que realmente hace es multiplicar una matriz por la inversa de la otra. Por ejemplo, el uso de las dos matrices que se ven aquí, se puede lograr el mismo resultado de la división de la izquierda escribiendo q = [2, 4- 6, 8] * inv ([1, 2- 3, 4]) y pulsando Intro.

Para realizar la división derecha, basta con cambiar la matriz invertida escribiendo r = inv ([2, 4- 6, 8]) * [1, 2- 3, 4] y pulsando Intro. los inv () función siempre devuelve la inversa de la matriz que usted proporciona como entrada, por lo que se puede utilizar para ayudarle a entender con precisión cómo MATLAB está realizando la tarea.

Sin embargo, el uso de la inv () función es computacionalmente ineficiente. Para hacer que las secuencias de comandos se ejecutan más rápido, divisoria es siempre mejor. Se puede utilizar el inv () la función de muchas maneras. Por ejemplo, la multiplicación de cualquier matriz por su inversa, como por tipificación s = [1, 2- 3, 4] * inv ([1, 2- 3, 4]), se obtiene la matriz de identidad.

Lo que algunas personas están buscando a una división de elemento por elemento. Para realizar esta tarea, debe utilizar el bsxfun () función. Por ejemplo, para llevar a cabo la división de la izquierda en las dos matrices anteriores, se escribe t = bsxfun (@ldivide, [2, 4 6, 8], [1, 2- 3, 4]) y pulse Enter. El resultado en este caso es

t = 0,5000 0,5000 0.50000.5000

Del mismo modo, se puede realizar la división derecha. Para ver cómo funciona esto, el tipo de u = bsxfun (@rdivide, [2, 4 6, 8], [1, 2- 3, 4]) y pulse Enter. Usted ve el resultado siguiente:

u = 2 22 2
Artículos Relacionados