c语言求平方根根

查看: 5939|回复: 3|关注: 0
求矩阵的平方根,请教
本人在遇到一个小问题,望各位指教。两个矩阵
&&1.&&1.&&1.
&&1.&&7. -5.
&&1.&&2. -2.
&&1. -8. -2.
&&1. -1.&&7.
&&8.& && && && &0& && && && &0& && && && &0& && && && &0
& && && && &0&&8.& && && && &0& && && && &0& && && && &0
& && && && &0& && && && &0&&8.& && && && &0& && && && &0
& && && && &0& && && && &0& && && && &0&&8.& && && && &0
& && && && &0& && && && &0& && && && &0& && && && &0&&8.
cc=aa'*bb*aa
再对cc求平方根,怎么sqrt(cc)和cc^0.5的运算结果不一样?
sqrt() 对应 .^.5
^.5 对应 sqrtm()
详细参考:
回复 2# xaero 的帖子
哦,看过了
解释得很清楚啊
站长推荐 /1
Powered by求平方根近似值的一种方法
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
求平方根近似值的一种方法
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口若m=是a+2的算术平方根,n=2
是4+a2的立方根,求m+n的平方根.
根据算术平方根与立方根的定义,利用根指数列出等式求出a、b的值,然后代入进行计算求出m+n的值,再根据平方根的定义即可求解.
解:根据题意得,a+b=2,2a-1=3,
解得a=2,b=0,
∴m+n=2+2=4,
∵(±2)2=4,
∴m+n的平方根是:±2.
故答案为:±2.4564人阅读
自己软件开源代码(20)
自己的工具(35)
&&在3D图形编程中,经常要求平方根或平方根的倒数,例如:求向量的长度或将向量归一化。C数学函数库中的sqrt具有理想的精度,但对于3D游戏程式来说速度太慢。我们希望能够在保证足够的精度的同时,进一步提高速度。&
Carmack在QUAKE3中使用了下面的算法,它第一次在公众场合出现的时候,几乎震住了所有的人。据说该算法其实并不是Carmack发明的,它真正的作者是Nvidia的Gary Tarolli(未经证实)。&
// 计算参数x的平方根的倒数
float InvSqrt (float x)
float xhalf = 0.5f*x;
int i = *(int*)&x;
i = 0x5f3759df - (i && 1); // 计算第一个近似根
x = *(float*)&i;
x = x*(1.5f - xhalf*x*x); // 牛顿迭代法
下面给出对应C#
unsafe版本
/// &summary&
Carmack在QUAKE3中使用的计算平方根的函数
在3D图形编程中,经常要求平方根或平方根的倒数,例如:求向量的长度或将向量归一化。C数学函数库中的sqrt具有理想的精度,但对于3D游戏程式来说速度太慢。我们希望能够在保证足够的精度的同时,进一步提高速度。
/// Carmack在QUAKE3中使用了下面的算法,它第一次在公众场合出现的时候,几乎震住了所有的人。据说该算法其实并不是Carmack发明的,它真正的作者是Nvidia的Gary Tarolli(未经证实)。
计算参数x的平方根的倒数
/// float InvSqrt (float x)
/// float xhalf = 0.5f*x;
/// int i = *(int*)&x;
/// i = 0x5f3759df - (i && 1); ///
计算第一个近似根
/// x = *(float*)&i;
/// x = x*(1.5f - xhalf*x*x); ///
牛顿迭代法
/// /reviews/review.html.
/// /content/articles/8/
/// &/remarks&
public static float InverseSqrtFast(float x)
//return OpenGLTK.MathInverseSqrtFast.InverseSqrtFast(x);
float xhalf = 0.5f *
int i = *(int*)&x;
// Read bits as integer.
i = 0x5f375a86 - (i && 1);
// Make an initial guess for Newton-Raphson approximation
x = *(float*)&i;
// Convert bits back to float
x = x * (1.5f - xhalf * x * x); // Perform left single Newton-Raphson step.
不带unsafe版本
Carmack在QUAKE3中使用的计算平方根的函数
在3D图形编程中,经常要求平方根或平方根的倒数,例如:求向量的长度或将向量归一化。C数学函数库中的sqrt具有理想的精度,但对于3D游戏程式来说速度太慢。我们希望能够在保证足够的精度的同时,进一步提高速度。
/// Carmack在QUAKE3中使用了下面的算法,它第一次在公众场合出现的时候,几乎震住了所有的人。据说该算法其实并不是Carmack发明的,它真正的作者是Nvidia的Gary Tarolli(未经证实)。
计算参数x的平方根的倒数
/// float InvSqrt (float x)
/// float xhalf = 0.5f*x;
/// int i = *(int*)&x;
/// i = 0x5f3759df - (i && 1); ///
计算第一个近似根
/// x = *(float*)&i;
/// x = x*(1.5f - xhalf*x*x); ///
牛顿迭代法
///C# 版 by 大师♂罗莊
public static float InverseSqrtFast(float x)
//这个算法依赖于浮点数的内部表示和字节顺序,所以是不具移植性的。如果放到Mac上跑就会挂掉。如果想具备可移植性,还是乖乖用sqrt好了。
float xhalf = 0.5f *
int i = 0x5f375a86 - (floatToIntBits(x) && 1); //MagicNumber:0x5f3759df,0x5f375a86
x = intBitsToFloat(i);
x = x * (1.5f - xhalf * x * x); //Newton-Raphson Method based on Taylor Series
/// &summary&
Float.intBitsToFloat C#版
/// &/summary&
/// &param name=&i&&&/param&
/// &returns&&/returns&
private static float intBitsToFloat(int i)
byte[] bytes = BitConverter.GetBytes(i);
float f = BitConverter.ToSingle(bytes, 0);
public static int changingendianness(float x)
byte[] bytes = BitConverter.GetBytes(x);
Array.Reverse(bytes);
return BitConverter.ToInt32(bytes, 0);
private static int floatToIntBits(float x)
byte[] bytes = BitConverter.GetBytes(x);
int i = BitConverter.ToInt32(bytes, 0);
请自行搜索《John Carmark 神奇魔数开方的Java实现&》
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:7119396次
积分:62032
积分:62032
排名:第18名
原创:1007篇
转载:55篇
译文:11篇
评论:3752条
反正我没用,所以就光棍。
有人来求本人微博: /u/
(1)(2)(2)(4)(4)(3)(3)(15)(2)(1)(1)(4)(4)(1)(6)(2)(1)(7)(7)(12)(9)(9)(12)(6)(3)(3)(10)(24)(5)(5)(5)(2)(10)(11)(9)(14)(9)(3)(6)(15)(4)(3)(4)(1)(4)(15)(17)(13)(3)(6)(3)(11)(4)(6)(8)(5)(6)(7)(11)(2)(9)(12)(9)(8)(7)(5)(6)(5)(10)(9)(8)(20)(20)(35)(38)(31)(22)(14)(14)(38)(10)(93)(149)(38)(16)(23)(9)(1)(2)(2)(26)(5)}

我要回帖

更多关于 求平方根算法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信