producing an equation to fit on a plotted data
2 views (last 30 days)
Show older comments
hi all, according to this code and data is there anyway to get an polynomial with low degree( for example 2nd order)or a surface equation to fit our data??please help me what should i do to fit an equation on my data.
code:
data =[0,1,1;0,2,1.02;0,3,1.11;0,4,1.21;0,5,1.30;0,6,1.4;0,7,1.59;0,8,1.78; 10,1,1;10,2,1.11;10,3,1.35;10,4,1.62;10,5,1.95;10,6,2.33;10,7,3.34;10,8,4.77; 20,1,1.01;20,2,1.39;20,3,2.12;20,4,3.29;20,5,5.17;20,6,8.29;20,7,22;20,8,61; 30,1,1.13;30,2,2.5;30,3,6.36;30,4,17.5;30,5,50;30,6,150;30,7,1400;30,8,14800];
mn = arrayfun(@(i1)length(unique(data(:,i1))),2:-1:1); c = mat2cell(reshape(data,mn(1),mn(2),[]),mn(1),mn(2),[1 1 1]); surf(c{:})
0 Comments
Answers (3)
bym
on 8 Jul 2011
create a design matrix of your x & y values like this:
d = [ones(length(data),1),data(:,1),data(:,2),...
data(:,1).^2,data(:,1).*data(:,2),data(:,2).^2];
this represents [ constant, x, y, x^2, x*y, y^2]. Then, to find the coefficients do:
c = d\data(:,3)
3 Comments
See Also
Categories
Find more on Linear and Nonlinear Regression in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!