【学习笔记】Matlab中求点到直线的距离

点到直线

假设直线L1: A x + B y + C = 0 Ax+By+C=0 Ax+By+C=0,直线外一点 ( x 0 , y 0 ) (x_0,y_0) (x0,y0),点到直线的垂直距离为 d d d

d = ∣ A x 0 + B y 0 + C ∣ A 2 + B 2 d=\frac{\lvert Ax_0+By_0+C \rvert}{\sqrt{A^2+B^2}} d=A2+B2 Ax0+By0+C

用Matlab计算

需要注意坐标的表示方式

// 当坐标为行向量
p0 = [3,6]
p1 = [3,4]
p2 = [5,6]
d = abs(det([p2-p1;p0-p1])/norm(p2-p1))%d=1.1414

// 当坐标为列向量
p0 = [3;6]
p1 = [3;4]
p2 = [5;6]
d = abs(det([p2-p1,p0-p1])/norm(p2-p1))%d=1.414

// 当坐标为三维空间坐标
p0 = [3;6;4]
p1 = [3;4;3]
p2 = [5;6;5]
d = norm(cross(p2-p1,p0-p1)/norm(p2-p1)%d=1.414

直线间夹角

L1: A 1 x + B 1 y + C 1 = 0 A_1x+B_1y+C_1=0 A1x+B1y+C1=0
L2: A 2 x + B 2 y + C 2 = 0 A_2x+B_2y+C_2=0 A2x+B2y+C2=0
cos ⁡ θ = ∣ A 1 A 2 + B 1 B 2 ∣ A 1 2 + B 1 2 ⋅ A 2 2 + B 2 2 \cos \theta=\frac{\lvert A_1A_2+B_1B_2 \rvert}{\sqrt{A_1^2+B_1^2} \cdot \sqrt{A_2^2+B_2^2}} cosθ=A12+B12 A22+B22 A1A2+B1B2, θ ∈ [ 0 , π 2 ] \theta \in[0,\frac{\pi}{2}] θ[0,2π]

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
matlab学习笔记汇总,适合初学者。 1.3Matlab界面介绍(1).docx 1.4Matlab界面介绍(2).docx 1.5Matlab帮助系统.docx 1.6Matlab的搜索顺序及搜索路径.docx 2.1Matlab的变量与常量.docx 2.2Matlab的基本数据结构(1).docx 2.2Matlab的基本数据结构(2).docx 2.3 Matlab中的空数组与子数组.docx 2.4 Matlab的算术运算符.docx 2.5 常见的Matlab运算函数(1).docx 2.6 常见的Matlab运算函数(2).docx 2.7 Matlab的字符串及其运算.docx 2.8 字符串函数及二维字符串.docx 2.9 绘图入门.docx 2.10绘图属性的控制.docx 2.11图形窗口菜单及对数坐标.docx 2.12 本章小结.docx 3.1程序编写的一般步骤.docx 3.2关系运算符.docx 3.3逻辑运算符.docx 3.4逻辑函数与短路运算.docx 3.5if语句.docx 3.6流程图的绘制.docx 3.7if语句的嵌套.docx 3.8switch.docx 3.9try_catch结构.docx 3.10多个图像窗口与子窗口.docx 3.11图像的增强控制.docx 3.12文本的高级控制.docx 3.13极坐标图.docx 4.1while循环结构.docx 4.2while循环举例.docx 4.3for循环.docx 4.4for循环举例.docx 4.5break和continue.docx 4.6循环结构嵌套.docx 4.7编译语言与解释语言.docx 4.8逻辑数组与向量化.docx 4.9应用举例.docx 4.10应用举例(2).docx 5.1M文件的分类.docx 5.2自顶向下程序设计.docx 5.3初始Matlab函数.docx 5.4初始Matlab函数(2).docx 5.5函数的局部变量.docx 5.6局部变量与按值传递.docx 5.7函数的选择性参数.docx 5.8函数的检测工具.docx 5.9全局内存与全局变量.docx 5.10持久变量.docx 5.11显示信息的几种方式.docx 5.12排查逻辑错误.docx 5.13排查逻辑错误(2).docx 5.14函数函数.docx 5.15函数函数(2).docx 5.16子函数.docx 5.17私有函数.docx 6.1复数数据类型.docx 6.2复数的作图.docx 6.3其他二维作图函数.docx 6.4其他的作图函数.docx 6.5本章举例.docx 9.1多项式.docx 9.2插值与拟合.docx matlab中文帮助文档.chm
学习MATLAB时,编写学习笔记是一种很好的方法,可以帮助您记录重要的概念、语法和技巧,以及解决问题的步骤。以下是一些关于编写MATLAB学习笔记的建议: 1. 组织结构:使用清晰的标题和分节来组织您的学习笔记。将不同的主题分成单独的部分,并使用子标题来进一步细分内容。 2. 内容概要:在每个部分或子标题下,写下该主题的概要。这样可以帮助您回顾和理解该主题的关键。 3. 示例代码和输出:对于每个主题,包括一些示例代码和相应的输出结果。这有助于您理解和演示具体的MATLAB语法和功能。 4. 问题与解答:如果您在学习过程中遇到了一些困惑或问题,将其记录下来,并在笔记中提出并解答这些问题。这样可以帮助您深入思考并加深对该主题的理解。 5. 笔记补充:除了基本概念和语法外,您还可以添加一些额外的笔记,如最佳实践、编程技巧、常见错误等。这些额外的笔记可以提供更多的实用信息和提示。 6. 参考资料:在您的学习笔记中,包括引用的参考资料,如教程、文档、书籍或网站链接。这样,您可以随时回顾并深入研究相关的主题。 7. 总结和复习:在学习笔记的结尾,添加一个总结部分,回顾和总结您学到的重和关键概念。此外,定期复习您的学习笔记也是加深理解和记忆的好方法。 以上是关于编写MATLAB学习笔记的一些建议。希望这对您有所帮助,并祝您在MATLAB学习过程中取得成功!如果有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值