Pergunta

Eu li em alguns lugares (no doc e neste post do blog : http://blogs.mathworks.com/loren/2007/05/16/purpose-of-inv/ ) que o uso de inv em Matlab não é recomendado porque ele é lento e impreciso.

Eu estou tentando encontrar a razão de ser desta imprecisão.A partir de agora, o Google não dar m resultado interessante, então eu pensei que alguém aqui poderia me orientar.

Obrigado !

Foi útil?

Solução

A imprecisão que mencionei é com o método Inv, não a implementação do MATLAB. Você deve usar o QR, LU ou outros métodos para resolver sistemas de equações, pois esses métodos normalmente não exigem ao quadro do número de condição do sistema em questão. O uso do Inv normalmente requer uma operação que perde a precisão ao quadrar o número da condição do sistema original.

--Loren

Outras dicas

Eu acho que o objetivo do blog de Loren não é o de Matlab inv A função é particularmente mais lenta ou mais imprecisa do que qualquer outra implementação numérica de calcular uma matriz inversa; Em vez disso, na maioria dos casos o próprio inverso não é necessário e você pode proceder por outros meios (como resolver um sistema linear usando \ - O operador de barra de barra - em vez de calcular um inverso).

inv() é certamente mais lento do que \ a menos que você tenha várias lado direito vetores para resolver.No entanto, o conselho de MathWorks relativa imprecisão é devido a uma excessivamente conservadora, confeccionada em álgebra linear numérica resultado.Em outras palavras, inv() NÃO é inexato.O link elabora mais : http://arxiv.org/abs/1201.6035

Vários amplamente utilizados livros didáticos de levar o leitor a crer que a solução de um sistema linear de equações Ax = b, multiplicando-se o vetor b por um computado inverso inv(A) é impreciso.Praticamente todos os outros livros sobre análise numérica e de álgebra linear numérica aconselharia o uso calculado o inverso, sem indicar se isto é correto ou não.Na verdade, em suposições razoáveis sobre como o inverso é calculado, x = inv(A)*b é tão precisa como a solução calculada pelo melhor retro-estável solucionadores de problemas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top