m****a 发帖数: 684 | 1 acos只有在c11里才实现了,我想用这个函数,又不方便装c11,从哪里能下载到这个函
数的源码啊?
想找complex.h, 没有找到
http://www.cplusplus.com/reference/complex/acos/ |
d****i 发帖数: 4809 | 2 自己实现一个呗,又不难
【在 m****a 的大作中提到】 : acos只有在c11里才实现了,我想用这个函数,又不方便装c11,从哪里能下载到这个函 : 数的源码啊? : 想找complex.h, 没有找到 : http://www.cplusplus.com/reference/complex/acos/
|
m****a 发帖数: 684 | 3 能扔个简单的公式过来吗?
大学学的那点复数知识忘光了。。。 |
m****0 发帖数: 837 | 4 这跟复数有什么关系? 难道不是泰勒展开求? 看来马工确实好当啊
【在 m****a 的大作中提到】 : 能扔个简单的公式过来吗? : 大学学的那点复数知识忘光了。。。
|
d****i 发帖数: 4809 | 5 一个简单的实现如下,注意返回的角度是个在[0, 2*Pi)之间的实数:
#include
#include
#define PI 3.1415926
using namespace std;
template
struct complex {
T re, im;
complex(T real, T imag) : re(real), im(imag) {}
};
template
double acos(const complex& x)
{
T real = x.re;
T imag = x.im;
double alpha_full;
double alpha;
alpha = acos(real / sqrt(real*real + imag*imag)); //This calls C acos()
function.
if(imag >= 0) {
alpha_full = alpha;
} else {
alpha_full = 2*PI-alpha;
}
return alpha_full;
}
int main(int argc, char* argv[])
{
complex num(1.0, -1.0);
double angle = acos(num);
cout<
}
【在 m****a 的大作中提到】 : 能扔个简单的公式过来吗? : 大学学的那点复数知识忘光了。。。
|
m****a 发帖数: 684 | 6 acos只有在c11里才实现了,我想用这个函数,又不方便装c11,从哪里能下载到这个函
数的源码啊?
想找complex.h, 没有找到
http://www.cplusplus.com/reference/complex/acos/ |
d****i 发帖数: 4809 | 7 自己实现一个呗,又不难
【在 m****a 的大作中提到】 : acos只有在c11里才实现了,我想用这个函数,又不方便装c11,从哪里能下载到这个函 : 数的源码啊? : 想找complex.h, 没有找到 : http://www.cplusplus.com/reference/complex/acos/
|
m****a 发帖数: 684 | 8 能扔个简单的公式过来吗?
大学学的那点复数知识忘光了。。。 |
m****0 发帖数: 837 | 9 这跟复数有什么关系? 难道不是泰勒展开求? 看来马工确实好当啊
【在 m****a 的大作中提到】 : 能扔个简单的公式过来吗? : 大学学的那点复数知识忘光了。。。
|
d****i 发帖数: 4809 | 10 一个简单的实现如下,注意返回的角度是个在[0, 2*Pi)之间的实数:
#include
#include
#define PI 3.1415926
using namespace std;
template
struct complex {
T re, im;
complex(T real, T imag) : re(real), im(imag) {}
};
template
double acos(const complex& x)
{
T real = x.re;
T imag = x.im;
double alpha_full;
double alpha;
alpha = acos(real / sqrt(real*real + imag*imag)); //This calls C acos()
function.
if(imag >= 0) {
alpha_full = alpha;
} else {
alpha_full = 2*PI-alpha;
}
return alpha_full;
}
int main(int argc, char* argv[])
{
complex num(1.0, -1.0);
double angle = acos(num);
cout<
}
【在 m****a 的大作中提到】 : 能扔个简单的公式过来吗? : 大学学的那点复数知识忘光了。。。
|
k****5 发帖数: 546 | 11 libc++ , or libstdc++
【在 m****a 的大作中提到】 : acos只有在c11里才实现了,我想用这个函数,又不方便装c11,从哪里能下载到这个函 : 数的源码啊? : 想找complex.h, 没有找到 : http://www.cplusplus.com/reference/complex/acos/
|