当前位置: 首页 > news >正文

椭圆的矩阵表示法

椭圆的矩阵表示法

flyfish

1. 标准几何表示法

标准几何表示法是通过椭圆的几何定义来表示的:
x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 a2x2+b2y2=1其中, a a a 是椭圆的长半轴长度, b b b 是椭圆的短半轴长度。
在这里插入图片描述

2. 线性代数表示法

线性代数表示法是通过椭圆的二次型表示的:
x T Σ − 1 x = c \mathbf{x}^T \Sigma^{-1} \mathbf{x} = c xTΣ1x=c其中, x \mathbf{x} x 是点的向量表示 ( x y ) \begin{pmatrix} x \\ y \end{pmatrix} (xy) Σ \Sigma Σ 是一个正定矩阵(协方差矩阵的逆), c c c 是一个常数。

推导两者之间的关系

我们通过具体推导来看这两者之间的关系:

假设我们有一个标准形式的椭圆方程:
x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 a2x2+b2y2=1
可以将其改写为矩阵形式:
( x y ) ( 1 a 2 0 0 1 b 2 ) ( x y ) = 1 \begin{pmatrix} x & y \end{pmatrix} \begin{pmatrix} \frac{1}{a^2} & 0 \\ 0 & \frac{1}{b^2} \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = 1 (xy)(a2100b21)(xy)=1在这里,矩阵 ( 1 a 2 0 0 1 b 2 ) \begin{pmatrix} \frac{1}{a^2} & 0 \\ 0 & \frac{1}{b^2} \end{pmatrix} (a2100b21) 就是 Σ − 1 \Sigma^{-1} Σ1,而常数 c = 1 c = 1 c=1
因此,标准形式的椭圆方程可以被视为线性代数表示法的一种特例,其中:
Σ − 1 = ( 1 a 2 0 0 1 b 2 ) \Sigma^{-1} = \begin{pmatrix} \frac{1}{a^2} & 0 \\ 0 & \frac{1}{b^2} \end{pmatrix} Σ1=(a2100b21)
这也意味着:
Σ = ( a 2 0 0 b 2 ) \Sigma = \begin{pmatrix} a^2 & 0 \\ 0 & b^2 \end{pmatrix} Σ=(a200b2)

更一般的情况

如果椭圆不是标准形式的(例如旋转过或者平移过的椭圆),其线性代数表示法中的矩阵 Σ \Sigma Σ 将不是对角矩阵,而是一个包含非零的非对角元素的矩阵。

1. 椭圆的几何定义

设椭圆的两个焦点分别为 F 1 ( − c , 0 ) F_1(-c, 0) F1(c,0) F 2 ( c , 0 ) F_2(c, 0) F2(c,0),椭圆上的任意一点 P ( x , y ) P(x, y) P(x,y) 满足以下条件:
P F 1 + P F 2 = 2 a PF_1 + PF_2 = 2a PF1+PF2=2a
其中, 2 a 2a 2a 是椭圆的长轴长度, a a a 是长半轴的长度。

2. 代入距离公式

根据距离公式,可以得到 P P P F 1 F_1 F1 F 2 F_2 F2 的距离分别为:
P F 1 = ( x + c ) 2 + y 2 PF_1 = \sqrt{(x + c)^2 + y^2} PF1=(x+c)2+y2
P F 2 = ( x − c ) 2 + y 2 PF_2 = \sqrt{(x - c)^2 + y^2} PF2=(xc)2+y2 根据椭圆的定义,有:
( x + c ) 2 + y 2 + ( x − c ) 2 + y 2 = 2 a \sqrt{(x + c)^2 + y^2} + \sqrt{(x - c)^2 + y^2} = 2a (x+c)2+y2 +(xc)2+y2 =2a

3. 消除根号

为了简化这个方程,我们首先将方程两边平方:
( ( x + c ) 2 + y 2 + ( x − c ) 2 + y 2 ) 2 = ( 2 a ) 2 \left( \sqrt{(x + c)^2 + y^2} + \sqrt{(x - c)^2 + y^2} \right)^2 = (2a)^2 ((x+c)2+y2 +(xc)2+y2 )2=(2a)2展开左边:
( x + c ) 2 + y 2 + ( x − c ) 2 + y 2 + 2 ( ( x + c ) 2 + y 2 ) ( ( x − c ) 2 + y 2 ) = 4 a 2 (x + c)^2 + y^2 + (x - c)^2 + y^2 + 2 \sqrt{((x + c)^2 + y^2)((x - c)^2 + y^2)} = 4a^2 (x+c)2+y2+(xc)2+y2+2((x+c)2+y2)((xc)2+y2) =4a2

