how to fit a surface to 3d data points

4 Ansichten (letzte 30 Tage)
Alessandraro
Alessandraro am 17 Apr. 2019
Kommentiert: Star Strider am 12 Jun. 2019
Hi, I have a set of 3D data points (x,y,z) that I want to fit using the equation
A*x^2+B*y^2+C*x*y = [ z (1-z) ]^2
A, B, C being the parameters I have to estimate.
can anyone help me?

Akzeptierte Antwort

Star Strider
Star Strider am 17 Apr. 2019
If your data points are each vectors, try this:
x = rand(1, 10); % Create Data
y = rand(1, 10); % Create Data
z = rand(1, 10); % Create Data
DM = [x(:).^2, y(:).^2, x(:).*y(:)]; % Design Matrix
P = DM \ (z(:).*(1-z(:))).^2; % Estimate Parameters
A = P(1);
B = P(2);
C = P(3)
Experiment to get the result you want.
  6 Kommentare
Alessandraro
Alessandraro am 12 Jun. 2019
Bearbeitet: Alessandraro am 12 Jun. 2019
Thank you. I am sorry, can I ask you why you calculate SStot
SStot = sum(([(z(:)-D(:))./(1-D(:)) (1-z(:))].^2 - mean(z(:))).^2);
calculating mean(z(:)) instead of mean([(z(:)-D(:))./(1-D(:)) (1-z(:))].^2)?
Thank you.
Star Strider
Star Strider am 12 Jun. 2019
Because that is how ‘SStot’ is calculated, at least as I interpret it in the context of yoiur model. See the Wikipedia article on: Coefficient of determination (link).

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Produkte


Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by