【问题标题】:Fit harmonic model in MATLAB在 MATLAB 中拟合谐波模型
【发布时间】:2016-01-16 04:19:38
【问题描述】:

我对 MATLAB 和它的语法比较陌生。

在 R 中,我们可以生成一个数据集来建模:

> x <- seq(1:100)
> x <- jitter(x,amount=.3)
> y <- seq(1:100)
> y <- sin(y)
> y <- jitter(y)

我们现在有一些从 1 到 100 的抖动 x 值,以及遵循近似正弦曲线的 y 值。

现在我们可以使用nls 来拟合模型:

model <- nls(y ~ a + b*x + c*sin(d*x+e), start = c(a=0, b = 1, c = 1,d=1,e=0))

毫不奇怪,我们得到的系数大约为 0、0、1、1 和 0。

现在我正在尝试在 MATLAB 中做同样的事情。

我创建了一个文本文件,并使用cat() 将数据从 R 加载到 MATLAB 中以写入文本文件。我现在在 MATLAB 中有 xy,它们都是 100x1 double 对象。

如何以最简单的方式拟合完全相同的模型?我不想使用曲线拟合工具,我知道它直观且简单,但我希望能够编写此脚本。

基本上,在曲线拟合工具中,您可以输入 asin(bx+c) 并使其拟合模型。如何在代码中做到这一点?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    您要查找的函数是统计工具箱中的 nlinfit。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-08
      • 2012-11-01
      • 1970-01-01
      • 2019-07-17
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      • 2013-10-07
      相关资源
      最近更新 更多