在 MATLAB 中使用 sprintf 显示变量的小数

2024-04-16

我不明白接下来会发生什么sprintf http://www.mathworks.se/help/techdoc/ref/sprintf.html命令。

>> vpa(exp(1),53)

ans =

2.7182818284590455348848081484902650117874145507812500


>> e = 2.7182818284590455348848081484902650117874145507812500

e =

2.7183

>> sprintf('%0.53f', e)

ans =

2.71828182845904550000000000000000000000000000000000000

为什么sprintf显示号码e四舍五入而不是数字,我保持在第一位?


变量是双精度 http://en.wikipedia.org/wiki/Double_precision_floating-point_format 默认情况下在 MATLAB 中,因此变量e您创建的精度仅限于双精度数,约为 16 位数字。即使您输入了更多数字,双精度数也无法准确表示所有这些额外数字,并且会四舍五入到它可以表示的最接近的数字。

EDIT:正如更详细的解释安德鲁·詹克 https://stackoverflow.com/questions/4227145/in-matlab-are-variables-really-double-precision-by-default/4227530#4227530在他的回答中这个后续问题 https://stackoverflow.com/questions/4227145/in-matlab-are-variables-really-double-precision-by-default我已发布,您选择的号码e恰好是二进制值的精确十进制扩展。换句话说,它是附近的浮点数将四舍五入到的精确表示的值。然而,在这种情况下,小数点后大约 16 位以上的任何内容都不被认为是重要的,因为它实际上无法由双精度类型准确表示。因此,像这样的函数SPRINTF http://www.mathworks.com/help/techdoc/ref/sprintf.html将自动忽略这些小值,而是打印零。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MATLAB 中使用 sprintf 显示变量的小数 的相关文章

  • 通过变量引用工作簿和工作表

    引用不同工作簿的工作表的正确语法是什么 以下代码在最后一行抛出错误 谢谢 Instantiate Workbook variables Dim mWB As Workbook master workbook Instantiate Work
  • MATLAB 链表

    有哪些可能的方法来实现链表MATLAB http en wikipedia org wiki MATLAB 注意 我问这个问题是为了教学价值 而不是实用价值 我意识到 如果您实际上在 MATLAB 中滚动自己的链表 那么您可能做错了什么 然
  • 在matlab中设置图例符号的精度

    我有这个 leg2 strcat Max Degree num2str adet 1 1 ch l leg3 strcat Min Degree num2str adet 1 2 ch l leg4 strcat Max Request n
  • 增加 .fig 文件中的散点标记大小

    我有一个图形文件 scatter fig 该图有许多使用 scatter 的散点绘图仪 现在我只有这个无花果文件 我需要增加所有散点的标记大小 手动尝试过 但非常困难 有没有办法我可以做类似的事情 H 图形句柄 s 点 h 设置 s 标记大
  • 使用 varargin (...) 时如何显示不同的函数用法?

    当您输入 Matlab 函数名称并打开大括号时 例如sum 在命令窗口中 将打开一个工具提示 显示此函数的所有可能用法 当我编写自己的接受函数时varargin 工具提示仅显示一个选项 而不是varargin puts e g myfunc
  • 在 Matlab 中对列进行排序

    我有 2 列使用 textscan 导入的数据 数据看起来像这样 其中U is undetect and D is detect mydata 51 U 57 D 48 U 47 D my data 4x1 double 4x1 char
  • 在 matlab/octave 中将数据集分成两个子集 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 将数据集分为两个子集 例如 训练 和 测试 其中 训练集包含 80 的数据 测试集包含剩余的 20 分裂的意思是生成一个长度等于的逻辑索引
  • 使用 python 在网络上部署 matlab 应用程序

    您好 我想使用 python 在网络上部署 matlab 应用程序 有没有办法做到这一点 我已按照数学工作网站上的文档将我的应用程序转换为 jar 文件 java 类 有人能指出我前进的正确方向吗 事实上 您的 Matlab 代码打包为 J
  • Microsoft Visual C++ 2008 和 R2007b 的 Mex 类型

    我想对 vs2008 和 matlab2007b 使用 mex 类型 我尝试了下面的代码 include
  • 为什么在 Javascript 中添加两位小数会产生错误的结果? [复制]

    这个问题在这里已经有答案了 可能的重复 JavaScript 的数学有问题吗 https stackoverflow com questions 588004 is javascripts math broken 为什么 JS 搞砸了这个简
  • 使用 java 执行 Matlab 函数

    我正在编写一个应用程序 它使用 matlab 进行图像处理 然后使用 Java 接口显示结果 由于某些原因 我必须同时使用 Java 和 Matlab 如何在java中使用matlab函数 如何创建和访问界面 MATLAB控制 http m
  • 通过 Assets Pipeline 携带 Sass 变量,Rails 3.1 rc1

    我最近将我的 Rails 3 0 项目之一与 3 1 rc1 进行了分支 以尝试新的资产管道 在使用 3 1 之前 我一直在项目中使用 Sass 因此我在单独的配置文件中设置了一些变量和函数 并让所有其他 sass 文件在第一行导入该文件
  • 如何在 Dart 中打印美元符号 $

    我实际上需要在 Dart 中在变量之前打印一个美元符号 例如 void main int dollars 42 print I have dollars I have 42 我希望输出为 我有 42 美元 我怎样才能做到这一点 谢谢 飞镖弦
  • shell 脚本无法将命令行输出保存到变量中

    我正在尝试执行 shell 命令 然后使用 shell 脚本将输出保存到变量中 所以我使用这样的反引号 out ls l print out 该代码工作正常 我可以将它用于任何其他 shell 命令 但是当我尝试执行 python vers
  • 白色像素簇提取

    我正在研究指纹毛孔提取项目 并陷入毛孔 白色像素簇 提取的最后阶段 我有两个输出图像 我们可以从中获取毛孔 但不知道该怎么做 这两个图像的尺寸不同 image1 的尺寸为 240 320 image2 的尺寸为 230 310 这是我的图像
  • 这是 `min` 和 `nanmin` 之间的区别; Matlab 中的“max”和“nanmax”?

    Matlab描述nanmin and nanmax像这样 NANMIN最小值 忽略NaNs NANMAX最大值 忽略NaNs 但实际上 min and max ignore NaNs too 那我应该使用哪个 根据我的测试 nanmin a
  • 在 Matlab 中快速加载大块二进制文件

    我有一些相当大的 int16 格式的数据文件 256 个通道 大约 75 1 亿个样本 每个文件约 40 50 GB 左右 它以平面二进制格式编写 因此结构类似于 CH1S1 CH2S1 CH3S1 CH256S1 CH1S2 CH2S2
  • C语言中变量名是如何存储在内存中的?

    在 C 中 假设你有一个名为variable name 假设它位于0xaaaaaaaa 在该内存地址处 您有整数 123 换句话说 variable name包含 123 个 我正在寻找有关措辞的澄清 variable name位于0xaa
  • 在 Matlab 中显示有理数

    我有两个整数 m n 它们一起形成 m n 形式的有理数 现在我只想以这种理性的形式在 Matlab 中显示它们 我可以通过这样做来做到这一点 char sym m n 所以 如果 例如m 1 n 2 Matlab将显示1 2 然而 如果m
  • OCaml 中的用户定义打印机

    printf fprintf等 全部接受 a转换 手册上说对于 a 用户定义的打印机 采用两个参数 并将第一个参数应用于 outchan 当前输出通道 和第二个参数 因此 第一个参数的类型必须为 out channel gt b gt un

