我正在尝试将模型拟合到具有3个变量和4个参数的数据,如下所示(在this Matlab示例之后):
ft = fittype(@(a,b,c,d,x,y,z) a*(x.^b).*(y.^c).*(z.^d),...
'independent',{'x','y','z'},'dependent',{'w'},'coefficients',...
{'a','b','c','d'})
需要针对a, b, c
的给定数据评估d
和x,y,z
。但是Matlab给了我一个错误,并且不允许我创建一个fittype
对象。错误如下:
Expression @(a,b,c,d,x,y,z) a*(x.^b).*(y.^c).*(z.^d) is not a valid MATLAB expression, has non-scalar coefficients, or cannot be evaluated:
Not enough inputs to FITTYPE function.
答案 0 :(得分:0)
如果您尝试使用此类型,它将是执行命令;
ft = fittype(@(a,b,c,x,y) a*(x.^b).*(y.^c),...
'independent',{'x','y'},'dependent',{'w'},'coefficients',...
{'a','b','c'})
在你的命令类型中,有太多的表达式,Matlab无法处理。 '独立' fittype fucntion的一部分只需要1对。