Pergunta

Eu tenho um sistema, de 22 de equações lineares (exatamente 22 de equações e 22 de incógnitas), que são gerados dinamicamente em uma planilha do Excel.Existe uma maneira de ter o Excel resolver o sistema e produzir um valor para cada uma das variáveis desconhecidas?

De outro MODO a pergunta tem um monte de boas informações sobre os algoritmos utilizados para resolver tais equações. A regra de Cramer em particular, parece promissor, mas eu não tenho certeza de como implementá-lo no Excel.

Qualquer ajuda é apreciada!

Foi útil?

Solução

Nesta página dá o seguinte método:

  1. Introduza o coeficiente de matriz em uma nxn intervalo.

  2. Insira o vetor de constantes em uma n-altura de coluna.Selecione um em branco n-altura de coluna.É importante que você não tem apenas uma célula selecionado.

  3. Tipo, =MMULT(MATRIZ.INVERSA(coefficients_matrix_range), constants_vector_range) na fórmula caixa de texto e pressione [CTRL] E[SHIFT][ENTER].É importante que você não pressione simplesmente a tecla [ENTER].

Isso deve funcionar adequadamente, pois você só tem um pequeno sistema (22x22).Enquanto, o ideal é que você não iria inverter a matriz diretamente, não importa nesse caso.

Você definitivamente não deseja regra de Cramer.Devido à sua relativamente pobres propriedades numéricas, é mais teórico do que prático interesse.

Outras dicas

O que sobre Microsoft Solver Fundação?Eu me lembro que há alguns exemplo para um conjunto menor de equações simultâneas na documentação que vem com a versão express.

Você não deve sempre considerar a regra de Cramer para resolver um sistema linear!É tão ineficiente que é impossível executar até mesmo para sistemas de pequeno porte.

O Excel não é a ferramenta certa para resolver um sistema linear.Se eu fosse você eu ia escrever um simples script em python que lê o ficheiro de excel, resolver a equação (com numpy) e salvar o resultado em um arquivo do excel pode ler.(melhor ainda, evitar Excel completamente se você pode).

O Excel função PROJ.LIN deve fazê - lo-e irá retornar resultados melhores do que os MMULT(MATRIZ.INVERSA(...)...) em muitos casos.

Você também pode encontrar o PROJ.LOG, o CRESCIMENTO e a TENDÊNCIA de funções úteis.

Se você tiver quaisquer problemas com a matriz inversa calc, por exemplo,mais de / menos de fluxo / truncamento etc, você sempre pode usar o Solver - else obter uma cópia do numerical recipes in C e traduzir-se em VBA.

que pode ser linear de equações do solver podemos fazer com a matemática solver utilizando a equação matemática da raiz encontra-se entre dois mais o número de expoente parte do solver, mas encontrar a melhor forma de equação linear do solver.

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