python - 曲线拟合时如何限制 R 中的参数?
问题描述
我是 R 的新手,需要为我的高中 12 年级论文(是的,存在)的一些数据点拟合曲线。我有一组数据点,如下所示:
A(0.15, 0.6)
B(0.44, 1.06)
C(0.921, 1.22)
D(1.66, 1.5)
E(2.36, 1.58)
F(2.74, 1.52)
G(3.46, 1.68)
我想通过 y=a*log(b(xc))+d 形式的函数对它们进行建模。我该怎么做?我尝试了一些方法,但到目前为止我总是得到回应
Computation failed in 'stat_smooth()': Missing value or infinity produced when evaluating the model.
我怀疑这是因为 R 考虑了参数 a、b、c 和 d 的所有可能值,并且 b 和 c 可能因此导致一些问题,因为对数仅在正实数的域上定义(不包括 0) . 我有什么办法可以解决这个问题吗?我知道 b 必须是正数且非零,而且我知道 c 不能等于 x。但是,我不知道如何实现这一点。
如果您不知道如何帮助我在 R 中解决这个问题,那么如果您可以在 python 或 matlab 中编写替代方案,那就太酷了,因为我也对这两种语言有所了解。请记住,我必须使用高斯-牛顿算法。
任何支持将不胜感激!
解决方案
推荐阅读
- angular - 在 mat 选项卡中传递给 selectedIndex 的变量值不起作用。仅当直接数字传递给它时它才有效
- scala - 了解特定的 Scala 类扩展构造
- java - Mockito doAnswer when 被称为 when 以外的方法
- python - 当每个对象具有相同的键名时如何删除一个json项
- python-3.x - Python dateutil.parser 错误年份作为时间戳
- sql - 数据表不加载数据库的内容
- python - Python - 使用 for 循环更新记录
- linux - 从原始图像中提取数据
- segmentation-fault - 分段错误(核心转储) Openmpi.4.0.0
- django - Google 日历 OAuth 2.0 错误 403:access_denied