matlab中,给定一个矩阵,矩阵的行号和列号分别为x,y值,对应行号列号的值为z值,怎么得出线性回归平面?
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏10(财富值+成长值)
1个回答
展开全部
[x y]=meshgrid(1:size(z,1),1:size(z,2));%根据序号生成x,y矩阵
zz=z(:);xx=x(:);yy=y(:); %将矩阵转为向量
X = [ones(size(xx)) xx yy];
b = regress(zz,X);
%有regress拟合一个系数矩阵b,在回归意义下让zz = X*b
%实际上拟合平面方程是 z= b(1)+b(2)*x+b(3);
scatter3(xx,yy,zz); %画原来的数据点
hold on;
zfit = b(1) + b(2)*x + b(3)*y; %根据拟合参数,得到平面数据网格
mesh(x,y,zfit); %画数平面
xlabel('X');ylabel('Y');zlabel('Z');
hidden off;
hold off
zz=z(:);xx=x(:);yy=y(:); %将矩阵转为向量
X = [ones(size(xx)) xx yy];
b = regress(zz,X);
%有regress拟合一个系数矩阵b,在回归意义下让zz = X*b
%实际上拟合平面方程是 z= b(1)+b(2)*x+b(3);
scatter3(xx,yy,zz); %画原来的数据点
hold on;
zfit = b(1) + b(2)*x + b(3)*y; %根据拟合参数,得到平面数据网格
mesh(x,y,zfit); %画数平面
xlabel('X');ylabel('Y');zlabel('Z');
hidden off;
hold off
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询