2012-06-01 6 views
0

행렬을 사용해 보았는데 실패했습니다. 외부 모듈과 외부 프로그램을 살펴 보았지만 아무 것도 작동하지 않았습니다. 도움이 될만한 팁이나 코드를 누군가가 나눌 수 있다면 감사합니다.파이썬에서 5 선형 방정식을 풀다

+1

이 문제의 방정식을 공유 할 수 있을까요? (그것들은 모순이있을 수 있습니다 - 즉, 해결책이 없거나 완전히 제한되지 않았습니다 - 하나 이상의 솔루션). –

+0

그들은 임의적입니다. 주로 ax^4 + bx^3 + cx^2 + dx + c 과 같은 방정식의 계수를 구합니다. 예를 들어 a + b + c + d + e = 1 16a + 8B + 4C + 2D + E = 2 81A + 27B + 9C + 3D + E = 3 256A + 64B + 16C + 4D + E = 4 625A + 125B + 25C + 5D + E = 8 그들은 consistant있다 그리고 완전히 구속 – JShoe

답변

5
import numpy 
import scipy.linalg 

m = numpy.matrix([ 
    [1, 1, 1, 1, 1], 
    [16, 8, 4, 2, 1], 
    [81, 27, 9, 3, 1], 
    [256, 64, 16, 4, 1], 
    [625, 125, 25, 5, 1] 
]) 

res = numpy.matrix([[1],[2],[3],[4],[8]]) 

print scipy.linalg.solve(m, res) 

반환

[[ 0.125] 
[-1.25 ] 
[ 4.375] 
[-5.25 ] 
[ 3. ]] 

+0

정말 고마워 !! 단지 그것을 할 수있는 방법 일뿐만 아니라 그것이 어떻게 수행되는지에 대한 예입니다. 잘 했어. – JShoe

+0

방금 ​​외부 모듈을 사용하는 것이 왜 싫은지 ... 매우 희귀 해 부드럽게 진행됩니다. – JShoe

+0

numpy에서 해결할 수 있습니까? 나는이 컴퓨터에서 실행하기 위해 scipy를 얻을 수 없습니다 .../ – JShoe

5

행렬 방법이 작동하지 않는다는 것이 무슨 뜻인지 모르겠습니다. 이것이 이러한 유형의 문제를 해결하는 표준 방법입니다.

선형 대수학 관점에서 5 선형 방정식을 푸는 것은 간단합니다. 그것은 여러 가지 방법을 사용하여 해결할 수 있습니다. inverse, Cramer's rule 등을 찾는 Gaussian elimination을 사용할 수 있습니다.

게으른 사람이라면 언제든지 도서관에 의지 할 수 있습니다. SympyNumpy은 모두 선형 방정식을 쉽게 해결할 수 있습니다.

+0

대답은 바로 나오지 않았다. 나는 이유를 모른다. 행렬은 정상적으로 작동해야하며, 표준이 있습니다. 구현에 어려움이 있습니다. – JShoe

+0

@JShoe : 그 질문에 대한 완벽한 후보자 인 것 같습니다. 가능한 경우 문제를 해결하고 해결하지 않아야합니다! – tskuzzy

0

아마도 당신은 잘못된 방식으로 행렬을 사용하고있을 것입니다.

매트릭스는 목록 내의 목록과 같습니다.

[[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1,1]] 

상기의 코드는 축이 바뀌 었는지 당신이 mylist[y][x]처럼 액세스 할 수있는 목록을 만들 것입니다. (A, B, C, D, E의 솔루션 계수)

+0

매트릭스를 만드는 방법을 확실히 알고 있습니다. 그래도 고마워. – JShoe

+0

@JShoe 왜 downvote? y와 x가 뒤집 혔을 때 당신이 잘못 사용한 것 같았습니다. 또한, Numpy 또는 Scipy를 사용하는 이유에 대해 잘 모르겠습니다. 귀하가하려는 일에 과도한 부담이되는 것 같습니다. –

관련 문제