ax²+by²+cxy+dx+ey+f=0,求该椭圆的xmax和xmin,以及对应的y值

。。。a,b,c,d,e,f为系数、。用matlab编程

基本思路应该是判别式>=0。

把式子整理为以y为主元的一元二次方程。
by^2+(cx+e)y+(ax^2+dx+f)=0。

y有实数解(就是说椭圆上有这个点),等价于判别式不小于0:
(cx+e)^2-4b*(ax^2+dx+f)>=0。

变一下:
(c^2-4ab)x^2+(2ce-4bd)x+(e^2-4bf)>=0。

然后根据你的a-f值,求出满足x的范围(你可以求上面方程的0点),基本就可以了。

Matlab简要程序:

g=c*c-4*a*b;
h=2*c*e-4*b*d;
i=e*e-4*b*f;
x1=1/(2*g)*(-h+sqrt(h^2-4*g*i));
x2=1/(2*g)*(-h-sqrt(h^2-4*g*i));
y1=1/(2*b)*(-(c*x1+e));
y2=1/(2*b)*(-(c*x2+e));
温馨提示:答案为网友推荐,仅供参考