2017-11-12 2 views
-2

이 언어로 작성된 GMRES algorithm의 일부를 이해해야합니다. 나를 괴롭히는 이유는 다음과 같습니다.Matlab/GNU 옥타브 구문

y = H(1:k,1:k) \ beta(1:k); 
x = x + Q(:,1:k)*y; 

누군가 확장 된 형태로 무엇을 의미하는지 설명 할 수 있습니까?

미리 감사드립니다. 첫번째 방정식에 관한 어떤 내용

+2

[meta]에서 [어떻게이 $ {코드 덤프}가 어떻게 작동하는지 설명 "(https://meta.stackoverflow.com/a/253896/2988)을 처리하는 방법을 참조하십시오. –

+1

@ JörgWMittag 그런 적대적인 태도 ... 나는 간결한 질문을 올렸고 빠른 대답을 얻었다. 그래서 그게 목적이 아닌가? 그러나이 두 줄의 코드를 포함하지 않고 질문을 공식화 할 수있는 방법을 알고 싶습니다. 나쁜 날 ? – yarchik

+1

아주 오랜 시간 이래로 새로운 SO 방식입니다. 모든 질문은 중복 또는 무언가이거나 그냥 부재 중입니다. 분명히, 사람들이 질문을함으로써 도움을받는 웹 사이트보다 구조화 된 FAQ 아카이브에 가까워지고 있습니다. –

답변

1

: 제 방정식에 관한 어떤 내용

H(1:k,1:k) = sub-matrix of matrix H that you obtain by taking rows from 1 (beginning) to k and columns from 1 (beginning) to k 
beta(1:k) = sub-vector of vector beta that you obtain by taking elements from 1 (beginning) to k 
y = is a matrix obtained by solving a symbolic matrix left division between sub-matrix of H and the sub-vector of beta 

: 매트랩

Q(:,1:k) = sub-matrix of matrix Q with all the rows and columns from 1 (beginning) to k 
x = a matrix that is obtained by adding to it's previous value the result of the multiplication between the sub-matrix of matrix Q and y 

인덱싱 1 기반, 0 계 없다. 그래서 인덱스 1은 당신이 작업하고있는 것의 첫 번째 요소에 해당합니다. 인덱싱하여 서브 매트릭스의 예 : X = A\B 선형 방정식의 시스템을 해결 기호 :

A = [ 
    2 3 4; 
    1 2 3; 
    3 4 4 
]; 

B = A(1:2,1:2); 

B is then equal to: 

[ 
    2 3; 
    1 2 
]; 

C = A(:,1:2); 

C is then equal to: 

[ 
    2 3; 
    1 2; 
    3 4 
]; 

이상한 구분 기호 (: mathworks.com/help/symbolic/mldivide.html 자세한 내용) 매트릭스 왼쪽 분할을 나타내는 매트릭스 형태 : A*X = BX입니다.

+0

감사합니다.하지만이 이상한 "\"작동이란 무엇입니까? – yarchik

+0

그것은 매트릭스 왼쪽 부분입니다 : https://it.mathworks.com/help/symbolic/mldivide.html (X = A \ B는 행렬 형태로 선형 방정식의 기호 시스템을 해결하고 X는 A * X = B를 해결합니다). –

+1

이 유용한 설명을 답안에 추가하십시오. 동의하겠습니다. – yarchik