preparecurvefit在不同的Matlab版本上?

时间:2014-02-21 20:27:03

标签: matlab

提前感谢您的帮助。我的自定义方程拟合有问题。第一个问题是 - Matlab 2010和2013之间存在根本区别吗?我在2013年在我的工作计算机上创建了这段代码,但是在我的个人计算机上没有从2010年升级...代码可以在我的工作计算机上运行,​​而不是我的个人计算机。是的,txt文件与matlab文件位于同一文件夹中。所以我不明白。

这是代码,如果你想看到它。它有错误:未定义的函数或方法'prepareCurveData'用于'double'类型的输入参数

function [fitresult, gof] = createFit(v, dL)
filename='results.txt';
A=importdata(filename);
v=A.data(:,2);
L=A.data(:,3);
s=A.data(1,6);
dL=L-L(1);

%% Fit: 'untitled fit 1'.
[xData, yData] = prepareCurveData( v, dL );

% Set up fittype and options.
ft = fittype( 'x*3E-6/(k+x)', 'independent', 'x', 'dependent', 'y' );
opts = fitoptions( ft );
opts.Display = 'Off';
opts.Lower = -Inf;
opts.StartPoint = [];
opts.TolFun = 1e-20;
opts.TolX = 1e-20;
opts.Upper = Inf;

% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft, opts );

1 个答案:

答案 0 :(得分:0)

您不能假设为MATLAB的最新版本编写的代码将适用于所有以前的版本。

或者:

1)此功能在2010年不存在(a / b?)

2)在运行旧版本的计算机上没有合适的工具箱或工具箱版本。

3)输入要求已经改变(在这种情况下不太可能)

4)该函数的路径被破坏(如果工具箱中的其他函数正在工作,则不太可能)

确定引入函数的MATLAB版本并不容易。 exist prepareCurveData将显示是否可以在MATLAB路径中找到该函数。 ver('curvefit')会告诉您是否有曲线拟合工具箱,以及它是什么版本。

在这种特殊情况下,由于prepareCurveData似乎只是一些输入检查,因此编写自己的文件并不困难。