从自定义函数定义fittype对象

时间:2015-11-24 21:26:55

标签: matlab function

我正在尝试从函数中定义fittype对象(用单独的.m文件编写)

y = fun(x,c1,c2,c3,c4,c5,c6,P),

其中c1c2c3c4c5c6是变量拟合参数,P是一个常量结构:

ft = fittype(@(c1,c2,c3,c4,c5,c6,x) fun(x,c1,c2,c3,c4,c5,c6,P), 'independent', {'x'}, 'dependent', {'y'}); 

但是会出现以下错误:

Error using fittype>iTestCustomModelEvaluation (line 730)
Custom equations must produce an output vector, matrix, or array that is the same size and shape as the input data.
This custom equation fails to meet that requirement:

Error in fittype>iCreateFittype (line 367)
    iTestCustomModelEvaluation( obj );

Error in fittype (line 324)
                obj = iCreateFittype( obj, varargin{:} );

该功能可以很好地生成相同大小x& y数据,所以我不知道为什么定义fittype失败。

1 个答案:

答案 0 :(得分:0)

不需要将Struct P添加为与问题相关的参数。解决问题的方法是确保我的输入/输出向量在相同大小的列中。 Fit()仅适用于列。我现在知道了!谢谢你的建议。