producing an equation to fit on a plotted data
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(3 个)
bym
2011-7-8
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)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Get Started with Curve Fitting Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!