4. 凑平方差

我们先简化左边的前两项:
( x + c ) 2 + y 2 + ( x − c ) 2 + y 2 = x 2 + 2 x c + c 2 + y 2 + x 2 − 2 x c + c 2 + y 2 (x + c)^2 + y^2 + (x - c)^2 + y^2 = x^2 + 2xc + c^2 + y^2 + x^2 - 2xc + c^2 + y^2 (x+c)2+y2+(xc)2+y2=x2+2xc+c2+y2+x22xc+c2+y2
= 2 x 2 + 2 y 2 + 2 c 2 = 2x^2 + 2y^2 + 2c^2 =2x2+2y2+2c2代入上面的方程得到:
2 x 2 + 2 y 2 + 2 c 2 + 2 ( ( x + c ) 2 + y 2 ) ( ( x − c ) 2 + y 2 ) = 4 a 2 2x^2 + 2y^2 + 2c^2 + 2 \sqrt{((x + c)^2 + y^2)((x - c)^2 + y^2)} = 4a^2 2x2+2y2+2c2+2((x+c)2+y2)((xc)2+y2) =4a2移项得到:
2 ( ( x + c ) 2 + y 2 ) ( ( x − c ) 2 + y 2 ) = 4 a 2 − 2 x 2 − 2 y 2 − 2 c 2 2 \sqrt{((x + c)^2 + y^2)((x - c)^2 + y^2)} = 4a^2 - 2x^2 - 2y^2 - 2c^2 2((x+c)2+y2)((xc)2+y2) =4a22x22y22c2
( ( x + c ) 2 + y 2 ) ( ( x − c ) 2 + y 2 ) = 2 a 2 − x 2 − y 2 − c 2 \sqrt{((x + c)^2 + y^2)((x - c)^2 + y^2)} = 2a^2 - x^2 - y^2 - c^2 ((x+c)2+y2)((xc)2+y2) =2a2x2y2c2

5. 消去根号

为了继续消去根号,我们再次平方两边:
( ( ( x + c ) 2 + y 2 ) ( ( x − c ) 2 + y 2 ) ) 2 = ( 2 a 2 − x 2 − y 2 − c 2 ) 2 \left( \sqrt{((x + c)^2 + y^2)((x - c)^2 + y^2)} \right)^2 = (2a^2 - x^2 - y^2 - c^2)^2 (((x+c)2+y2)((xc)2+y2) )2=(2a2x2y2c2)2展开左边:
( ( x + c ) 2 + y 2 ) ( ( x − c ) 2 + y 2 ) = ( 2 a 2 − x 2 − y 2 − c 2 ) 2 ((x + c)^2 + y^2)((x - c)^2 + y^2) = (2a^2 - x^2 - y^2 - c^2)^2 ((x+c)2+y2)((xc)2+y2)=(2a2x2y2c2)2

6. 简化方程

