wygwjh 发表于 2008-6-28 15:40

MATLAB中椭圆变成了圆

在进行MATLAB画图,程序如下:
L1=120; L2=120; B=60;
phi=linspace(0,2*pi,360);
for i=1:360
    XG(i)=L1*cos(phi(i))-L2*cos(B);
    YG(i)=L1*sin(phi(i))+L2*sin(B);
end
plot(XG,YG)
画出来的图是椭圆,如图1所示:

可是:
(1)将坐标范围修改为横坐标(-250,250),纵坐标(-200,200)后,椭圆变成圆。如图2所示。
那该程序画出来的是圆还是椭圆呢?为什么会这样?
(2)还是我的程序有问题呢?
非常感谢呀!

[ 本帖最后由 sigma665 于 2008-6-28 20:38 编辑 ]

sogooda 发表于 2008-6-28 16:25

axis equal

wygwjh 发表于 2008-6-28 19:26

回复 2楼 的帖子

非常感谢您的回复。
2楼的,非常感谢您的回复,可是我设置成了横坐标和纵坐标都是(-250,250)之后,还是不是圆,形状是椭圆,可是采用ADMS模拟的结果是圆。您能不能说的详细一点,我对MATLAB是个菜鸟。谢谢!那我的程序模拟出来的图形应该是椭圆还是圆呢?谢谢您的帮助。

[ 本帖最后由 wygwjh 于 2008-6-28 19:32 编辑 ]

wwbeyondww 发表于 2008-6-28 20:18

晕,明显就是椭圆啊,
你可以直接看看表达式,x^2+y^2=常数才可能是圆。
图形上看你要准确描述图形,当然刻度要一样才能看出形状来。
可以按照2楼的回复,
或者横纵坐标都是(-250,250),看到的是真实形状

sogooda 发表于 2008-6-28 21:24

回复 3楼 的帖子

axis equal
是一个matlab语句,加到你的绘图命令后面就行了。如果你的方程确是圆,那么绘制出来的就肯定看起来是圆的了。
页: [1]
查看完整版本: MATLAB中椭圆变成了圆