2017-11-25 12 views
1

저는 선형 방정식 시스템을 풀어 달라는 질문을 받았습니다. 질문 그것은 I 방정식 X가 (x 및 y의 Z w) 컬럼 벡터 인 X = B를 해결하기위한 A 행렬과 열 벡터 B 설정한다 말한다. matlab에서 선형 방정식 시스템을 풀려고 시도했습니다.

A = [1 1 1 1; 0 1 4 -2; 2 0 -2 1; 1 -2 -1 1] 
b = [28;7;22;-4] 
A1 = inv(A).*b 
sum(A1,2) 

내가 그러나 내가 MATLAB 오른쪽 솔루션은 10.5 = W해야한다 나를이 잘못 주시는 답을 알고, 지금까지 한 일이다, x는 = 9, y는 2.5 =, Z = 6 .

누군가 올바른 방향으로 나를 가리킬 수 있습니까?/내가 잘못 가고있는 곳을 보여줄 수 있습니까? (나는 MATLAB에 대해 매우 익숙하다. 감사합니다. . 것 당신의 기술을 사용하는 https://it.mathworks.com/help/matlab/ref/mldivide.html

올바른 코드 :

A1 = inv(A) * b; 

을하지만 당신은 MATLAB 코드를 알 수 있습니다으로

\ 연산자에 관한 참고로
+1

오타. 세 번째 줄에는'inv (A)'뒤에 여분의'.'이 있습니다. 여기에 엘리먼트 단위의 곱셈은 필요 없다. –

답변

2
A = [1 1 1 1; 0 1 4 -2; 2 0 -2 1; 1 -2 -1 1]; 
b = [28;7;22;-4]; 
A1 = A \ b; 
ans = sum(A1,2); 

이 읽어 보시기 바랍니다 분석기는 다음을 지적 할 것이다 :

선형 이퀄 리지 유익한 경우, 행렬의 역은 주로 이론 값입니다. 의 속도가 느리며 정확하지 않기 때문에 행렬의 역함수를 사용하여 선형 시스템 Ax = b를 x = inv (A) * b로 풀지 마십시오.

INV (A) *

것은

그/A \ B를

B와 B 형 *의 반전 (A)에 장착와 b를 반전 (A) * 바꾸기 b는 A보다 느릴 수 있습니다 \ b

+1

'. *'에 대한 언급은 [요소 단위 연산] (https://mathworks.com/help/matlab/ref/times.html)이 유용 할 수 있음에 유의하라. – m7913d