gpt4 book ai didi

matlab - 强制 MATLAB 使用 `single` 精度作为默认值?

转载 作者:行者123 更新时间:2023-12-02 11:31:51 25 4
gpt4 key购买 nike

有没有办法强制 MATLAB 使用精度作为默认精度?

我有一个 MATLAB 代码,我需要将其输出与 C 代码输出进行比较,而 C 代码专门使用 floats 编写,不允许使用 double

最佳答案

简短回答:你不能。

更长的答案:在大多数情况下,您可以通过将初始变量设置为 single 来解决这个问题。一旦完成,该类型将(几乎总是)通过您的代码向下传播。 (参见 MathWorks 上的 thisthis 线程)。

例如,如果您执行以下操作:

>> x = single(magic(4));
>> y = double(6);
>> x * y

ans =

4×4 single matrix

96 12 18 78
30 66 60 48
54 42 36 72
24 84 90 6

MATLAB 将答案保持在较低的精度。我偶尔会遇到内置函数和来自 FileExchange 的函数,它们会将输出重新转换为 double 值,因此您需要偶尔添加 assert 语句,以便在初始调试期间保持诚实。 (或者最好将断言作为您编写的用于检查关键输入的任何子函数的第一行),但这应该可以让您完成 99% 的任务。

关于matlab - 强制 MATLAB 使用 `single` 精度作为默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40932699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com