2D data fitting using fit and fittype

58 views (last 30 days)
Bruno Rosinus Serrano
Bruno Rosinus Serrano on 15 Feb 2021
Edited: Abhishek Gupta on 18 Feb 2021
Hello everyone,
I have a 60x60 2D data set which I want to fit using the fit and fittype function, according to fitobject = fit([x,y],z,fitType).
my arrays are:
x = [1:60]
y = [1:60]
and z is a 60x60 array.
(When I use theese arrays in the curve fitting App it works perfectly fine for fittype: 'poly33'.)
I use the fit function as follows:
Fit_Background = fit([x',y],z,'poly33');
For that I get the following error:
Error using horzcat
Dimensions of arrays being concatenated are not consistent.
What am I doing wrong?

Answers (1)

Abhishek Gupta
Abhishek Gupta on 18 Feb 2021
Edited: Abhishek Gupta on 18 Feb 2021
Hi,
As per my understanding, you are getting an error while fitting the data in x, y, and z. Note that the x, y, z are the column vectors of the same dimension in the 'fit' function. In your case, you can do the same as follows: -
x = [1:60]'; % column vector
y = [1:60]'; % column vector
X = repmat(x,60,1); % get x for all values of z
Y = repelem(y,60); % get y for all values of z
z = rand(60,60); % replace this z with your 60x60 array
Z = z(:); % make z a column vector
Fit_Background = fit([X,Y],Z,'poly33'); % fit
For more information, check out the documentation link below: -

Categories

Find more on Linear and Nonlinear Regression in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!