Como executar divisão matriz em matlab

MATLAB faz tantas puro truques de matemática pequenos. Tal como acontece com a multiplicação de matrizes no MATLAB, divisão matriz ocorre em vários níveis diferentes. Continue lendo para explorar divisão em cada nível.

Dividindo um vector por um escalar

Dividindo um vector por um escalar e produzindo um resultado utilizável é possível. Por exemplo, tipo m = [2, 4, 6] / 2 e pressione Enter. Você vê o seguinte resultado:

m = 1 2 3

Cada uma das entradas é dividido pelo valor escalar. Note-se que esta é a divisão direita. Usando divisão esquerda (m = [2, 4, 6] 2), Iria produzir um result- inutilizável no entanto, utilizar m = 2 [2, 4, 6] iria produzir o mesmo resultado como antes. MATLAB faria o seu melhor para acomodá-lo com um resultado, não apenas um que você poderia realmente usar.

Dividindo uma matriz por um vetor

Ao dividir uma matriz por um vetor, definindo o tipo de resultado que você quer ver é importante. A maioria das pessoas deseja executar uma divisão elemento por elemento. Neste caso, você usa o bsxfun () com a função @rdivide nome da função - @rdivide para a divisão direita. Para ver como isso funciona, tipo n = bsxfun (@rdivide, [2, 4- 6, 8], [2, 4]) e pressione Enter. Você vê o seguinte resultado:

n = 1 13 2

Neste caso, o elemento na coluna 1, linha 1 é definida por 2 / 2. Da mesma forma, o elemento em coluna 1, linha 2 é definido por 2/6.

Dividindo duas matrizes

Ao dividir duas matrizes, as dimensões das duas matrizes devem concordar. Por exemplo, você não pode dividir uma matriz 3 x 2 por uma matriz 2 x 3 - ambas as matrizes devem ser as mesmas dimensões, como 3 x 2. Para ver como isso funciona, tipo o = [2, 4- 6, 8] / [1, 2- 3, 4] e pressione Enter. Você vê o seguinte resultado:

o = 2 00 2


Realizando divisão deixou de duas matrizes também é possível. Para ver o resultado da execução de divisão esquerda usando as mesmas matrizes, tipo p = [2, 4- 6, 8] [1, 2- 3, 4] e pressione Enter. Aqui está o resultado que você vê:

p = 0,5000 00 0,5000

É essencial lembrar que a divisão da matriz não é realmente divisão como a maioria das pessoas pensam dele. O que você realmente fazer é multiplicar uma matriz pelo inverso do outro. Por exemplo, usando as duas matrizes que você vê aqui, você pode conseguir o mesmo resultado da divisão esquerda, digitando q = [2, 4- 6, 8] * inv ([1, 2- 3, 4]) e pressionar enter.

Video: Multiplicando Matrizes no MATLAB

Para executar a divisão direita, você simplesmente mudar a matriz invertida, digitando r = inv ([2, 4- 6, 8]) * [1, 2- 3, 4] e pressionar enter. o inv () função sempre retorna o inverso da matriz que você fornecer como entrada, para que você possa usá-lo para ajudá-lo a entender exatamente como MATLAB está realizando a tarefa.

No entanto, usando o inv () função é computacionalmente ineficiente. Para tornar seus scripts correr mais rápido, divisória é sempre melhor. Você pode usar o inv () função de muitas maneiras. Por exemplo, multiplicando qualquer matriz por seu inverso, tal como por tipagem s = [1, 2- 3, 4] * inv ([1, 2- 3, 4]), produz a matriz identidade.

Video: MATLAB - Aula 2: Mais matrizes, expressões e básico de plotagem

O que algumas pessoas estão realmente procurando é a divisão elemento por elemento. Para realizar essa tarefa, você deve usar o bsxfun () função. Por exemplo, para executar a divisão esquerda nas duas matrizes anteriores, você digita t = bsxfun (@ldivide, [2, 4- 6, 8], [1, 2- 3, 4]) e pressione Enter. O resultado neste caso é

t = 0,5000 0,5000 0.50000.5000

Da mesma forma, você pode realizar a divisão direita. Para ver como isso funciona, tipo u = bsxfun (@rdivide, [2, 4- 6, 8], [1, 2- 3, 4]) e pressione Enter. Você vê o seguinte resultado:

u = 2 22 2

Publicações relacionadas