为啥函数 lsqcurvefit 在 Matlab 2015b 中似乎不起作用?
Posted
技术标签:
【中文标题】为啥函数 lsqcurvefit 在 Matlab 2015b 中似乎不起作用?【英文标题】:Why does the function lsqcurvefit not seem to work in Matlab 2015b?为什么函数 lsqcurvefit 在 Matlab 2015b 中似乎不起作用? 【发布时间】:2017-08-20 15:18:03 【问题描述】:我使用的是 Matlab 2015b,函数 lsqcurvefit 似乎不起作用。其实得到如下错误信息
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)
请问有什么想法吗?谢谢
【问题讨论】:
您没有许可证,或者许可证有问题。如果您键入 -ver`,MATLAB 会告诉您您拥有许可证吗? @AnderBiguri 谢谢。这是一个学术许可证 @AnderBiguri 确实如此。我检查了 license('test','Optimization_Toolbox') 并返回 0 所以你没有许可证。因此你不能使用它。 【参考方案1】:lsqcurvefit
命令不是 MATLAB 的一部分,它是附加产品优化工具箱的一部分。看起来您的 17b 安装有该产品,但您的 15b 安装没有,因此您收到一条错误消息,提示您没有该产品的许可证。
【讨论】:
以上是关于为啥函数 lsqcurvefit 在 Matlab 2015b 中似乎不起作用?的主要内容,如果未能解决你的问题,请参考以下文章