Evaluate cfit, sfit, or fittype object
y = feval(cfun,x)
z = feval(sfun,[x,y])
z = feval(sfun,x,y)
y = feval(ffun,coeff1,coeff2,...,x)
z = feval(ffun,coeff1,coeff2,...,x,y)
You can use feval to evaluate fits, but the following simpler syntax is recommended to evaluate these objects, instead of calling feval directly. You can treat fit objects as functions and call feval indirectly using the following syntax:
y = cfun(x) % cfit objects; z = sfun(x,y) % sfit objects z = sfun([x, y]) % sfit objects y = ffun(coef1,coef2,...,x) % curve fittype objects; z = ffun(coef1,coef2,...,x,y) % surface fittype objects;
Alternatively, you can use the feval method to evaluate the estimated function, either at your original data points, or at new locations. The latter is often referred to as interpolation or prediction, depending on the type of model. You can also use feval to extrapolate the estimated function's value at new locations that are not within the range of the original data.
z = feval(sfun,x,y) evaluates the sfit object sfun at the predictor values in the matrices x and y that must be the same size. It returns the response values in the matrix z that will be the same size as x and y.
y = feval(ffun,coeff1,coeff2,...,x) assigns the coefficients coeff1, coeff2, etc. to the fittype object ffun, evaluates it at the predictor values in the column vector x, and returns the response values in the column vector y. ffun cannot be a cfit object in this syntax. To evaluate cfit objects, use the first syntax.
z = feval(ffun,coeff1,coeff2,...,x,y) achieves a similar result for a fittype object for a surface.
f = fittype('a*x^2+b*exp(n*x)'); c = cfit(f,1,10.3,-1e2); X = rand(2) X = 0.0579 0.8132 0.3529 0.0099 y1 = feval(f,1,10.3,-1e2,X) y1 = 0.0349 0.6612 0.1245 3.8422 y1 = f(1,10.3,-1e2,X) y1 = 0.0349 0.6612 0.1245 3.8422 y2 = feval(c,X) y2 = 0.0349 0.1245 0.6612 3.8422 y2 = c(X) y2 = 0.0349 0.1245 0.6612 3.8422