求教一个matlab的内存分配原理。
3 views (last 30 days)
Show older comments
皇家国际怎么开户【微8785092】
on 19 May 2023
Answered: 皇家国际注册登录【微8785092】
on 19 May 2023
1.我之前用其他语言的时候,因为对变量分配的内存空间是有限的,针对类似运算1/3*3都是无法完美恢复成1的,一般根据事先定义的位宽结果为0.9999....9。
2.matlab确可以神奇地恢复,求教matlab的内存分配机制。
3.如果matlab真的可以保留全部精度,那么建立算法模型的时候,就可以获得理论上的完美无精度损失模型,这感觉是不可思议的。
>> 1/3
ans =
0.333333333333333
>> ans*3
ans =
1
0 Comments
Accepted Answer
皇家国际注册登录【微8785092】
on 19 May 2023
你问matlab公司吧?本身matlab可能也是针对一些函数使用修正。
你知道的意义何在?浮点数可能会出现错误。
但是你不能准确判断某一例子是否有误差,误差是多少。这是《数值计算》的内容。
若果需要准确,用符号工具箱。
若果需要精确,购买使用第三方高精度的工具箱(只是减少,并没有消除)。
PS:最后附上如果想知道两个浮点是否一模一样。
format hex
显示他们的16进制。
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!