左边的展开:
( x 2 + 2 x c + c 2 + y 2 ) ( x 2 − 2 x c + c 2 + y 2 ) (x^2 + 2xc + c^2 + y^2)(x^2 - 2xc + c^2 + y^2) (x2+2xc+c2+y2)(x22xc+c2+y2)
= ( x 2 + y 2 + c 2 ) 2 − ( 2 x c ) 2 = (x^2 + y^2 + c^2)^2 - (2xc)^2 =(x2+y2+c2)2(2xc)2
= ( x 2 + y 2 + c 2 ) 2 − 4 x 2 c 2 = (x^2 + y^2 + c^2)^2 - 4x^2c^2 =(x2+y2+c2)24x2c2右边的展开:
( 2 a 2 − x 2 − y 2 − c 2 ) 2 (2a^2 - x^2 - y^2 - c^2)^2 (2a2x2y2c2)2
= 4 a 4 − 4 a 2 ( x 2 + y 2 + c 2 ) + ( x 2 + y 2 + c 2 ) 2 = 4a^4 - 4a^2(x^2 + y^2 + c^2) + (x^2 + y^2 + c^2)^2 =4a44a2(x2+y2+c2)+(x2+y2+c2)2令左边和右边相等:
( x 2 + y 2 + c 2 ) 2 − 4 x 2 c 2 = 4 a 4 − 4 a 2 ( x 2 + y 2 + c 2 ) + ( x 2 + y 2 + c 2 ) 2 (x^2 + y^2 + c^2)^2 - 4x^2c^2 = 4a^4 - 4a^2(x^2 + y^2 + c^2) + (x^2 + y^2 + c^2)^2 (x2+y2+c2)24x2c2=4a44a2(x2+y2+c2)+(x2+y2+c2)2相消掉相同项后:
− 4 x 2 c 2 = 4 a 4 − 4 a 2 ( x 2 + y 2 + c 2 ) - 4x^2c^2 = 4a^4 - 4a^2(x^2 + y^2 + c^2) 4x2c2=4a44a2(x2+y2+c2)
x 2 c 2 = a 2 ( x 2 + y 2 + c 2 ) − a 4 x^2c^2 = a^2(x^2 + y^2 + c^2) - a^4 x2c2=a2(x2+y2+c2)a4由于 c 2 = a 2 − b 2 c^2 = a^2 - b^2 c2=a2b2,我们将其代入上式中:
x 2 ( a 2 − b 2 ) = a 2 ( x 2 + y 2 + ( a 2 − b 2 ) ) − a 4 x^2(a^2 - b^2) = a^2(x^2 + y^2 + (a^2 - b^2)) - a^4 x2(a2b2)=a2(x2+y2+(a2b2))a4
x 2 a 2 − x 2 b 2 = a 2 x 2 + a 2 y 2 + a 4 − a 2 b 2 − a 4 x^2a^2 - x^2b^2 = a^2x^2 + a^2y^2 + a^4 - a^2b^2 - a^4 x2a2x2b2=a2x2+a2y2+a4a2b2a4
x 2 a 2 − x 2 b 2 = a 2 x 2 + a 2 y 2 − a 2 b 2 x^2a^2 - x^2b^2 = a^2x^2 + a^2y^2 - a^2b^2 x2a2x2b2=a2x2+a2y2a2b2整理后得到:
− x 2 b 2 = a 2 y 2 − a 2 b 2 -x^2b^2 = a^2y^2 - a^2b^2 x2b2=a2y2a2b2
x 2 b 2 = a 2 b 2 − a 2 y 2 x^2b^2 = a^2b^2 - a^2y^2 x2b2=a2b2a2y2
x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 a2x2+b2y2=1

最终的标准椭圆方程

x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 a2x2+b2y2=1

http://www.lryc.cn/news/377628.html

相关文章:

  • 智慧乡村和美人家信息化系统
  • ios-deploy - Required for installing your app on a physical device with the CLI
  • thinkphp5使用模型删除与复杂查询EXP
  • 铜陵市省重点实验室、省工程技术研究中心认定奖励补贴和申报认定条件流程归集
  • Linux-目录和文件
  • 2024-06月 | 维信金科 | 风控数据岗位推荐,高收入岗位来袭!
  • 不适合编程的人是怎样的?
  • el-table表格变更前后根据数据值改变背景颜色
  • flask基础知识1
  • 第8天:Django Admin高级配置
  • 本地无法连接linux上的MariaDB数据库
  • 使用 Netty 自定义解码器处理粘包和拆包问题详解
  • SDK编译IO Domain电压选择
  • 如何在纯内网环境下,将EasyCVR视频汇聚网关通过4G与第三方公网云平台级联?
  • 2024-06-14 AI资讯:CCF论坛探讨大模型挑战,启动安全赛
  • 玩转Matlab-Simscape(初级)- 10 - 基于COMSOLSimulink 凸轮机构的控制仿真
  • spark学习总结
  • eNSP学习——帧中继基本配置
  • XML Encoding = ‘GBK‘ after STRANS,中文乱码
  • C 语言通用MySQL 功能增删查改功能.
  • Java学习 - MySQL表 增减删查
  • 力扣SQL50 有趣的电影 简单查询
  • 01. Java并发编程简介
  • 使用Node.js+Express开发简单接口
  • 【Python】使用OpenCV特征匹配检测图像中的【特定水印】
  • 基于 Clang和LLVM 的 C++ 代码静态分析工具开发教程
  • Mathtype与word字号对照+Mathtype与word字号对照
  • PHP 8.4有哪些新功能值得关注
  • PyCharm新手入门
  • [Linux] 系统管理