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的因子分析(以上市
- 下一篇: R语言应用实战-基于R浅谈SEIR传染病