全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
9306 8
2011-12-20
x=[1,2,3,4,5,6,7,8,10,11,12]

y1 =[7098.00,7498.00,7848.00,8254.00,8761.00,8801.12,8951.32,9325.03,968

.90,10200.00,11000.00,12360.74],
怎样用R语言编写R程序分别求出 y=a*b^x ; 和 y=a*x^b   中a和b的值?
谢谢

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-12-20 17:18:52
lm(y~x)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-20 20:31:06
lm<-lm(y=x)
summary(lm)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-20 22:51:57
因为你的模型不是线性模型,可以试试用nls来做非线性的拟合

x=c(1,2,3,4,5,6,7,8,9,10,11,12)
y1 =c(7098.00,7498.00,7848.00,8254.00,8761.00,8801.12,8951.32,9325.03,9680.90,10200.00,11000.00,12360.74)
fit1 <- nls(y1 ~ a * b^x, start = list(a=1, b = 2))
plot(y1 ~ x)
lines(seq(1, 12, by = 0.1), predict(fit1, data.frame(x=seq(1, 12, by = 0.1))))
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-20 23:40:39
y=a*x^b
取对数 得 log(y)=b*log(ax)
log(y)=b*log(a)+b*log(x)
转化为线性
所以, 用
复制代码
可得b*log(a)和b

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-20 23:53:15
x和y1的长度不一样啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群