2016-09-26 4 views
0

3(n+1)에 의해 3(n+1) 인 행렬 w을 얻는 프로그램이 있습니다. 벡터 fbar3(n+1)이고 1입니다. 나는 w에 곱하면 fbar이라는 행렬을 얻고 싶습니다.메이플의 행렬 방정식을 풀는 방법

수학 표기법에서 w * A = fbar입니다. 나는 wfbar을 가지고 있으며, 나는 A을 원합니다.

나는이 명령으로 해결하기 위해 노력 :

fsolve({seq(multiply(w, A)[i, 1] = fbar[i, 1], i = 1 .. 3*(n+1))})  

하지만 응답 메이플 준 이해하지 않는다 :

fsolve({2.025881905 A1[2,1]+7.814009150 A1[3,1]+... 

-7.071067816 10^(-13) A1[3,1]-0.0004999999990 

A1[4,1]-0.0007071067294 A1[5,1]-0.0004999999990 A1[6,1]) 

A3[6,1]=0},{A1[1,1],A1[2,1],A1[3,1],A1[4,1],A1[5,1],A1[6,1],A\ 

2[1,1],A2[2,1],A2[3,1],A2[4,1],A2[5,1],A2[6,1],A3[1,1],A3[2,1]\ 

,A3[3,1],A3[4,1],A3[5,1],A3[6,1]}) 
이 무슨 뜻 무엇

, 어떻게 내가 더를 얻을 수 있습니다 의미있는 대답은?

+0

코드를 먼저 포맷해야합니다. – sashoalm

+0

무엇을 의미합니까? 작성했습니다. 그 결과. 내 프로그램은 그 뜻이라면 여기에 글을 쓰는 것이 훨씬 더 길다. 그러나 중요하다면, 나를 말해주세요 –

+0

나는 이것을 의미했습니다 - http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks. 그러나 Andrew Piliser는 이미 당신을 위해 포맷했습니다. – sashoalm

답변

0

wfbar을 각각 행렬 및 벡터로 정의하면 LinearAlgebra 패키지의 LinearSolve 기능으로 직접이 작업을 수행 할 수 있습니다. 아래 코드는 재현 할 수있는 예제입니다. LinearSolve의 해는 x과 같아야합니다.

w := Matrix(<<1,2,3>|<4,5,6>|<7,8,10>>); 
LinearAlgebra[ReducedRowEchelonForm](%); ## Full rank => 1 solution) 
x := <1,2,3>; 
fbar := w.x; 


## Solve the equation w.x = fbar 
LinearAlgebra[LinearSolve](w,fbar); 
+0

감사합니다. 하지만 위에 쓴 명령을 사용하면 다음과 같은 오류 메시지가 나타납니다. Error, (LinearAlgebra : -LinearSolve에서) 일관성없는 시스템 –

+0

왜이 오류를 발견 했습니까? –

관련 문제