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

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

採用された回答

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!