问题标签 [sqrt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1643 浏览

c - 在 c 中使用 sqrt() 编译错误

我在 c 中使用 sqrt() 时遇到问题。

我正在尝试做这样的事情:

ETC

我被限制使用:

如何在不使用 -lm 命令的情况下进行编译?

是的,我有 #include !

有什么办法可以解决这个问题并且仍然使用 sqrt()?

谢谢

0 投票
2 回答
1525 浏览

c++ - 优化毕达哥拉斯 SQRT()

经过一些延迟测量测试后,我发现我需要优化在具有相当慢 FPU 的嵌入式 CPU 上完成的毕达哥拉斯三角形计算。

问题是,如果发生这些计算,它们会以数字形式出现,这会打乱时间。我不能减少计算的绝对数量。但不知何故,他们需要变得更快……至少提高 5 倍。:-/

我目前正在考虑对这些计算进行预处理,因为不同值的输入范围以某种方式限制在大约 300-500 个排列,并且两个表条目之间的插值就足够了。但我也想知道是否对问题使用某些条件也可以加快此代码的速度:

这个我还没用过:

  1. 结果d的准确性非常有限,因为需要 3 个小数位
  2. 三角形的边 (h,v) 始终处于 4:3 或 16:9 的纵横比

我不知道平方根是否可以使用一些整数定点计算,或者该函数是否可以替换为精度较低的函数或以某种方式使用纵横比。

有任何想法吗?

谢谢!

0 投票
1 回答
937 浏览

glsl - 当这一行按预期工作时,为什么这条用于计算距离的 GLSL 行会产生不一致的结果?

我正在编写一个着色器,它需要了解点与原点之间的距离。这是我最初的行:

但是这样做会导致顶点在场景的某些区域消失。

用这条线代替这条线来计算曼哈顿而不是欧几里得距离会产生我期望的曼哈顿距离的结果。

为什么第一行可能会产生意想不到的结果?

0 投票
1 回答
4227 浏览

ruby - 如何计算负数的平方根?

我正在尝试使用以下代码从负数的平方根创建一个复数:

但它会产生这个错误:

如何从负数的平方根构建复数?

0 投票
3 回答
3883 浏览

c++ - 正弦和余弦哪个更有效?Sin 和 Cos 还是 Sin 和 Sqrt?

不幸的是,标准 C++ 库没有一个对 sincos 的调用,这为这个问题提供了一个位置。

第一个问题:

如果我想计算一个 sin 和一个 cos,计算一个 sin 和一个 cos 是否更便宜,或者计算一个 sin 然后一个 sqrt(1-sin^2) 来得到 cos?

第二个问题:

intel 数学内核库为标准数学函数计算提供了非常好的函数,因此存在函数 vdSinCos() 以非常优化的方式解决问题,但 intel 编译器不是免费的。linux发行版中是否有任何可用的开源库(C、C++、Fortran)具有那些我可以简单地链接到它们并具有最佳实现的功能?

注意:我不想进行指令调用,因为并非所有 CPU 都支持它们。我想链接到一个通用库,它可以在任何 CPU 上为我完成这项工作。

谢谢。

0 投票
2 回答
1026 浏览

java - Lab 9.3 问题(是的,我发现 9.1 出了什么问题)

我完成了 9.1 和 9.2。现在,我认为答案并不是那么简单。以下是说明:

一组数字的标准偏差是衡量它们值的分布的。它被定义为每个数字与平均值之间的平方差的平均值的平方根。要计算存储在数据中的数字的标准偏差:

计算数字的平均值。

对于每个数字,从平均值中减去它,然后将结果平方。

求步骤 2 中计算的数字的平均值。

求第 3 步结果的平方根。这是标准差。编写代码计算 data 中数字的标准差,并将结果存储在 double sd 中。

要找到非负双精度 d 的平方根,请使用表达式

double s = Math.sqrt( d );

这是我的代码:

我真的不明白我做错了什么。任何建议都会尝试。

0 投票
1 回答
2063 浏览

c++ - C++ 中的五角大楼项目

Soo.. 我正在为我的 c++ 课程编写一个五边形项目,老实说,由于工作和其他课程,我现在做得并不好。所以..我们需要制作一个包含 Pentagon 类和 Menu 类的五边形程序。我管理了工作菜单类,但我不确定如何使用五角大楼类。无论如何,我目前需要的是 - 用平方根制作一个正确的方程。

求五边形面积的公式是:

A = s^2 sqrt ( of 25 + 10 sqrt (5) ) / (over) 4

那么我该怎么做呢?这是我目前在菜单类中的内容:

请帮忙!

0 投票
1 回答
934 浏览

assembly - FSQRT 没有返回正确的值

下面的代码返回值“448070899”而不是 sqrt(4),即 2

它没有返回正确的数字......它返回的数字是 448070899。这是不正确的,正确的应该是 2..因为 4 的平方根是 2。

0 投票
10 回答
131736 浏览

c++ - 不使用 sqrt 函数求平方根?

我在不使用 sqrt 函数的情况下找出求平方根的算法,然后尝试进行编程。我最终在 C++ 中得到了这个工作代码

现在的问题是在声明中初始化迭代次数 nCount(这里是 50)。例如求 36 的平方根需要 22 次迭代,所以没有问题,而求 15625 的平方根需要 50 多次迭代,所以它会在 50 次迭代后返回 temp 的值。请为此提供解决方案。

0 投票
2 回答
443 浏览

c++ - 为什么我的非递归 sqrt 函数是递归的?

我有以下名为 test.cpp 的 C++ 测试程序:

这是一些相当人为的代码,正如您可能已经猜到的那样,我只是在尝试使用 Stroustrup 进行练习。他声明了 double sqrt(double),并希望读者定义它。

我使用 g++ 4.8(来自 Qt 5.1 的 MINGW 版本)编译了上面的代码:

当我运行生成的可执行文件时,Windows 7 显示“test.exe 已停止工作”。

为了看看出了什么问题,我在 GNU 调试器中运行了 test.exe。调试器命令和输出:

从行为和警告中,我推断 std::sqrt 必须从全局命名空间调用 sqrt ——这导致我的函数被重复调用。

通过更改我的 sqrt 函数的名称或将其放在命名空间中,可以很容易地解决不需要的递归。但我想了解为什么 std::sqrt 以调用 ::sqrt 的方式实现。我认为 std 命名空间的全部意义在于防止名称与用户代码中的非限定名称发生冲突。

我查看了<cmath> 的 GNU 实现的源代码。但是,在链中跟踪了几个#include 之后,我失去了踪迹。也许你可以更清楚地理解它:

顺便说一句,这不仅仅是一个 GNU 难题。使用 Visual C++ 编译器而不是 g++ 编译会产生以下警告:

我想这使得在 StackOverflow 上提出这个问题是一个公平的问题。:)

运行生成的可执行文件会导致预期的结果:“test.exe 已停止工作”。