作业帮 > 综合 > 作业

matlab 如何画复杂函数绕y轴一周的柱面图?函数方程为两个正态分布之和y=A*exp(-x^2/2)+B*exp(-

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/29 20:50:22
matlab 如何画复杂函数绕y轴一周的柱面图?函数方程为两个正态分布之和y=A*exp(-x^2/2)+B*exp(-x^2)
谢谢您的回答,但是您给的答案是绕x轴旋转一周的图,我希望能扰y轴旋转.之前问题的分数已经给你啦.
不好意思啊,以前那个画法有错,我疏忽了.Cylinder(r,n)这个命令是画一个半径为r,高度为1的圆柱体.n表示圆柱体的圆周有指定的n个距离相同的点.r也可以为函数表达式.
y=exp(-x^2/2)+exp(-x^2)的值域为(0,2],用Cylinder(r,n)命令也可以画,不过高度就只有1了.首先要将半径的表达式求出来,y=exp(-x^2/2)+exp(-x^2)绕y轴旋转的半径
r=sqrt(-2/3*log(y)),整个命令如下
 clear
 y=realmin:0.01:2;%y不能为0;
 [X,Y,Z]=cylinder(sqrt(-2/3*log(y)),30);
 mesh(X,Y,Z)
不过效果不好,主要是坐标范围太大了.
现在用另一种方法来画
y=exp(-x^2/2)+exp(-x^2)绕y轴旋转所得的曲面方程为
y=exp(-(x.^2+z.^2)/2)+exp(-x.^2-z.^2);这个方程很容易算出来的,高数也有.
那么编程如下
x=-5:0.01:5;
y=-5:0.01:5;
[X,Y]=meshgrid(x,y);
Z=exp(-(X.^2+Y.^2)/2)+exp(-X.^2-Y.^2);
mesh(X,Y,Z);
这里我将y和z轴变换了,主要是因为这个图像比较复杂,计算机要对图像进行处理如放大缩小就会很慢,而好像matlab又默认z轴向上,这样画出图后还要旋转之后才看得舒服,将y和z轴变换了,就不用旋转了.你也可以自己去试一下
另外我也是刚学这个软件的,有很多问题不懂,有错的请见谅