2016-08-10 2 views
2

N 정사각형 벡터 집합을 만들고 싶다고합시다. 사실 저는 N-1 직교 벡터를 알고 있으며 마지막 벡터를 배우기를 원합니다.벡터 세트에 수직 인 벡터를 얻는 방법 (Matlab 사용)?

N-1 알려진 벡터와 찾을 벡터 사이의 각 스칼라 곱을 0으로 설정하여 선형 시스템을 풀어야합니다. 그러나 Matlab을 사용하여 어떻게 할 수 있습니까?

편집 :이 문제는 선형 방정식 시스템으로 볼 수 있습니다. 경우 U(N-1xN) 그 행 알려진 벡터를 포함 행렬은 다음 I 해결해야 찾을 X 벡터 및 0 0의 벡터 방정식 UX는 = 0이며 . 그것은 분명 평범한 솔루션 에게 반환, 이런 식으로,

x = U\0 

그러나 : 내가이 간단한 코드를 사용하는 것을해야 할 일. 나는 사소한 해결책, 어떤 생각이 필요합니까?

+0

:

이이 같은 Singular value decomposition을 사용하여 수행 할 수 있습니다? 선형 방정식의 시스템을 해결 하시겠습니까? '\'<-이 젠체하는 사람은 그것을 할 것이다 –

+0

나는 생각하지 않는다. 0 0 진수 솔루션 벡터를 반환합니다. – Alessandro

+2

그래, 우리에게 코드를 보여 주면 어떨까요? 제발, [ask]와 특히 [mcve]를 읽으십시오. –

답변

3

이 0 벡터가 아니고 Ax = 0을 만족하는 선형 시스템에 대한 간단한 해결책을 원합니다. 무엇을 수행

A = [2 -1 1; 2 -1 1; 3 2 1]; 
[U S V] = svd(A); 
x = V(:,end) 

x = 

    -0.39057 
    0.13019 
    0.91132 

A*x = 

    0 
    0 
    0 
+0

고맙습니다. – Alessandro