How to find an equation to fitting surface?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have a 100x100 matrix, which contains 10000 different values
Use of imagec instruction drawing as follows
I want to find an equation to fitting this surface
How to do?
Thanks~!!
2 comentarios
Matt J
el 23 de Oct. de 2012
The surface doesn't look like a plane to me. Are you sure that's how you want the fit to model it. If not, why does your title say that you're fitting a plane?
Respuestas (2)
Valter Zöldhegyi
el 7 de Mayo de 2019
Without toolbox: you can use the polyfitn function by John D'Errico: https://www.mathworks.com/matlabcentral/fileexchange/34765-polyfitn
Considering your example:
myIn = NaN(10000, 3);
myIn(:,1) = repmat((0:1:99, 1, 100); %x
myIn(:,2) = repelem(0:1:99, 100); %y
myIn(:,3) = myData(:); % z, myData is the 100x100 matrix you have
myModel = polyfitn([myIn(:,1),myIn(:,2)],myIn(:,3),4); % x and y is the depending variable, z is the independant variable, 4 is the degree of the polynom
In the myModel struct you will have the ModelTerms and the Coefficients fields. ModelTerms matrix defines the term used (eg. a row with [0 0] means a constant; row [1 1] is a x*y term). The coefficients for each term can be found in the Coefficients vector.
0 comentarios
Ver también
Categorías
Más información sobre Get Started with Curve Fitting Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!