Матрица обратного кода (с, с ++, фортран или тксолвер) - PullRequest
2 голосов
/ 23 ноября 2010

Мне нужен код для определения инверсии nxn матрицы A с использованием операций со строками. У меня нелепое время на написание этого кода. Все, что помогает, я аспирант и не брал уроки программирования в течение многих лет. Спасибо.

Ответы [ 4 ]

2 голосов
/ 23 ноября 2010

Возможно, вы не хотите обратного.Если вы пытаетесь решить систему уравнений, вам лучше использовать декомпозицию LU.

Вы не говорите, на каком языке вы хотели бы написать это приложение. Java имеет Apache Commons Math;Python имеет NumPy;ФОРТРАН имеет LinPack.Выберите язык и используйте библиотеку;не пиши это сам.

1 голос
/ 15 марта 2012
  SUBROUTINE MATINV(A,N)
  DIMENSION A(N,N)
  DO 1 I=1,N
     Z=A(I,I)
     A(I,I)=1.0
     DO 2 J=1,N
2       A(I,J)=A(1,J)/Z
     DO 1 K=1,N
        IF (K-I) 3,1,3
3          Z=A(K,I)
        A(K,I)=0.0
        DO 4 J=1,N
4          A(K,J)=A(K,J)-Z*A(I,J)
1 CONTINUE
  RETURN
  END
1 голос
/ 23 ноября 2010

Я предлагаю Scilab или MATLAB для матричных операций, если вы годами не посещали уроки программирования.

Если это однократный расчет, посмотрите на WolframAlpha.

Если использование библиотек является опцией для C ++, посмотрите Armadillo .

0 голосов
/ 24 ноября 2010

Посмотрите на Числовые рецепты онлайн . Код Fortran 77, Ansi C и Fortran 90 бесплатный, и вы можете получить множество подсказок о том, как лучше действовать.

...