Определите, линейны ли cfit, sfit или объект fittype
flag = islinear(fun)
flag = islinear(fun) возвращает flag 1, если cfit, sfit или объект fittype, fun представляет линейную модель и flag 0, если это не делает.
islinear принимает, что все пользовательские модели, заданные функцией fittype использование синтаксиса ftype = fittype('expr'), являются нелинейными моделями. Чтобы создать линейную модель с fittype, который будет распознан линейным islinear (и, значительно, алгоритмами fit), используют синтаксис ftype = fittype({'expr1','expr2',...,'exprn'}).
f = fittype('a*x+b')
f =
General model:
f(a,b,x) = a*x+b
g = fittype({'x','1'})
g =
Linear model:
g(a,b,x) = a*x + b
h = fittype('poly1')
h =
Linear model Poly1:
h(p1,p2,x) = p1*x + p2
islinear(f)
ans =
0
islinear(g)
ans =
1
islinear(h)
ans =
1