首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB中的排序数组

MATLAB中的排序数组
EN

Stack Overflow用户
提问于 2012-05-27 20:14:44
回答 3查看 235关注 0票数 1

我有一个单列数组,我想按降序排序。数组的值从0到大约10^14不等。

sorted = sort(A,'descend')

试着看看十大最大值,我发现

sorted(1:10)

给我

1.0e+14 *

5.1093

0.0000

0.0000

0.0000

等等。--显示前几个,大型条目告诉我只有一个非零元素,这不是真的。但是,如果我跳过前几个条目,它们远大于数组元素的其余部分,我将得到

排序(8:10)=

2.9754

2.4182

2.0799

为什么显示这些前几个大数组元素会导致所有其他元素显示为零?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-27 20:29:01

列表中的第一个数字是一个比例因子,它将整个数组相乘。由于元素的大小不同,您需要使用格式设置。试一试

代码语言:javascript
复制
    format long

代码语言:javascript
复制
    format long e

看到更好的表示法

票数 2
EN

Stack Overflow用户

发布于 2012-05-27 20:28:13

您可能会发现sprintfnum2str对于打印任意精度的数字更为有用。

this related SO question

相关Matlab文档:

  1. http://www.mathworks.com/help/techdoc/ref/format.html
  2. http://www.mathworks.com/help/techdoc/ref/num2str.html
  3. http://www.mathworks.com/help/techdoc/ref/sprintf.html
票数 2
EN

Stack Overflow用户

发布于 2012-05-27 20:24:59

它们被显示为零,因为与第一个元素相比,它们基本上是零(也就是说,它们比10^14小得多)。但即使它们被显示为零,它们也不是零。尝试输入sorted(3):结果不应该是零。(编辑:您已经展示了上面的内容)。

这基本上是一个精确的问题。输入format long也可以使这一点更加清晰。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10776924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档