2017-04-15 109 views
0

所以我設法解決這個線性方程組在R:線性方程組的R解決系統 - 驗證

x–y+z=1, x+y–z=1 and x+y+z=3

我下面的代碼是:

A <- matrix(data=c(1, -1, 1, 1, 1, -1, 1, 1, 1), nrow=3, ncol=3, byrow=TRUE) 

b <- matrix(data=c(1, 1, 3), nrow=3, ncol=1, byrow=FALSE) 

round(solve(A, b), 3) 

不過,我需要證明我通過將x,y和z的值代入,解是正確的。顯然這很容易通過使用矩陣操作的一行代碼完成。誰能幫我嗎?提前致謝。

+0

你可以只乘係數'A'倍的解決方案'解決的基質( ,b)',應該給你'b':'all(A%*%solve(A,b)== b)' – alistaire

回答

2

您給出了一個實際上是破折號的負號的方程,但在糾正了這個錯誤之後,我們可以轉換這些方程並評估解。在這種情況下,結果是確切的,但在其他大多數情況下,您可能需要使用all.equal來投射測試。

eval(substitute(x-y+z==1 && x+y-z==1 && x+y+z==3, list(x=1,y=1,z=1))) 
[1] TRUE 

承認在此之前,「 - 」不一樣「 - 」我是越來越:

Error: unexpected input in "eval(substitute(x‚"