matlab如何求三个椭圆公共交集内的交点?有三个椭圆,根据椭圆公式ax2+bxy+cy2+dx+ey+f=0画出来的,系数(a,b,c,d,e,f)分别放在三个不同的矩阵a1,a2,a3里,画出来的图如下.请问如何编程求出它们的交集区
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 20:25:58
matlab如何求三个椭圆公共交集内的交点?有三个椭圆,根据椭圆公式ax2+bxy+cy2+dx+ey+f=0画出来的,系数(a,b,c,d,e,f)分别放在三个不同的矩阵a1,a2,a3里,画出来的图如下.请问如何编程求出它们的交集区
matlab如何求三个椭圆公共交集内的交点?
有三个椭圆,根据椭圆公式ax2+bxy+cy2+dx+ey+f=0画出来的,系数(a,b,c,d,e,f)分别放在三个不同的矩阵a1,a2,a3里,画出来的图如下.请问如何编程求出它们的交集区域的三个交点(圈标记部分)?
a1 =
-0.0559 0.0306 -0.0353 0.3097 0.1954 -0.9277
a2 =
-0.0082 -0.0066 -0.0120 0.1549 0.1693 -0.9732
a3 =
0.0244 -0.0046 0.0082 -0.2388 -0.0923 0.9663
matlab如何求三个椭圆公共交集内的交点?有三个椭圆,根据椭圆公式ax2+bxy+cy2+dx+ey+f=0画出来的,系数(a,b,c,d,e,f)分别放在三个不同的矩阵a1,a2,a3里,画出来的图如下.请问如何编程求出它们的交集区
你能画出图来,说明你有一定的MATLAB基础,我就简单讲一下思路吧.
首先,上述椭圆方程的所有系数中,x^2的系数a和y^2的系数c一定是同号的,即同为正值或同为负值.若是一正一负,那就是双曲线方程了.既然是椭圆方程,那么所有系数乘上相同的非零数值,得到的还是同一个方程.所以为了方便描述,都先做如下处理:
a1=sign(a1)*a1;
a2=sign(a2)*a2;
a3=sign(a3)*a3;
这样得到的系数中,x^2的系数a和y^2的系数c就都是正值了,在此前提下,令
z=ax2+bxy+cy2+dx+ey+f
那么,当z(x,y)=0时,点(x,y)就在椭圆上;当z(x,y)>0时,点(x,y)就在椭圆外;当z(x,y)