前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >105-R编程15-用R帮你解方程

105-R编程15-用R帮你解方程

作者头像
北野茶缸子
发布2022-04-05 15:17:27
8040
发布2022-04-05 15:17:27
举报
文章被收录于专栏:北野茶缸子的专栏
  • 参考:
    • 在R里面对三元一次方程求解 - 云+社区 - 腾讯云 (tencent.com)[1]
    • 使用R solve(a,b)解方程 - 1-阿里云开发者社区 (aliyun.com)[2]

前言

忽然发现R 连方程我还不会。这怎么可以,赶紧学学。

直接操作

比如这里我们要求解一个三元一次方程,那最简单的就是消元的思想了,也就是让三元变二元再变一元:

  • ①利用代入法或加减法,消去一个未知数,得出一个二元一次方程组;
  • ②解这个二元一次方程组,求得两个未知数的值;
  • ③将这两个未知数的值代入原方程中较简单的一个方程,求出第三个未知数的值,把这三个数写在一起的就是所求的三元一次方程组的解。

在R 中的话,我们可以借助矩阵,利用solve 函数计算。

这个函数可以接受两个参数:solve(A,b)

  • A 为方程组的系数矩阵;
  • b 则是方程组等式右端的常数向量;

比如已知方程组:

代码语言:javascript
复制
2.6x + 0.3y + 25.9z = 116
20.6x + 13.5y = 202
8x + 3.3y + 40.3z = 221

那我们就先制作一下solve 函数的输入:

代码语言:javascript
复制
> 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)

直接调用函数即可:

代码语言:javascript
复制
> 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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 北野茶缸子 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 直接操作
    • 参考资料
    相关产品与服务
    云开发 CloudBase
    云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档