liljx_2008 发表于 2009-6-16 18:05

求助:如何在matlab中画椭圆

想请教大家如何用matlab画这样的一个椭圆区域,以x1和x2为坐标
X'PX<r   
其中X='是系统dX=f(X,t)的状态;P为正定对称矩阵;r>0;

friendchj 发表于 2009-6-16 21:18

椭圆区域可以这样画
a=2;
b=3;
t=(0:0.1:2)*pi;
fill(a*cos(t),b*sin(t),'r')
结合你自己的问题,修改试试

liljx_2008 发表于 2009-6-18 21:06

回复 沙发 friendchj 的帖子

谢谢你的回答,你说的是一般的画椭圆的方法。但可以解决我所提出的问题。
我原以为有比较简单的对应于我所说的问题的画法,一直没有找到。
看来目前只能先转换成楼上所说的形式画了。

xiezhh 发表于 2009-6-21 20:06

试试隐函数画图呢,例如
P = ; r = 5;
fun = @(x,y)*P*-r;
ezplot(fun,[-2 2 -1.5 1.5])
也可以考虑椭圆方程的标准化,就是二次型化标准型的问题。
我用画二次型为标准型的办法又做了一下,和用隐函数画图得到的图形不太一样,个人感觉隐函数画图不太准确。
P = ; r = 5;
= eig(P); b = r/D(1); a = r/D(4);
ecc = axes2ecc(b,a);
y = ellipse1(0,0,);
x = V*y';
plot(x(1,:),x(2,:),'r')


[ 本帖最后由 ChaChing 于 2009-6-25 20:55 编辑 ]

ChaChing 发表于 2009-6-21 22:45

回复 地板 xiezhh 的帖子

LZ不仅热心, 程序及数学底子都很深厚!
汗! 个人底子太浅, 看好久才回忆一些!
谢谢, 学习了!

liljx_2008 发表于 2009-6-24 09:22

回复 地板 xiezhh 的帖子

佩服!多谢!雪中送炭啊!正是在下所需。

caisha 发表于 2012-5-22 17:14

回复 4 # xiezhh 的帖子

你好啊,能不能问一下如果要求画的图形X'PX<r 中,矩阵P是三维的,也就是要画椭球体,样该怎么画啊?
页: [1]
查看完整版本: 求助:如何在matlab中画椭圆