【问题标题】:How to fit the exponential function using Matlab curve fitting tool?如何使用 Matlab 曲线拟合工具拟合指数函数?
【发布时间】:2015-03-01 23:33:08
【问题描述】:

我在 Matlab 中有一个包含 2 列 c1 和 c2 的表。我想使用曲线拟合工具将指数方程拟合到我的数据中。

现在我的代码中有这个: cftool(c1,c2);

此代码将打开 cftool 并拟合 多项式 曲线!但是我希望它是 指数 曲线!我该怎么做?

【问题讨论】:

    标签: matlab matlab-figure


    【解决方案1】:

    这就是你想要的吗?

    f = fit(x,y,'exp1');
    

    您还可以自定义:

    myfit = fittype('a*u+b*exp(n*u)',...
                'problem','n',...
                'independent','u');
    

    使用f=fit(x,y,'myfit'); You can read about it here 和 here

    【讨论】:

      【解决方案2】:

      关键是让数据适合您的工作空间,然后首先选择X 数据 和Y 数据。然后下拉菜单将显示“指数”作为选项。来自this documentation page:

      1. 通过输入cftool 打开曲线拟合应用程序。或者,单击应用程序选项卡上的曲线拟合。
      2. 在曲线拟合应用中,选择曲线数据(X 数据 和 Y 数据,或仅针对索引的 Y 数据)。
        曲线拟合应用程序创建默认曲线拟合,Polynomial。
      3. 将模型类型从 Polynomial 更改为 Exponential。

      要查看cftool 用于拟合数据的代码,请在配置完所有选项并对结果感到满意后选择文件 > 生成代码。然后,您可以为您的应用程序使用和修改此代码,而不是调用cftool。在简单指数拟合的情况下,看起来fit 函数与通过fittype 和fitoptions 指定的选项一起使用。

      【讨论】:

      • 但关键是我想从代码中做到这一点。不是手动的!
      • 那么你一开始就不应该使用cftool!它适用于交互式拟合。但是你可以使用cftool 来生成代码:File > Generate Code... 你可以看到生成的代码是怎么做的(通过fit)或者你也可以试试nlinfit。
      猜你喜欢
      • 2015-03-22
      • 2015-06-20
      • 2015-06-27
      • 1970-01-01
      • 1970-01-01
      • 2013-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多