MATLAB可视化实战系列(二十八)-贪心算法求快速平方根倒数算法中的“魔术数字”【含matlab源代码】
生活随笔
收集整理的这篇文章主要介绍了
MATLAB可视化实战系列(二十八)-贪心算法求快速平方根倒数算法中的“魔术数字”【含matlab源代码】
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
前言
快速平方根倒数算法(Fast InvSqrt)是一种快速计算平方根的倒数的算法,常用于向量标准化运算,在光照渲染中有重要应用。此算法最早可能是于90年代前期由SGI所发明,后来于1999年在《雷神之锤III竞技场》的源代码中应用。因其中神秘的十六进制“魔术数字”0x5f3759df而出名。本文将使用matlab和c++混合编程,使用贪心算法计算出这个“魔术数字”的值。
以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟!
MATLAB-30天带你从入门到精通
MATLAB深入理解高级教程(附源码)
tableau可视化数据分析高级教程
一、快速平方根倒数算法简介及实现
1.1 算法简介
在计算平方根的倒数时,传统的计算方法是先计算a的平方根sqrt(a),再计算它的倒数1/sqrt(a)。但在计算平方根时使用了牛顿迭代法,大量的浮点运算速度很慢。
而快速平方根倒数算法则将输入的32位浮点数a作为一个整数i,用“魔术数字”0x5f3759df减去i右移一位的值产生近似的估值y,再使用牛顿迭代法迭代一次,就得到了相当精
总结
以上是生活随笔为你收集整理的MATLAB可视化实战系列(二十八)-贪心算法求快速平方根倒数算法中的“魔术数字”【含matlab源代码】的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: R语言应用实战-基于R的因子分析(以上市
- 下一篇: MATLAB应用实战系列(四十五)-ma