随机推荐

  • 如何在滚动更改事件上获取android滚动视图的第一个可见子项

    我想在每个滚动更改事件上从 android 滚动视图获取第一个可见的子视图 就像 当我们向下滚动时 我们会得到所有即将在屏幕上可见的视图 ID 或引用 如何 我自己得到了它 这是我的代码 在这里 我们需要创建自定义回调监听器 在其 onSc
  • 如何更改列的 CSS - ReactTable

    我在用反应表 https www npmjs com package react table installation在我的应用程序中 我坚持做一件事 即改变CSS of columns当调整列大小时 目前当你resize仅一列cursor
  • Android 5.0(Lollipop)小部件按钮的文本全部大写[重复]

    这个问题在这里已经有答案了 我有一个简单的主屏幕小部件 上面有几个按钮 我的问题是 当小部件在 Lollipop 上运行时 按钮的文本全部大写 任何以前的 Android 版本都没有这个问题 layout xml 中的按钮是非常普通的按钮
  • 在 Swift 中捕获 NSException

    Swift 中的以下代码引发 NSInvalidArgumentException 异常 task NSTask task launchPath SomeWrongPath task launch 我怎样才能捕获异常 据我了解 Swift
  • 为什么此 SQL 存储过程需要创建临时表才能工作(返回结果)?

    IBM Informix 动态服务器版本 11 50 FC6 我正在开发一个小型存储过程 该过程将从表中获取名称字段并将它们解析为最多 8 个字符的 用户名 这是我正在尝试的代码 CREATE PROCEDURE build jics us
  • Android TCP 连接最佳实践

    我正在开发一个需要 TCP 连接到 TCP 服务器的 Android 应用程序 用 Node js 编写 我的 Android TCP 客户端正在工作 可以来回发送消息 我的具体问题是 在 Android 中处理与服务器的 TCP 连接的最
  • 如何在单元格 Swift 2 中删除项目后重新加载表格视图

    我有一个帐户列表TableView 按下按钮后 项目将被删除 到目前为止 一切都很好 删除后如何刷新tableView 请查看下面的屏幕截图以获取更多信息 TableView在另一个ViewController中 要删除的按钮在ViewCo
  • 删除数组中第一级标识符[重复]

    这个问题在这里已经有答案了 我认为这个问题以前已经出现过 但找不到任何答案 如果已经回答 请通过链接为我指出正确的方向 我有一个数组 我不想删除第一级标识符 我想有一个函数可以实现这个功能吗 它是如何的示例 0 gt Array 8 gt
  • 如何从数字列表中获取字符串?

    我有一个 Erlang 符号列表 104 105 106 107 如何从此列表中获取字符串 hijk Erlang 中不存在字符串这种数据类型 Stings 只是字符列表 104 105 106 107 and hijk 是完全等价的 事实
  • Facebook SDK:应用程序未注册为 URL 方案

    我正在使用Facebook SDK found here http components xamarin com view facebookios 并且正在尝试提供的示例 在文件夹中FacebookiOSSample 如果我简单地替换App
  • 如何检查一个类没有参数构造函数

    Object obj new Object try obj getClass getConstructor catch SecurityException e e printStackTrace catch NoSuchMethodExce
  • 重新创建一棵扁平的树

    我有一个地图向量 我想以嵌套方式对其进行转换 数据结构如下 def data id 1 name a parent 0 id 2 name b parent 0 id 3 name c parent 0 id 4 name a 1 pare
  • 如何在 Backbone.js 中加载具有外键关系的子模型?

    抱歉 如果这有点复杂 我仍在学习 Backbone js 加载和保存内部具有子模型的 Backbone 模型的正确方法是什么 我什至应该有子模型吗 例如 请原谅咖啡脚本 如果我有类似的东西 class Address extends Bac
  • 运行为包:不可调试

    我正在尝试从我的 Android 设备 运行 One UI 2 0 的非 root Exynos Galaxy S9 中提取数据库文件 每次打开 Android Studio 3 6 2 gt 设备文件资源管理器时 我都会收到消息 run
  • 如何告诉 Json.NET 忽略第 3 方对象中的属性?

    Json NET 文档说你使用JsonIgnore不要序列化类中的某些属性 public class Account public string FullName get set public string EmailAddress get
  • Azure 应用服务默认超时值是什么以及在哪里?

    是否可以使用门户 Powershell CLI 在 Azure 中查看或更改 Azure 应用服务的默认超时 这是常规设置的参考 我找不到 根据穆贡丹 拉文德兰 https learn microsoft com en us answers
  • 如何使 java.awt.FileDialog 在屏幕上居中

    我一直无法弄清楚这个问题 通常的嫌疑人不起作用 Given FileDialog dlg null dlg new FileDialog owner Select File to Load FileDialog LOAD dlg setFi
  • 将子视图添加到 UITableViewCell

    当我向 UITableViewCell 添加子视图时遇到问题 当表格尺寸低于 iPhone 尺寸时 它可以工作 但是当尺寸更大时 当我滚动时会产生一些可怕的效果 它应该是这样的 Then I think it comes from the
  • NSScrollView 检测滚动位置

    当滚动在底部时如何检测滚动位置 scrollView contentView setPostsBoundsChangedNotifications YES NSNotificationCenter defaultCenter addObse
  • 在 MATLAB 中使用 sprintf 显示变量的小数

    我不明白接下来会发生什么sprintf http www mathworks se help techdoc ref sprintf html命令 gt gt vpa exp 1 53 ans 2 718281828459045534884