作业帮 > 综合 > 作业

关于Matlab作已经知函数绕固定轴旋转而成的三维函数问题

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/04/28 13:30:15
关于Matlab作已经知函数绕固定轴旋转而成的三维函数问题
二维函数的描绘程序已知:
p=-2*pi:0.01:2*pi;
r=sqrt(cos(2*p));
x=r.*cos(p);
y=r.*sin(p);
plot(x,y)
我需要让它绕x轴旋转任意角度而成三维图像,程序应该怎么编写?请写出具体命令以及命令的注解.
我想把它转变为一个三维的连续图形.类似这样的得到的三维图形:
r=-10:10;
t=linspace(0,pi*2,18);
[r,t]=meshgrid(r,t);
x=r.*sin(t);
y=r.*cos(t);
z=r;
surf(x,y,z);
axis equal
还有一个我不明白的问题是,按照以上格式,我编写如下格式程序:
t=linspace(0,pi*2,18);
r=sqrt(cos(2*t));
[r,t]=meshgrid(r,t);
x=r.*cos(t);
y=r.*sin(t);
z=r;
mesh(x,y,z);
axis equal
系统信息反馈的错误问题如下:
Error using ==> mesh at 69
X,Y,Z,and C cannot be complex.
关于Matlab作已经知函数绕固定轴旋转而成的三维函数问题
首先,你用的plot画出来的是一个二维的图形,即使通过旋转,在视觉上
你也只能看到一个投影的平面图,为了解决这个问题
我们得把你需要的曲线用plot3画成空间曲线,这样就能看到旋转效果
命令如下:
>> p=-2*pi:0.01:2*pi;
>> z=zeros(size(p));%生成与p同样大小的零矩阵z,让该平面处在z=0的平面上
>> r=sqrt(cos(2*p));x=r.*cos(p);y=r.*sin(p);
>> f=plot3(x,y,z);%画出空间曲线
>> rotate(f,[1 0 0],45,[0 0 0])%使用旋转命令使其旋转45度,其中[1 0 0]代表旋转轴,此处是x轴
%,[0 0 0]代表旋转点,f是图形句柄
>> hold on
>> f=plot3(x,y,z);%画出原图形进行比较
这个回答满意吗?
再问: 是我没有表达清楚。我已将问题补充,可以的话,看一下吧。
再答: 我觉得你对参数方程有问题,能不能给我原方程