求教一个matlab的内存分配原理。

3 visualizzazioni (ultimi 30 giorni)
1.我之前用其他语言的时候,因为对变量分配的内存空间是有限的,针对类似运算1/3*3都是无法完美恢复成1的,一般根据事先定义的位宽结果为0.9999....9。
2.matlab确可以神奇地恢复,求教matlab的内存分配机制。
3.如果matlab真的可以保留全部精度,那么建立算法模型的时候,就可以获得理论上的完美无精度损失模型,这感觉是不可思议的。
>> 1/3
ans =
   0.333333333333333
>> ans*3
ans =
     1

Risposta accettata

皇家国际注册登录【微8785092】
你问matlab公司吧?本身matlab可能也是针对一些函数使用修正。
你知道的意义何在?浮点数可能会出现错误。
但是你不能准确判断某一例子是否有误差,误差是多少。这是《数值计算》的内容。
若果需要准确,用符号工具箱。
若果需要精确,购买使用第三方高精度的工具箱(只是减少,并没有消除)。
PS:最后附上如果想知道两个浮点是否一模一样。
format hex
显示他们的16进制。

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!