楼主: Hephaestus
69004 16

在R里除了用solve,还有没有直接求逆矩阵的方法? [推广有奖]

11
shougao 发表于 2015-11-3 15:58:05 |只看作者 |坛友微信交流群
就是下面这个矩阵,用MATLAB可以求出来,但是用R中的solve却求不出来
1199445609        2066701271        19339.33        171668.2        -16655010        -3185665        4497112
2066701271        4179124483        -2766.071        103911.4        -20459104        -6310894        7532099
19339.33        -2766.071        814.2857        624.6429        11953.67        8876.167        202.7857
171668.2        103911.4        624.6429        607.2381        -115.5        6716.833        957.6429
-16655010        -20459104        11953.67        -115.5        2068760        -110360.2        -111913.3
-3185665        -6310894        8876.167        6716.833        -110360.2        219250.3        -12447.33
4497112        7532099        202.7857        957.6429        -111913.3        -12447.33        20775.29

使用道具

12
Alexkelly 发表于 2015-11-13 06:56:51 |只看作者 |坛友微信交流群
shougao 发表于 2015-11-3 15:58
就是下面这个矩阵,用MATLAB可以求出来,但是用R中的solve却求不出来
1199445609        2066701271        19339.33        171 ...
test.png

楼上说的是矩阵,我测试了一下是可以用solve解决的,你要不再试下?

使用道具

13
a聆听 发表于 2015-12-23 20:51:31 |只看作者 |坛友微信交流群
你现在知道原因了吗?我也有同样的问题

使用道具

14
山姆苏苏 发表于 2016-4-21 23:32:03 |只看作者 |坛友微信交流群
可能是因为行列式趋于0了吧

使用道具

15
vapor__9 发表于 2016-4-22 03:12:53 来自手机 |只看作者 |坛友微信交流群
是因为有的sample不好, 导致你求逆的时候几乎singular, 所以会报错, 解决的办法是用广义逆,  install \"MASS\" 这个package, 然后用ginv 代替 solve用就可以啦。

使用道具

16
12319950917 发表于 2016-6-26 19:14:36 |只看作者 |坛友微信交流群
请问 ”显示没有ginv这个函数”是怎么回事

使用道具

shougao 发表于 2015-11-3 09:28
为什么一个矩阵用MATLAB可以算出逆矩阵,但是用R却说是奇异的,求高手解救!!!
因为R语言自带的函数求逆是直接求逆,如果特征值太小,就求不出;此时matlab中会用SVD的方法求伪逆。朋友可以去查一下SVD。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-18 21:15