主题: [MATLAB数学相关] matlab计算二元二次拟合问题
查看单个帖子
旧 2009-08-25, 12:09   #2
slgu
高级会员
 
注册日期: 2007-06-24
年龄: 70
帖子: 188
声望力: 21
slgu 正向着好的方向发展
默认 回复: matlab计算二元二次拟合问题

x1=[...];x2=[...];u=[...];%将原x1(第一列),x2(第二列),u(第三列)输入
x=[x1,x2,x1.^2,x1.*x2];
X=[ones(20,1),x];
y=u
b=X\y
fx=@(b,x1,x2)b(1)+b(2)*x1+b(3)*x2+b(4)*x1.^2+b(5)*x1.*x2; [x11,x22]=meshgrid(min(x1):range(x1)/60:max(x1),min(x2):range(x2)/60:max(x2));
y1=fx(b,x11,x22);
plot3(x1,x2,y,'o');
stem3(x1,x2,y,'filled')
str=num2str([1:20]');
text(x1,x2,y+range(y)/20,str,'fontsize',15)
hold on
surf(x11,x22,y1)
shading interp
alpha(.75)
axis tight

此帖于 2009-08-27 16:45 被 slgu 编辑。
slgu 当前离线   回复时引用此帖