Fitting to 4D data

17 vues (au cours des 30 derniers jours)
Mitch
Mitch le 13 Sep 2023
Commenté : Mitch le 14 Sep 2023
The fit() function allows fitting a surface to 3D data, where regularly spaced x,y data values specify a "grid" location and the z value specifies a surface "height". The fitted surface can be expressed as a polynomial of up to degree 5 in x and y.
Is there a means of fitting a model (polynomial or otherwise) to 4D data? In this case, the x,y,z data values specify a location (regularly spaced, within a unit cube for example), and w specifies a value at that location. Such data expresses a 3D "field" rather than a surface.
Thanks, mitch

Réponse acceptée

Matt J
Matt J le 13 Sep 2023
Yes, you can use lsqcurvefit.
  3 commentaires
Matt J
Matt J le 14 Sep 2023
Modifié(e) : Matt J le 14 Sep 2023
Do you know of any multi-dimensional fitting examples I can look at?
Here's an example I just made up. The unknown parameter vector to be recovered is w:
xyz=rand(100,3); %fake x,y,z data
w=[1,2,3]; %ground truth parameters
F=vecnorm(xyz.*w,2,2); %fake dependent data
F=F+randn(size(F))*0.05; %add noise
wfit=lsqcurvefit(@modelFcn,[1,1,1], xyz,F)
Local minimum found. Optimization completed because the size of the gradient is less than the value of the optimality tolerance.
wfit = 1×3
1.0162 1.9904 2.9886
function Fpred=modelFcn(w,xyz)
Fpred=vecnorm(xyz.*w,2,2);
end
Anyway, the point is that lsqcurvefit doesn't care about the dimensions of the data xyz and F. It only cares that your modelFcn returns a prediction Fpred of F as an array the same size as F.
Mitch
Mitch le 14 Sep 2023
Okay, terrific Matt - thanks for that example. I think that will get me started on the right path.
Thanks again, mitch

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with Curve Fitting Toolbox dans Help Center et File Exchange

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by