求助:如何在matlab中画椭圆
想请教大家如何用matlab画这样的一个椭圆区域,以x1和x2为坐标X'PX<r
其中X='是系统dX=f(X,t)的状态;P为正定对称矩阵;r>0; 椭圆区域可以这样画
a=2;
b=3;
t=(0:0.1:2)*pi;
fill(a*cos(t),b*sin(t),'r')
结合你自己的问题,修改试试
回复 沙发 friendchj 的帖子
谢谢你的回答,你说的是一般的画椭圆的方法。但可以解决我所提出的问题。我原以为有比较简单的对应于我所说的问题的画法,一直没有找到。
看来目前只能先转换成楼上所说的形式画了。 试试隐函数画图呢,例如
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 编辑 ]
回复 地板 xiezhh 的帖子
LZ不仅热心, 程序及数学底子都很深厚!汗! 个人底子太浅, 看好久才回忆一些!
谢谢, 学习了!
回复 地板 xiezhh 的帖子
佩服!多谢!雪中送炭啊!正是在下所需。 回复 4 # xiezhh 的帖子你好啊,能不能问一下如果要求画的图形X'PX<r 中,矩阵P是三维的,也就是要画椭球体,样该怎么画啊?
页:
[1]