- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试拟合指数衰减并且我的 x 轴有小数时,拟合永远不正确。下面是我的数据:
exp.decay = data.frame(time,counts)
time counts
1 0.4 4458
2 0.6 2446
3 0.8 1327
4 1.0 814
5 1.2 549
6 1.4 401
7 1.6 266
8 1.8 182
9 2.0 140
10 2.2 109
11 2.4 83
12 2.6 78
13 2.8 57
14 3.0 50
15 3.2 31
16 3.4 22
17 3.6 23
18 3.8 20
19 4.0 19
20 4.2 9
21 4.4 7
22 4.6 4
23 4.8 6
24 5.0 4
25 5.2 6
26 5.4 2
27 5.6 7
28 5.8 2
29 6.0 0
30 6.2 3
31 6.4 1
32 6.6 1
33 6.8 2
34 7.0 1
35 7.2 2
36 7.4 1
37 7.6 1
38 7.8 0
39 8.0 0
40 8.2 0
41 8.4 0
42 8.6 1
43 8.8 0
44 9.0 0
45 9.2 0
46 9.4 1
47 9.6 0
48 9.8 0
49 10.0 1
fit.one.exp <- nls(counts ~ A*exp(-k*time),data=exp.decay, start=c(A=max(counts),k=0.1))
plot(exp.decay, col='darkblue',xlab = 'Track Duration (seconds)',ylab = 'Number of Particles', main = 'Exponential Fit')
lines(predict(fit.one.exp), col = 'red', lty=2, lwd=2)
我总是觉得这很奇怪。在我看来,拟合无法识别正确的 x 轴,因为当我使用另一组数据时,x 轴(时间)中只有整数,拟合有效!我不明白为什么它与不同的单位不同。
最佳答案
你需要一个小的修改:
lines(predict(fit.one.exp), col = 'red', lty=2, lwd=2)
应该是
lines(exp.decay$time, predict(fit.one.exp), col = 'red', lty=2, lwd=2)
通过这种方式,您可以确保根据横坐标上的所需值进行绘图。
我是这样测试的:
data = read.csv('exp_fit_r.csv')
A0 <- max(data$count)
k0 <- 0.1
fit <- nls(data$count ~ A*exp(-k*data$time), start=list(A=A0, k=k0), data=data)
plot(data)
lines(data$time, predict(fit), col='red')
这给了我以下输出:
如您所见,拟合很好地描述了实际数据,这只是根据正确的横坐标值绘制的问题。
关于r - 使用 nls 函数错误拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45201465/
在 Eclipse 中运行我的程序时出现错误ORA-12705:无法访问 NLS 数据文件或指定的环境无效。 到目前为止我尝试过的事情: 我已经尝试在注册表的\HKEY_LOCAL_MACHINE\S
在 R 中工作,我正在尝试使用 nls() 将一些数据拟合到以下模型: y ~ c - a * exp(-b * x) 我的数据: x <- c(8, 8, 10, 10, 10, 10, 12, 1
我尝试搜索有关此主题的其他线程,但没有一个修复对我有用。我有一个自然实验的结果,我想显示符合指数分布的事件连续发生的次数。我的 R shell 粘贴在下面 f x [1] 1 2 3 4
对于这个数据集: dat = structure(list(x = c(5L, 5L, 5L, 5L, 10L, 10L, 10L, 10L, 15L, 15L, 15L, 15L, 17L, 17L
我正在使用 NLS.initializeMessages(BUNDLE_NAME, XYZ.class) 加载常量。 当“BUNDLE_NAME”和“XYZ.class”存在于同一个项目中时,它可以工
使用线性模型函数 lm() 多项式公式可以包含这样的快捷符号: m <- lm(y ~ poly(x,3)) 这是一个快捷方式,可以让用户不必创建 x^2 和 x^3 变量或将它们输入到公式中,例如
想象这两个列表如下: seq<-seq(1,16) L1<-list(A=seq, B=seq, C=seq, D=seq) v1=c(11,15,17,19,21,22,24,25,26,27,28
我想拟合一个线性平台 (nls) 模型,该模型将高度描述为年龄的函数,并且我想测试区域间模型的任何参数是否存在显着差异。 这是我目前所拥有的: # Create data df1 head (df1
我有一个输入日期(比如 sysdate),我想获取上一个星期一的日期。我试过 select trunc(sysdate, 'D') from dual; 但它依赖于 NLS。此外,我不想通过名称检查结
我正在尝试使用 R 中的 nls 拟合矩形双曲线。 curve.nlslrc = nls(photolrc ~ (1/(2*theta))*(AQY*PARlrc+Am-sqrt((AQY*PARlr
我正在使用 nls 拟合一些指数数据. 我正在使用的代码是: fit <- nls(y ~ expFit(times, A, tau, C), start = c(A=100, tau=-3, C=0
尝试拟合我的数据时遇到问题。 这是数据: x = c(1, 1.071519305, 1.148153621, 1.230268771, 1.318256739, 1.412537545, 1.513
我正在尝试制作 nls适合一个有点复杂的表达式,其中包括两个积分,其中两个拟合参数在其上限中。 我得到了错误 "Error in nlsModel(formula, mf, start, wts) :
有没有办法限制 NLS 系数在 R 中的取值范围?我知道我的数据应该存在的曲线形状;然而,NLS 无法通过产生 < 1 的功率系数来产生这样的曲线。 从本质上讲,我正在尝试为一组幼树茎(树苗)数据生成
我想将以下函数拟合到我的数据中: f(x) = Offset+Amplitudesin(FrequencyT+Phase), 或根据 Wikipedia : f(x) = C+alphasin(ome
我不明白为什么我不能为这些数据使用 nls 函数。 我尝试了很多不同的起始值,但总是出现相同的错误。 这是我一直在做的事情: expFct2 = function (x, a, b,c) { a*
我一直在研究一个曲线拟合脚本,该脚本将 3 个指数修改的高斯 (EMG) 拟合到卷积曲线。我的基函数类似于高斯分布,但包括第三个参数(前两个是 mu 和 sigma ),它确定函数的指数分量的权重。
我们的 java 类调用 PLSQL proc,它以由 NLS_DATE_FORMAT 定义的默认格式返回日期。我们的应用程序为国际化设置了自己的语言环境,但我希望日期格式保持为“DD-MON-RR”
谁能给我一个很好的解释,说明参数“算法”在 R 中的 nls 函数中的作用? 另外,公式是如何工作的?我知道它使用了 tilda,但我真的找不到对它的实际解释。 另外,起始值有多重要?我是否需要尝试多
我正在尝试使用 nls 将高斯峰拟合到 R 中的密度图.当我使用以下等式时: fit :2:0: unexpected end of input 1: ~ ^ 谁能指出我哪里出错了? 最佳答案 试
我是一名优秀的程序员,十分优秀!