我的2009的,我是过2011的返回的也是和你一样的

不过这两种表达式应该是一样的

我分别代过数值去检验,得到的结果是一样的

但是我找不到办法用matlab将你得到的表达式转变成我得到的

不过查了一下资料,用手推算应该可以证明两者是一样的

以下是我查到最有用的一段

log函数在实数域中不能对负数和零进行计算,

MATLAB中的log函数则可以接受负数输入,并将其作为复数进行处理。

而log(0)返回-inf

对于复数元素x+i*y,其自然对数等于log(abs(x+i*y))+i*atan2(y,x)。

也就是说复数x+i*y的自然对数得到的结果是:

实部是原复数的模的自然对数,虚部是原来的幅角

所以用复数域定义的自然对数log,是可以表示atan2的

可能是这样,所以新版本的matlab对符号运算优化了一下

求角度应该atan2的,但是atan2不能用于符号运算,所以旧版本就无能为力

而新版本用log函数表示,就解决了这个问题

我版本的atan((b*kx + a*ky*tan(t0/2))/(a*ky - b*kx*tan(t0/2)))写为atan2

atan2(b*kx + a*ky*tan(t0/2) ,a*ky - b*kx*tan(t0/2));

让b*kx + a*ky*tan(t0/2)=Y,a*ky - b*kx*tan(t0/2)=X,再让Z=sqrt(X^2+Y^2)

atan2(Y,X)于atan2(Y/Z,X/Z)是一致的,只是将模归一化了,那么

log((X+Y*i)/Z)= log( (X^2+Y^2)/Z^2)+i*atan2(Y/Z,X/Z)

=log(1)+i*atan2(Y/Z,X/Z)=0+i*atan2(Y/Z,X/Z)=i*atan2(Y,X)

所以atan2(Y,X)=-i*log((X+Y*i)/Z)

也就是atan2可以由模归一化后的X+Yi的自然对数乘以-i获得

另一方面可以通过将tan化为cos/sin 而cos和sin函数又可以通过欧拉公式exp函数表示

最终tan(t0/2)可以化为用exp(i*t0)表示

tan(t0/2)=(i - i*exp(i*t0))/(exp(i*t0) + 1)

篇幅有限推导过程就不写了,最后这两个结果应该是等价的

考虑到atan没有像给出atan2那样正确的结果,

所以新版本给的用log表示的结果应该更不会有问题

