如何在R语言中拟合双指数或双指数

时间:2015-04-27 02:44:12

标签: r curve-fitting exponential

我有一些数据适合。功能如下: y = a*exp(b*x) + c*exp(d*x), 其中" a"," b" " C"和" d"是系数

我想使用gnm包来适应双指数函数。但结果似乎并不好。 还有其他任何包吗?

Java或其他语言能做到吗?

library(gnm); data = read.table("F:\\AP\\R\\data.txt", header = T); x <- data$X1; y <- data$Y1; set.seed(1); saved.fits <- list(); for(i in 1:60){ saved.fits[[i]] <- suppressWarnings(gnm(y ~ Exp(1+x, inst = 1)+ Exp(1+x, inst =2),verbose = FALSE)) } table(round(unlist(sapply(saved.fits, deviance)), 4))

X1:
1 2 3 4 五 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 三十 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114个
Y1:
9514.833 9463.002 9386.4277 9320.292 9252.0957 9187.4775 9122.5947 9068.1279 9013.3232 8930.418 8875.416 8789.1973 8727.9355 8649.0547 8600.0693 8529.3359 8490.0801 8421.7842 8371.4688 8303.041 8256.1719 8193.1416 8159.1553 8091.3022 8028.9263 7966.6748 7893.2056 7819.4702 7710.0962 7613.6069 5609.2266 5573.5923 5537.665 5501.6279 5477.5825 5450.0518 5435.9521 5402.5327 5379.1743 5348.1226 5320.5049 5282.2158 5263.5146 5236.125 5216.4038 5188.0493 5170.293 5142.6416 5114.8125 5087.1606 5059.5898 5032.0352 5001.5537 4979.8364 4951.5854 4932.1138 4903.7363 4888.1841 4869.7168 4854.7617

我也有一个问题,我可以在Web服务器中使用Matlab而不是R.因为我必须通过滤波,平滑,拟合等方法处理一些电信号。但是,当并发任务增加时,我担心Matlab liabray会崩溃。

0 个答案:

没有答案