help with using surface fit function

3 views (last 30 days)
I cant figure out whats wrong - but i just cat get this function to work. I have a 2D array of values (256x256) - z
I define X1 as 1x256 vector
Y1 as 1x256 vector
trying to use this, according to an example from the Help Docs:
sf=fit ( [X1,Y1],z,'Exclude', z < 10)
i get abunch of errors which I cant even understand.
Error using fit>iParseOptionalArgs
Algorithm options must be specified in a FITOPTIONS object or as property-value pairs.
Error in fit (line 113)
[useroptions, useroptargs, probparams] = iParseOptionalArgs( varargin{:} );

Accepted Answer

Matt J
Matt J on 2 May 2022
Edited: Matt J on 2 May 2022
You haven't specified the fit type. Also, your X, Y, and z elements all need to be (256^2)x1 vectors.
[XX,YY]=ndgrid(X1,Y1)
sf=fit ( [XX(:),YY(:)],z(:),fitType, 'Exclude', z < 10)
  7 Comments
Matt J
Matt J on 2 May 2022
Edited: Matt J on 3 May 2022
The Exclude option must also be given input in vector form. From the doc:
Exclude Points to exclude from fit
expression | index vector | logical vector | empty
sf=fit ( [XX(:),YY(:)],z(:),fitType, 'Exclude', z(:) < 10)

Sign in to comment.

More Answers (0)

Categories

Find more on Get Started with Curve Fitting Toolbox in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!