I am using function "fit" to fit a surface to my data. I have a 3 dimentional data , z(x,y). I use the function as below: surfacefit=fit([x y],z,'polyll') I am sure both my x and y are column matrix and have the same dimension. But i get this error : Error using fit>iFit (line 133) Y must be a column vector.
Error in fit (line 109) [fitobj, goodness, output, convmsg] = iFit( xdatain, ydatain, fittypeobj, ...
No products are associated with this question.
I had the same problem. "Y" in this case is the second variable called in fit("X","Y","fittype") where for a 3D fit "X" is usually "[x,y]" and "Y" is "z" or in other words fit("[x,y]","z","fittype"). So if for z is a 64 by 64 array and x = 1:64; y = 1:64; then you need to make both x and y 64 by 64 arrays with repeated column and row values respectively, and then use reshape to make x,y,z all 4096 by 1 column vectors. You bassically need to unravel your 3D array.
Play games and win prizes!Learn more