如何用matlab画出一个椭球体?

请问如何用matlab画出一个椭球体。另外,请问有没有办法把matlab里矩阵中复数变为实数(虚部为0的保留实数,虚部不为0的变为实数0)?非常感谢“化学工程”大哥给出的... 请问如何用matlab画出一个椭球体。
另外,请问有没有办法把matlab里矩阵中复数变为实数(虚部为0的保留实数,虚部不为0的变为实数0)?
非常感谢“化学工程”大哥给出的答案,那两个命令果然能画出椭球体。不过,这里还需要补充一下,请各位大侠相助。
我做椭球的时候用的命令是
x=-3:0.1:3;
y=-2:0.1:2;
[X,Y]=meshgrid(x,y);
z0=sqrt(1-X.*X/9-Y.*Y/4);
surf(X,Y,z0);
软件提示:
??? Error using ==> surf
X, Y, Z, and C cannot be complex.
请问是为什么?这些命令在有些机器上又能运行得好好的,没一点问题,为什么到我机子上就不行了呢 ?
我装的是matlab 7.3.0.267(R2006b)这个版本,能运行的是matlab 7.0 版本。
是不是要做什么设置,使矩阵中的实数就是实数,没有虚部(这些命令运行后z0里的实数在我的电脑上相比都有一个等于0的虚部)呢?

化学工程大哥,为什么我用你给的方法还是得不到椭球体呢?
我是说后两种方法,3和4。
第三种画出来的是两个不完整的半椭球,下面一个还没显示完全,而第四个画出来的更是神奇,只有两个面了。
请解释下。感谢。
展开
 我来答
甘雅青2
2015-06-25 · TA获得超过1723个赞
知道小有建树答主
回答量:450
采纳率:100%
帮助的人:620万
展开全部
有好几种方法可以实现。
方法一:直接调用Matlab代码,如下
[x, y, z] = ellipsoid(0,0,0,5.9,3.25,3.25,30);
surfl(x, y, z)
colormap copper
axis equal
方法二:如果你用到SimMechanics->VR->Solidworks,通常可以通过把Solidworks的文件导入到SimMechanics里来
东莞大凡
2024-11-19 广告
板格标定棋盘是我们东莞市大凡光学科技有限公司在精密光学测量领域的重要工具。它采用高精度设计,确保每一个格板都达到严格的校准标准。通过使用板格标定棋盘,我们能够有效地对光学测量系统进行校准,从而提升测量的准确性和可靠性。这一工具在光学仪器的研... 点击进入详情页
本回答由东莞大凡提供
化学工程
2006-11-17 · TA获得超过8900个赞
知道大有可为答主
回答量:2212
采纳率:80%
帮助的人:3331万
展开全部
补充:
【3】你用这个吧,因为开方使z0成为复数了。
>> ezsurf('sqrt(1-X.*X/9-Y.*Y/4)')
【4】或改变x、y的取值范围:
>> x=-2:0.1:2;
y=-1:0.1:1;
[X,Y]=meshgrid(x,y);
z0=sqrt(1-X.*X/9-Y.*Y/4);
surf(X,Y,z0);

【1】
>>[X,Y,Z]=ELLIPSOID(0,0,0,1,2,3,40);
>> surf(X,Y,Z)

【2】
clear;clc
x=[3+2*i;5];
n=length(x);
xx=zeros(size(x));
for k=1:n
if imag(x(k))==0
xx(k)=real(x(k));
else
xx(k)=0;
end
end
xx

运行结果:
xx =

0
5
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
stormslowly
2006-11-17 · TA获得超过265个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:204万
展开全部
你的椭圆的方程有问题啊,本来要的是都是正数的,可以你的sqrt()函数里面的两有负值了自然有了复数了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式