에 대한 자바 스크립트에서 복잡한 숫자의 복잡한 힘의 계산을 최적화 :나는 복잡한 숫자의 복잡한 힘을 계산이 코드를 가지고 정확성
var ss = a.re*a.re + a.im*a.im;
var arg1 = math.arg(a);
var mag = Math.pow(ss,b.re/2) * Math.exp(-b.im*arg1);
var arg = b.re*arg1 + (b.im * Math.log(ss))/2;
return math.complex(mag*Math.cos(arg), mag*Math.sin(arg));
(복소수의 모습 {재 : 1, 메신저 : 1} , math.arg는 Math.atan2 (n.im.n.re)를 제공합니다. math.complex는 복소수의 생성자입니다.
특별히 복잡하지는 않습니다. 효율/정확도 분석.
특히 복소수의 정수 배수에 대한 더 나은 결과를 얻으려면 바이너리 확장을 통해 훨씬 더 정확하게 수행 할 수 있습니다. 누구든지 이미 내 서부를 만들기 전에 자바 스크립트에 으로 쓰여진 내용이 있습니까? 나는 속도에 대해 크게 걱정하지 않는다. 정확성에 대해서도 더 그렇다.
당신은 무엇을 의미합니까? '(1 + i)^5'는'1^5 + i^5'와 같지 않습니다. –
@ChristianPerfect : 오, 죄송합니다. 나는 "스피드와 정확도에 대해 크게 걱정하지 않는다"고 말한 것을 보지 못했습니다. 효율성/정확성 분석에 대한 귀하의 의견 때문에 당신이 효율성에 대해 걱정한다고 암시한다고 가정했습니다. 내 대답을 편집 할 것입니다 ... – ninjagecko
이것은 브라우저 기반 수학 평가 시스템의 일환으로 일반 수학 패키지 용이므로 특히 큰 숫자를 사용하지 않을 것으로 예상됩니다. 나는 정수 계수가 어디에서나 가장 보편적으로 사용될 것이라고 생각한다. 이것도 문제가되었던 이유는 (1 + i)^5가 logs-and-trig 방법을 사용하여 {re : -4.0000000001, im : -4}으로 평가 되었기 때문에 매우 귀찮습니다. –