이뭐병

이거야 원…피해망상이라도 걸릴 것 같은 일이 일어났다.

지난주까지, gcc에 math.h에서 연결해서 쓰던 atan



[각주:

1

]



하고 log



[각주:

2

]



함수들이, 갑자기 정신을 잃고 나한테 헛소리를 한다. nan



[각주:

3

]



이라든가, inf



[각주:

4

]



라든가.

그럼 대체 지지난주까지 잘 작동했던 그 함수는 어디갔는데…

결국 나만 교수님한테 개갈굼 받게 생겼네. “넌 정신이 있는거니?”

내가 지금까지 환상을 봤나? Maple 결과랑 잘 맞춰봤었는데…

미치겠다. 젠장.

추가

square root, cubic root, log, arc tan, arc cos함수를 전부 새로 코딩했다. 미쳤지. 애초에 시작하는게 아니었는데 -_-;

그러나 결과에는 별다른 영향이 없다는 거.

산수공부는 많이 하게 되었다. C언어에서 연산자 여러개 겹쳐쓰면 빡(=nan)난다는 것도 알았고

추가2

전에는 나눗셈 때문에 골치아팠는데.

Maple은 왜 지맘대로 3차방정식 근의 순서를 바꾸는 것일까.

아무튼, 내 코드에서 3차방정식도 제대로 풀리는 것으로 보인다.

추가3

문제의 원인은 놀랍게도 #include를 빼먹어서였다. 왜? 왜 빠져 있었지??

그러나 atan이 가진 부호 문제때문에 그냥 내가 직접 작성한 함수를 쓰기로 했다. log는 math.h에 있는걸로 쓴다. 제곱근은 괜찮은데, 세제곱근에 문제가 있어서, 세제곱근도 직접 작성했다. 에휴. 삽질.

추가4

atan의 부호 문제를 해결한 함수가 atan2더라. 역시 난감하다 -_-;

아무튼, 그럭저럭 괜찮은 결과가 나왔으니, 이제 오늘만 밤새면 된다. 결국 직접 만든 함수 쓰는건 세제곱근 뿐.

  1. arc tangent, 탄젠트의 역함수

    [본문으로]
  2. 지수함수의 역함수

    [본문으로]
  3. Not A Number. “이건 숫자가 아닌겨”

    [본문으로]
  4. infinity. “이건 숫자가 아닌것도 아닌겨”

    [본문으로]

코멘트

“이뭐병”에 대한 4개 응답

  1. 
                  snowall
                  아바타

    계산기는 틀리지는 않잖아요 ㅜ_ㅜ

  2. 
                 goldenbug
                 아바타

    대학교 1학년때 처음 계산기 구입한 다음에…. 계산기 내의 프로그램 방식을 사용해서 일반적 방정식의 해를 구하는 프로그램을 하던 생각이 나네요. ㅎㅎㅎㅎ

  3. 
                  snowall
                  아바타

    수학적 사고방식은 누구나 할 수 있습니다. 단지 그걸 “수학”이라는 학문적 틀 안에서 잘 하는 사람이 “수학을 잘하는” 사람인 것이죠.

  4. 
                 beatshon
                 아바타

    전 개인적으로 수학잘하는 사람들이 젤로 부럽습니다. 학교 다닐때부터,,,^^

댓글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.