忽然发现R 连方程我还不会。这怎么可以,赶紧学学。
比如这里我们要求解一个三元一次方程,那最简单的就是消元的思想了,也就是让三元变二元再变一元:
在R 中的话,我们可以借助矩阵,利用solve 函数计算。
这个函数可以接受两个参数:solve(A,b)
:
比如已知方程组:
2.6x + 0.3y + 25.9z = 116
20.6x + 13.5y = 202
8x + 3.3y + 40.3z = 221
那我们就先制作一下solve 函数的输入:
> A <- matrix(c(2.6, 0.3, 25.9, 20.6, 13.5, 0, 8, 3.3, 40.3), ncol = 3, byrow = T)
> A
[,1] [,2] [,3]
[1,] 2.6 0.3 25.9
[2,] 20.6 13.5 0.0
[3,] 8.0 3.3 40.3
> b <- c(116, 202, 221)
直接调用函数即可:
> solve(A,b)
[1] 5.117247 7.154422 3.882194
也就对应我们上面的x,y,z 了。
ps:当我读到最后的时候,就发现这个教程并没有意向的那么朴素了。
尤其是:
★在R里面解方程真的是非常方便啊,我不禁在想,如果我大学本科就知道了R这个神器,高等数学,线性代数,概率论应该就理解的更牢固吧?不过好像意义也不大,因为离开校园后它们的用处几乎没有,而学习它们的时候无法也就是考试分数更高,可是已经都是满分了,除非去逼迫授课老师把考题出难一点。 ”
手动狗头一下。
对了,你还有其他方法解方程吗?
[1]
在R里面对三元一次方程求解 - 云+社区 - 腾讯云 (tencent.com): https://cloud.tencent.com/developer/article/1654486
[2]
使用R solve(a,b)解方程 - 1-阿里云开发者社区 (aliyun.com): https://developer.aliyun.com/article/11164