matlab 3D-plot/scatter3/plot3 三维作图 求助:在线等!
已经将散点数据作出来了,下一步想将散点按照图中绿色曲线这样连接,或者将散点拟合成三维曲面,不知如何实现,请大侠赐教...
已经将散点数据作出来了,下一步想将散点按照图中绿色曲线这样连接,或者将散点拟合成三维曲面,不知如何实现,请大侠赐教
展开
1个回答
展开全部
你可以这样来处理:
1、已知数据
x=[。。。],y=[。。。],z=[。。。]
x=[x ',y'] %转换成x向量组
2、自定义三维曲面函数,一般你可以用多项式函数来表示,如z=x^2+2xy+3y^3
func=@(a,x)x(1)^2+2*x(1)*x(2)+3*x(2)+^3 %假定三维曲面函数,需要不断修正
3、用nlinfit()或lsqcurvefit ()等非线性最小二乘回归函数来拟合系数,a(i)
4、用corrcoef()函数来判别拟合效果
z1=func(a,x)
R2=corrcoef(z1,z); 当R2≈1,则拟合是比较合理的。
5、拟合系数拟合成功后,就可以准备绘三维曲面图
[X,Y]=meshgrid(x,y) %x,y网格化
Z=X.^2+2*X.Y+3*Y.^3
mesh(X,Y,Z); %绘制曲面图
这样就可以结束你的问题。如还有疑问,可以进一步私聊。或通过其他方式交流。
1、已知数据
x=[。。。],y=[。。。],z=[。。。]
x=[x ',y'] %转换成x向量组
2、自定义三维曲面函数,一般你可以用多项式函数来表示,如z=x^2+2xy+3y^3
func=@(a,x)x(1)^2+2*x(1)*x(2)+3*x(2)+^3 %假定三维曲面函数,需要不断修正
3、用nlinfit()或lsqcurvefit ()等非线性最小二乘回归函数来拟合系数,a(i)
4、用corrcoef()函数来判别拟合效果
z1=func(a,x)
R2=corrcoef(z1,z); 当R2≈1,则拟合是比较合理的。
5、拟合系数拟合成功后,就可以准备绘三维曲面图
[X,Y]=meshgrid(x,y) %x,y网格化
Z=X.^2+2*X.Y+3*Y.^3
mesh(X,Y,Z); %绘制曲面图
这样就可以结束你的问题。如还有疑问,可以进一步私聊。或通过其他方式交流。
追答
己加你了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询