想用matlab画张三维图:
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/12 12:55:26
想用matlab画张三维图:
x和y的取值范围是0到1,z=(60-100*y+25*x^(1/2))*(100*y-55/2+15/2*x)-120*x/(1-x)
x和y的取值范围是0到1,z=(60-100*y+25*x^(1/2))*(100*y-55/2+15/2*x)-120*x/(1-x)
x=0:0.1:1;
y=0:0.1:1;
[x,y]=meshgrid(x,y);
z=(60-100.*y+25.*x.^(1/2)).*(100.*y-55/2+15/2.*x)-120.*x./(1-x);
surf(x,y,z)
解释一下:首先给出x,y的取值范围,从0到1,以0.1的步长来取向量,[x,y]=meshgrid(x,y);用来构造xy坐标系,第三给出z的表达式,最后画三维的曲面图.以后你遇到类似的三维图形都可以用这四个步骤来完成.但是如果是参数方程的话,那么就只需要取一个自变量,再直接给出三个应变量和自变量的表达式之后,直接用到surf函数就可以了.希望一通百通好好学习
再问: 真的很感谢你,由于是初学者,可以再问一下我想在想在x,y,z轴加标注,该怎么弄?
再答: 可以直接在程序后面加:xlabel('x轴');ylabel('y轴');zlabel('z轴');注意两点:第一label不要写成了lable,第二,单撇号里面的内容就是你要在x,y,z轴旁边要显示的内容。第三,建议看看matlab绘图辅助操作。里面很多这种内容,你会学到更好的。
y=0:0.1:1;
[x,y]=meshgrid(x,y);
z=(60-100.*y+25.*x.^(1/2)).*(100.*y-55/2+15/2.*x)-120.*x./(1-x);
surf(x,y,z)
解释一下:首先给出x,y的取值范围,从0到1,以0.1的步长来取向量,[x,y]=meshgrid(x,y);用来构造xy坐标系,第三给出z的表达式,最后画三维的曲面图.以后你遇到类似的三维图形都可以用这四个步骤来完成.但是如果是参数方程的话,那么就只需要取一个自变量,再直接给出三个应变量和自变量的表达式之后,直接用到surf函数就可以了.希望一通百通好好学习
再问: 真的很感谢你,由于是初学者,可以再问一下我想在想在x,y,z轴加标注,该怎么弄?
再答: 可以直接在程序后面加:xlabel('x轴');ylabel('y轴');zlabel('z轴');注意两点:第一label不要写成了lable,第二,单撇号里面的内容就是你要在x,y,z轴旁边要显示的内容。第三,建议看看matlab绘图辅助操作。里面很多这种内容,你会学到更好的。