问题标签 [cmath]

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 投票
2 回答
300 浏览

c++ - 理解 C++ 中的浮点变量和运算符(也可能是书本错误)

我正在学习一个开始的 C++ 类,而我的书(Starting Out with C++ Early Objects 7th edition)有一个非常糟糕的例子来说明如何检查浮点变量的值。

有问题的书籍示例(文件名 pr4-04.cpp):

我在 Ubuntu 中使用 g++ 来编译我的代码,如下所示:

我得到这个错误:

我可以通过将 abs() 更改为 fabs() 来解决这个问题,但这仍然非常令人困惑!为什么这本书给了我们无法编译的东西,或者这只是我?为什么“结果”的 cout 给出 4 而不是 4.000002?为什么这个值在 if{} 语句中使用时似乎会发生变化?

我知道我们不能只使用 == 来检查等价,但是为什么我需要使用绝对值呢?无论我是否使用它,我都会得到相同的答案。那么有什么意义呢?

更不用说,这似乎是检查浮点等价的一种非常糟糕的方法。有一个更好的方法吗?这个话题似乎非常重要

我在stackoverflow上找到了这个主题,但是他们的解决方案:

就我的 4 章 C++ 经验而言,这对我来说没有多大意义。我将不胜感激一些帮助。我们的书给了我多达 6 句话来解释这一切。

编辑:根据一些人的建议,我试图找到一个勘误页面,但是在搜索教科书、互联网和我的课程网站 30 分钟后,我只能找到这个需要登录的可下载 zip 文件-_-

我也完美地复制了代码。那不是的错字,我直接从带有代码的 CD 上复制了它。书中也是这样打的。

0 投票
1 回答
308 浏览

python - 是否有与 Python 的 cmath.rect 等效的 Matlab?

是否有一个与 Pythons 等效的 Matlab ,它返回带有极坐标cmath.rect(r, phi)的复数,而无需求助于xrphi

?

0 投票
1 回答
1892 浏览

c++ - 为什么我从 cmath.h 中得到数百个语法错误?

我正在使用 OpenGL 在 C++ 中做一个项目,并且不断受到来自 cmath.h 的数百个语法错误的影响。主要的难题是我什至根本没有提到或包括 cmath。我在一两件事上使用了 math.h,但在我进行最近的更改之前,该代码运行良好。回到以前工作的代码现在显示相同的错误,所以我有点难过从哪里开始寻找。

我是否遗漏了一些非常明显的东西,或者这可能是 Visual Studio 10 的问题?

0 投票
3 回答
3172 浏览

c++ - 无法弄清楚如何总是从较大的数字中减去较小的数字

我有整个程序,除了它总是从较大的数字中减去较小的数字的部分。我一直试图找到它,但我找不到任何可以帮助我的东西。这是我唯一需要帮助的部分。

这是代码。

0 投票
3 回答
3970 浏览

c++ - 无法使用 square() 函数 c++

我是 C++ 新手,我正在使用 Bjarne Stroustrup 的《Programming Principles and Practice Using C++》一书(我将在未来的学校课程中使用这本书)。本书中的代码示例使用了std_lib_facilities.h。在某些时候,这本书会调用 function square(),但是当我这样做时,会出现以下错误:

另一方面,我可以使用该sqrt()功能...我确实包含std_lib_facilities.h,而那个包含cmath,所以我认为这不是问题吗?

我应该怎么做才能使用该square()功能?

0 投票
1 回答
2443 浏览

c++ - GCC C++ pow 精度

所以我参加了一场计算比赛,我注意到了一个奇怪的错误。pow(26,2) 总是返回 675,有时返回 674?即使正确答案是 676。这类错误也会发生在 pow(26,3)、pow(26,4) 等上。经过比赛后的一些调试,我相信答案与 int 向下舍入的事实有关。有趣的是,我以前从未发生过这种错误。我的计算机在 Windows 8 上运行 mingw。GCC 版本相当新,我相信 2-3 个月大。但我发现,如果我将 o1/o2/o3 优化标志打开,这些错误会奇迹般地消失。pow(26,2) 总是会得到 676 又名正确答案 谁能解释为什么?

双打的结果很奇怪。

0 投票
1 回答
5942 浏览

python - python scipy leastsq 适合复数

我有一个复数数据集,我希望能够找到最适合数据的参数。你能用 Python 中的 scipy 实现的 minimumsq 来拟合复数中的数据吗?

例如,我的代码是这样的:

但是,residuals不喜欢使用我的复数,我收到错误:

我猜我只需要使用浮点数/双精度数而不是复数。在这种情况下,我如何分别评估真实和复杂的部分,然后将它们重新组合成一个单一的错误度量residuals以返回?

0 投票
1 回答
543 浏览

c++ - std::cbrt 的舍入错误?

我想知道是否应该将以下内容报告为标准库的 gcc 实现中的错误。

对于所有无符号整数i,如果我们与整数int(std::sqrt(i))的实际平方根进行比较,转换总是会给出好的结果。如果我们对它做同样的std::cbrt事情,情况并非如此:

您认为应该将其报告为缺陷吗?

0 投票
2 回答
8552 浏览

visual-c++ - MSVC 上的 std::isfinite

C++11 和 C11 标准定义了 std::isfinite 函数。Visual Studio 2012 似乎没有将其作为 cmathor的一部分提供, math.h似乎提供了此功能amp_math.h

isfinite可以互换吗std::isfinite?该文档没有讨论调用时的行为,NAN 并且我没有 VS 编译器来测试它。

0 投票
1 回答
213 浏览

c++ - 为什么 cmath 不使用模板和/或重载

TR1 在 C++11 中引入的许多新函数都有丑陋的类似 C 的签名。例如,引用 Boost 的 TR1 文档(http://www.boost.org/doc/libs/1_52_0/doc/html/boost_tr1/subject_list.html#boost_tr1.subject_list.special):

显然,人们会更喜欢一些模板化的实现(这实际上是 Boost 中这些函数的“本机”签名),或者至少是一些重载而不是几个标识符。

我可以理解,以 C 兼容性为目标意味着支持这些标识符,但这对于纯 C++ 使用者来说是一件麻烦事。除了<cmath>,可能还有一些<math>,具有更自然的界面。

我错过了什么(可能除了一些以前提出的问题)?