【问题标题】:Log-Log Graph, Curve Fit on Matlab对数对数图,Matlab 上的曲线拟合
【发布时间】:2018-05-31 23:33:09
【问题描述】:

我正在尝试使用 Matlab 验证我的工程工作。我有一系列 x 和 y 数据,已绘制在对数对数图上。

结果是一条曲线。

我需要做的是对该图应用曲线拟合,并显示拟合方程是什么?

我在这里尝试了其他答案,并尝试使用 polyfit 和 polyval,但它们并没有真正做我需要的,但我缺乏的是立即的理解。

亲切的问候

【问题讨论】:

  • 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。

标签: matlab


【解决方案1】:

应用polyfitlogxlogy 而不是xy,然后,使用拟合结果应用polyvallog(x) 并在结果上使用exp()获取实际安装的y

logx = log(x);
logy = log(y);

fitp = polyfit(logx, logy, n);

newy = exp(polyval(fitp, log(newx)));

【讨论】:

    【解决方案2】:

    在日志空间中拟合可能是不可取的。您很可能希望显示最适合数据的方程,而不是数据的转换。因此,我会拟合线性数据,然后根据需要对其进行转换以进行可视化。如果这是可以接受的,polyfit 和 polyval 应该可以工作。

    如果您认为拟合日志空间很重要,我之前使用过 lsqcurvefit,但这需要优化工具箱和您想要拟合的函数的一些想法(即您的数据最好用 10 表示^x 还是 x^2?)。还有曲线拟合工具箱,如果您可以通过 GUI 交互识别但不容易用语言表达的问题,则可能值得研究。这提供了一个“适合”功能,也可能很有用。

    【讨论】:

      猜你喜欢
      • 2015-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-22
      • 1970-01-01
      相关资源
      最近更新 更多