matlab 圆和直线的交点,用matlab求直线和椭圆的交点坐标!相关推荐

  1. matlab霍夫变换检测直线原理,霍夫变换(霍夫变换检测直线原理)

    OpenCv里面有个概率霍夫变换,但是不知道原理是什么,请各位大侠指教!.. 霍夫变换就是利用参数空间中的(ρ,θ)来表示一条直线,其中ρ是原点到直线的垂直距离,θ是原点到直线的一条垂线段与θ的夹角. ...

  2. matlab寻找直线_Matlab 霍夫变换 ( Hough Transform) 直线检测

    PS:好久没更新,因为期末到了,拼命复习中.复习久了觉得枯燥,玩玩儿霍夫变换直线检测 霍夫变换的基本原理不难,即便是初中生也很容易理解(至少在直线检测上是这样子的). 霍夫变换直线检测的基本原理:(不 ...

  3. 求两点连线与其中一点为球心球的交点——赋MATLAB代码

    在轨迹规划过程中,常将其它智能体视为具有一定半径的球形障碍物(或圆形障碍物).若求智能体与障碍物最近的边缘点,其本质即求两点连线与其中一点为球心球的交点. 求的方法有多种,这里采用雅克比矩阵的方法. ...

  4. JAVA程序设计:求直线与圆的交点坐标

    其实圆与直线的交点方程并不难解,难得是算法实现,废话不多说,直接上代码: 核心类 /*** @Author: Zhangwenshun* @Description:* @Date: Created i ...

  5. matlab 圆度误差,用MATLAB评定圆度误差的研究

    0 引言 目前在生产实践中,圆度误差的测量方法有半径变化测量法.两点法.三点法和坐标测量法等几种[1].其中,圆度仪.三坐标测量机对圆度的评定和计算是通过圆度仪.三坐标测量机等精密仪器自带的计算程序来 ...

  6. matlab中 点到线的距离,用matlab求解点到直线的距离

    满意答案 cith4gbai 2013.12.31 采纳率:59%    等级:12 已帮助:46219人 用matlab求解点到直线的距离,可自定义函数,方法如下: 先用直线上的一点和代表直线方向的 ...

  7. matlab中solve解方程,怎么用Matlab解方程?

    Matlab是一款功能强大的数学软件,我们常常会使用它来解决一些数学难题,但是有时候我们刚装上这个软件的时候,就有一些问题不懂得怎么处理,比如说怎么用Matlab解方程,为了帮助大家解决这个问题,小编 ...

  8. matlab抛物偏微分方程,抛物型方程差分求解 跪求MATLAB解抛物型偏微分方程的程序...

    为什么抛物线方程与圆方程联立不能使用韦达定理 很容易了解到,抛物线和圆的交点均在X轴上方\"其实这时你应该注意到一点就是,这两个交点的纵坐标是相等的,所以其实对应的是一个y值,也就是你列的一 ...

  9. MATLAB在温室中的应用,基于MATLAB的日光温室内气温的图形显示方法与流程

    本发明涉及日光温室温度检测 技术领域: ,具体涉及一种基于MATLAB的日光温室内气温的图形显示方法. 背景技术: :日光温室极大丰富了人们的菜篮子,丰富了人们的生活,各地日光温室的墙体材料不尽相同, ...

  10. 基于matlab 的燃油喷雾图像处理方法,基于MATLAB的燃油喷雾图像处理方法.doc

    基于MATLAB的燃油喷雾图像处理方法 基于MATLAB的燃油喷雾图像处理方法 摘要:提出了基于MATLAB的燃油喷雾图像处理方法.通过对喷雾图像的采集, 分割和滤波处理, 将多幅图像转换融合为一幅 ...

最新文章

  1. SAP 电商云 UI State persistence 状态持久化设计的入口 - initSync
  2. 最长有序子序列—动态规划算法
  3. 网易有道词典--关闭自动发音
  4. ajaxfileupload 监听上传进度_一篇文章学会文件上传
  5. 在MyEclipse中使用javadoc导出API文档详解
  6. 开发者案例 | 灵活高效涂鸦社区PaaS,助力社区智能化升级
  7. VSCode如何返回上一步
  8. 基于MFC的U盘检测与文件拷贝程序
  9. c语言累加和校验_循环冗余校验(CRC)算法入门
  10. 超好看的樱花飘落网络科技官网源码
  11. 漫谈云数据中心的前世今生
  12. 5.4 控制器的功能和工作原理
  13. 【爬虫学习笔记day65】7.7. scrapy-redis实战-- IT桔子分布式项目1
  14. 最大似然估计(MLE),最大后验概率估计(MAP),贝叶斯估计入门讲解
  15. 计算机配置显卡在哪里打开,怎么打开显卡设置 显卡设置如何打开 - 云骑士一键重装系统...
  16. 天津python培训,学完Python爬虫能找什么样的工作?
  17. 批处理命令set /p是什么意思
  18. [深蓝学院]自动驾驶环境感知
  19. 写给婆婆的话,太经典了
  20. 从零开始学产品第二篇:关于测试的一切

热门文章

  1. python 规则引擎 drools_Drools 规则引擎环境搭建
  2. python获取本机ip地址_python3 获取本机ip地址
  3. 调整linux字体渲染,开始使用 Manjaro(添加源+字体渲染去模糊+软件安装+优化配置+常见错误)(30)...
  4. 深度装机大师一键重装_“云骑士一键重装系统”,看标题就知道装系统原来如此简单...
  5. WebStorm 2018破解版
  6. 如何免费制作支付宝微信合并收款二维码?
  7. OCR文本扫描 轮廓检测 透视变换-唐宇迪笔记
  8. Java程序员简历模板
  9. android 字体设置方正,(技术)Android 默认非衬线字体修改为衬线字体
  10. windows 中获取字体文件名