Python中文
首页
教程
问答
标签
搜索
登录
注册
为什么在MATLAB中24.0000不等于24.0000?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在编写一个程序,需要删除矩阵中存储的重复点。问题是,当检查这些点是否在矩阵中时,MATLAB无法识别矩阵中的这些点,尽管它们存在</p> <p>在以下代码中,<code>intersections</code>函数获取交点:</p> <pre><code>[points(:,1), points(:,2)] = intersections(... obj.modifiedVGVertices(1,:), obj.modifiedVGVertices(2,:), ... [vertex1(1) vertex2(1)], [vertex1(2) vertex2(2)]); </code></pre> <p>结果是:</p> <pre><code>>> points points = 12.0000 15.0000 33.0000 24.0000 33.0000 24.0000 >> vertex1 vertex1 = 12 15 >> vertex2 vertex2 = 33 24 </code></pre> <p>应从结果中删除两点(<code>vertex1</code>和<code>vertex2</code>)。应通过以下命令执行此操作:</p> <pre><code>points = points((points(:,1) ~= vertex1(1)) | (points(:,2) ~= vertex1(2)), :); points = points((points(:,1) ~= vertex2(1)) | (points(:,2) ~= vertex2(2)), :); </code></pre> <p>在这样做之后,我们得到了一个意想不到的结果:</p> <pre><code>>> points points = 33.0000 24.0000 </code></pre> <p>结果应该是一个空矩阵。如您所见,第一(或第二?)对<code>[33.0000 24.0000]</code>已被消除,但第二对未被消除</p> <p>然后我检查了这两个表达式:</p> <pre><code>>> points(1) ~= vertex2(1) ans = 0 >> points(2) ~= vertex2(2) ans = 1 % <-- It means 24.0000 is not equal to 24.0000? </code></pre> <p>有什么问题</p> <hr/> <p>更令人惊讶的是,我制作了一个新脚本,其中只有以下命令:</p> <pre><code>points = [12.0000 15.0000 33.0000 24.0000 33.0000 24.0000]; vertex1 = [12 ; 15]; vertex2 = [33 ; 24]; points = points((points(:,1) ~= vertex1(1)) | (points(:,2) ~= vertex1(2)), :); points = points((points(:,1) ~= vertex2(1)) | (points(:,2) ~= vertex2(2)), :); </code></pre> <p>结果如预期:</p> <pre><code>>> points points = Empty matrix: 0-by-2 </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>看看这篇文章:<a href="http://www.lahey.com/float.htm" rel="noreferrer">The Perils of Floating Point</a>。虽然它的例子是用FORTRAN编写的,但它对几乎所有现代编程语言都有意义,包括MATLAB。您的问题(及其解决方案)在“安全比较”部分中进行了描述</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当用户用PYTHON设置一个或一个不带值的URL时,他们怎么能输入一个/a的代码呢?
8 回答
当用户登录到站点时,如何显示不同的导航栏
8 回答
当用户登录时,在Flask中向用户显示处理结果
6 回答
当用户的Flask会话结束时,我如何从Redis后端中移除所有Celery结果?
1 回答
当用户的Okta配置文件字段当前为blan时,更新该字段
7 回答
当用户的付款逾期2天时,从Django模型检索数据
8 回答
当用户的消息以问号结尾时,如何让机器人说些什么?
3 回答
当用户的系统上可能也安装了Python 2.7时,如何在用户的系统上运行Python 3脚本?
1 回答
当用户确定打印数量时,使用Matplotlib打印动画
3 回答
当用户离开时是否可以删除整个网页?
9 回答
当用户给出一个单词时如何打印?
8 回答
当用户继续更改TKin中的值(使用trace方法)时,使用Entry并更新输入的条目
10 回答
当用户编辑表单字段时,从Django时间字段中删除秒数
2 回答
当用户被更改时,消息不会来自web套接字
2 回答
当用户访问表单时,如何使表单为只读,而不具有更改权限
9 回答
当用户试图更改对象的值时,使用描述符类引发RuntimeError
3 回答
当用户调整GUI的大小时,是否有方法更改GUI内容的大小?
2 回答
当用户调整风的大小时,pythontkinter小部件的大小会不均匀
9 回答
当用户购买某个类别时,是否查找其他类别的销售?
1 回答
当用户转到上一页时,Django和芹菜插入操作
10 回答