代码之家  ›  专栏  ›  技术社区  ›  user3261475

为什么函数lsqcurvefit在Matlab 2015b中似乎不起作用?

  •  0
  • user3261475  · 技术社区  · 7 年前

    Diagnostic Information:
    Feature: Optimization_Toolbox
    License path:
    /home/username/.matlab/R2015b_licenses:/.netmount/app/MATLAB/R2015b/licenses/license.dat:/.netmount/app/MATLAB/R2015b/licenses/license.lic:/.netmount/app/MATLAB/R2015b/licenses/network.lic
    
    Licensing error: -18,147.
    
    Error in test (line 7)
    x = lsqcurvefit(fun,x0,xdata,ydata)
    

    对于下面的脚本。注意,当我用lsqcurvefit注释掉最后一行时,没有出现错误消息。有趣的是,该脚本在另一台使用Matlab 2017a的机器上运行良好。

    xdata = [0.9 1.5 13.8 19.8 24.1 28.2 35.2 60.3 74.6 81.3];
    ydata = [455.2 428.6 124.1 67.3 43.2 28.1 13.1 -0.4 -1.3 -1.5];
    
    fun = @(x,xdata)x(1)*exp(x(2)*xdata);
    
    x0 = [100,-1];
    x = lsqcurvefit(fun,x0,xdata,ydata)
    

    有什么想法吗?谢谢

    1 回复  |  直到 7 年前
        1
  •  2
  •   Sam Roberts David Peden    7 年前

    命令 lsqcurvefit 不是MATLAB的一部分,它是附加产品优化工具箱的一部分。看起来您的17b安装有该产品,但您的15b安装没有,因此您会收到一个错误,告诉您您没有该产品的许可证。