r - 将数据的不同部分拟合到 R 中的不同模型
问题描述
我有一个私人项目,试图挖掘我父亲 1972 年的旧论文,并重现他推导出的计算解决方案。他的项目是研究氧化铝陶瓷过渡态的动力学。收集数据后,他推导出了过渡动力学曲线的以下模型(参见他论文中的附图)。
如果图片没有通过,数据会形成形状曲线。在拐点 t* 的左侧,数据符合方程
y = A * exp(K*t)
在拐点右侧,数据符合方程
y = 1 - B * exp(-J * t^n)
他使用 Fortran 68 编写了一个 fortran 程序,该程序为此进行动态建模和最小二乘拟合。我正在尝试“更新”他的代码,看看我是否可以在 R 中更有效地做到这一点。所以有两个问题:
- 绘制他的模型的最佳方法是什么?即如何以这种方式绘制两个方程。我觉得我可以用基础 R 蛮力做到这一点,但我不确定它是否会在两个方程之间顺利过渡。
- 在他的模型中,系数 A、K、B、J 和 n 以及拐点 t* 是未知的,并通过最小二乘法进行了优化。他通过蛮力在fortran中进行建模。R 中是否有 glm 或类似的解决方案可以优雅地解决这个问题?
以下是他生成的数据示例:
y <- c(20,30,40,50,55,60,65,70,80,90,100,110,120,150)
t <- c(0.05,0.11,0.185,0.31,0.375,0.445,0.52,0.63,0.8,0.92,0.97,0.98,0.99,0.999)
解决方案
推荐阅读
- git - 文件夹/和文件夹/*之间有区别吗
- php - Api 平台:何时使用 DTO,何时使用序列化组?
- javascript - 在 Vertica 中使用 sequelize.js 创建分段表
- reactjs - 通过 React useEffect Hook 更新状态时防止无限循环
- android - 根据片段中的流程关闭活动中的导航抽屉?
- python - 如何使用图中的旧值更新具有新值的张量?
- excel - 如果单元格文本是 vbred,则保留超链接
- angular - 从源“http://localhost:8080”访问“API_URL”处的 XMLHttpRequest 已被 CORS 策略阻止:
- java - Mockito 不嘲笑
- adaptive-cards - 将自适应卡片转换为消息卡片