MATLAB Answers

Info

This question is closed. Reopen it to edit or answer.

Surface fit x y vector data with length(x)*length(y) size Z matrix

1 view (last 30 days)
Alessandro Maria Laspina
Alessandro Maria Laspina on 20 Mar 2021
Closed: John D'Errico on 20 Mar 2021
Hello,
I am reposting a question to clear some things up from my previous post. Let me introduce the problem again:
I have an x vector and y vector of data, for which I have the results for each row index combination of x and y stored in matrix Z. x and y are the same size and Z is a matrix where the row and column length is the same as the row size of x and y.
I would like to obtain a fit of the following form: (a+b*x+c*x^2)+(d+e*x+f*x^2)*sin(y)+(g+h*x+ii*x^2)*cos(y), where a,b,c,d,e,f,g,h,ii (yes not i;so that imaginary is not overwritten) are the constants. For this, I have the following code:
myfittype = fittype('(a+b*x+c*x^2)+(d+e*x+f*x^2)*sin(y)+(g+h*x+ii*x^2)*cos(y)',...
'dependent',{'Z'},'independent',{'x','y'},...
'coefficients',{'a','b','c','d','e','f','g','h','ii'});
fitCL=fit([x y],Z,myfittype);
This however results in the following error:
Operator '<' is not supported for operands of type 'fittype'.
Error in fit (line 7)
if dim_x < m
  4 Comments
darova
darova on 20 Mar 2021
Why do you need such complicated formula? Can you attach/show the data?

Answers (0)

Community Treasure Hunt

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

Start Hunting!