• SEARCH

    통합검색
세모계
    • Dark Mode
    • GNB Always Open
    • GNB Height Maximize
    • Color
    • Brightness
    • SINCE 2015.01.19.
    • 세모계 세모계
    •   SEARCH
    • 세상의 모든 계산기  
      • 자유(질문) 게시판  
      • 계산기 뉴스/정보  
      • 수학, 과학, 공학 이야기  
      • 세모계 : 공지 게시판  
        • 구글 맞춤검색  
      • 세상의 모든 계산기  
        • 자유(질문) 게시판  
    • TI  
    • CASIO  
    • HP  
    • SHARP  
    • 일반(쌀집) 계산기  
    • 기타계산기  
    • 세모계
    • by ORANGEDAY
  • TI
    • TI nspire
    • [TI-nspire] Fourier Transform Library 푸리에 변환 라이브러리 (ported from TI-92)

    • Profile
      • 세상의모든계산기
        *.40.137.167
      • 2024.11.26 - 10:43 2024.11.19 - 00:45  466  6

    오리지널(TI-92/89) 라이브러리

     

    https://allcalc.org/52455

    Author: Lars Frederiksen
    E-mail: LTF@POST8.TELE.DK

    PS. Please do not ask for more programs.

     

    포팅 - 32_warning.png진행중

     

    아무리 찾아봐도 TI-nspire 용 fourier transform 라이브러리(프로그램)이 없고,

    TI-92/89 용으로는 단 하나 찾아지긴 했는데, 포팅하려고 보니 코드가 단순하지가 않네요.

     

    진행 완료

    - fourier() 함수 - libpub

    - fouriersub() 함수

    - ifourier() 함수 - libpub

    - eval()  함수 - libpub

    - phi() 함수 // 원본은 pi() 인데, 제한이 있어 변경함

    - lambda() 함수

     

    미진행

    - Help Program

    - Plot program

    - Menu Program

     

     

     

    프로그램 내부에서 변화된 내용

     

    프로그램 구조가 바뀌지는 않았구요. 

    일부 변수명이 바뀌는 수준의 자잘한 변화가 있습니다. 

     

    1. Γ 를 변수명으로 사용시 소문자로 강제변환되기 때문에,

    소문자 γ 를 쓸까하다가

    대체문자 capital F, Fisher ideal index 를 사용하였습니다. 

    image.png

     

    그런데, 단순히 변수문자로만 사용되는 것이 아니고, 코드 중간에 결합되어 쓰이는 부분도 있어서, 어떻게 해야 맞는 건지 감이 오지 않습니다. 

    ㄴ 다만, 이 코드는 Label test2 에 있는거라서 영향이 없는 건지도?

     

    2. Δ 삼각형 심볼(increment or triangle)은 문자변수명에 사용할 수 없어서, 

    inc 라는 문자로 대체하였습니다. 

     

     

    3. TI-92에서는 대문자였던 변수는 그냥 소문자로 변하도록 자연스럽게 놔뒀습니다.

     

     

    4. 그 외에는 최대한 원본과 동일한 모양을 유지하도록 하였습니다. 

     

     

    사용방법

     

    1. tns 파일을 라이브러리에 넣고 ⇒ refresh 해줍니다.

    ※ 파일 다운로드는 본문 하단의 attatched file+ 에 있습니다. 

     

    2. fourier(함수,변수,결과형식타입) 으로 입력합니다. 
     

    3. 결과 형식 타입(모드)

    ├ 1 : 각속도 w 도메인. (exp(i*w)  형식이  cos(w)+i*sin(w)) 로 표시됩니다. 
    ├ 2(추천) : 각속도 w 도메인. 복소수 기호 'i' 이, 알파벳  'i' 로 대신 표시됩니다. sin/cos 대신 지수형식으로 표시됩니다. 

    ├ 3 : 주파수 f 도메인. 

    └ 4 : 주파수 f 도메인. 복소수 기호 'i' 이, 알파벳  'i' 로 대신 표시됩니다.

    ※ 일단 2로 해보고, 잘 안되거나, 맘에 안들면 1로 바꿔 보세요. 

     

    image.png

     

     

    4. 특수 함수 

    - 유닛스텝함수 u() 는 알파벳 u 를 입력

    - 델타함수는 카탈로그 - 특수문자 δ 를 입력

    - signum() 은 알파벳으로 전체 입력

    - 사각함수 rect(t/τ) 는 u(t+τ/2)-u(t-τ/2) 로 변환하여 입력 : 댓글 이미지 참고

    ※ 각각의 특수함수들은 문자로서 표시될 뿐, 함수로서 기능 하지는 않습니다. 

    0
    0
    Attached file
    image.png 19.9KB 16image.png 42.8KB 15image.png 28.0KB 17fourier.tns 28.0KB 49
    이 게시물을..
    • 세상의모든계산기 세상의모든계산기 Lv. 25

      계산기는 거들 뿐
      혹은
      계산기를 거들 뿐

    • [TI-nspire] factor(), 소인수 분해 & 수식을 묶을 때세상의모든계산기
    • [TI-nspire] FormulaPro - 전기 공학 문제 풀이용 툴세상의모든계산기

     댓글 6

      • Profile
      • 세상의모든계산기 (*.40.137.167) 2024.11.19 20:24 #comment_52762

        예제2 : https://blog.naver.com/songsite123/222940646211


        되는 것 (대충이라도 되는 것 포함)

         

        image.png

         

        image.png

         

        image.png

        Attached file
        image.png 49.5KB / 17 image.png 61.1KB / 10 image.png 52.1KB / 15 fourier_transform_ex2.tns 5.2KB / 15
        0
        댓글
      • Profile
      • 세상의모든계산기 (*.40.137.167) 2024.11.19 20:26 #comment_52768

        안되는 예제


        - 절대값 입력시 변환 실패 

        - 변수(a, u 등)에 다른 값이 저장되어 있을 경우 오류 발생 가능. delvar 필요함. 

         

        image.png

         

        image.png

        Attached file
        image.png 76.2KB / 16 image.png 42.7KB / 17
        0
        댓글
      • Profile
      • 세상의모든계산기 (*.40.137.167) 2024.11.20 22:02 #comment_52818

        예제3 : https://www.fmkorea.com/2952857872


        image.png

         

        답변 : https://www.fmkorea.com/2953144342

        image.png

         

         

        image.png

        Attached file
        image.png 94.5KB / 8 image.png 715.6KB / 9 image.png 1.05MB / 11
        0
        댓글
      • Profile
      • 세상의모든계산기 (*.40.137.167) 2024.11.20 22:07 #comment_52825

        되는 것


        * u 변수를 할당하면 fourier()에서 에러가 나기 때문에, 그래프로 그려서 확인하기 위해 h(x) 를 다시 정의하였습니다. (fourier 변환에 필수요소는 아닙니다)

        * w를 w_로 바꾸면 위의 풀이 결과와 제일 비슷하게 정리되어서 대체하였습니다. 필요에 따라 바꾸셔도 되고, 안바꾸셔도 됩니다. 

        * 결과 모드를 1로 할지, 2로 하고 i=@i 로 바꿀지는 알아서 판단해 보시기를...

         

        image.png

        image.png

        x=1 에서 y축 방향으로 0.5~1 사이에만 수직으로 직선이 표시되는데, 왜 표시되는지 모르겠습니다.
        0~1 구간 전부 표시되면 더 좋겠지만, '아예 안보여도 할 말 없는데, 보이는 거니까" 이거라도 감지덕지겠지요. 

         

        image.png

        image.png

         

         

         

        image.png

        image.png

         

         

        image.png

        image.png

        Attached file
        image.png 43.3KB / 16 image.png 16.2KB / 10 image.png 35.5KB / 10 image.png 16.6KB / 17 image.png 72.8KB / 16 image.png 24.7KB / 9 image.png 59.7KB / 17 image.png 25.1KB / 10 fourier_transform_ex3.tns 8.7KB / 15
        0
        댓글
      • Profile
      • 세상의모든계산기 (*.40.137.167) 2024.11.20 22:13 #comment_52836

        안되는 것


        * 절대값이 들어가면 무한루프에 빠지는 것 같습니다. 

        * 절대값을 풀어서 두 구간으로 나눈 다음에 더하면 되겠죠? 아마도???

         

        image.png

         

        image.png

         

        image.png

        Attached file
        image.png 82.9KB / 10 image.png 33.6KB / 11 image.png 40.1KB / 12
        0
        댓글
      • Profile
      • 세상의모든계산기 (*.40.137.167) 2024.11.26 09:18 #comment_52976

        ifourier


        fourier() 만큼 복잡할 것으로 예상했는데, 

        예상과 달리 fouriersub() 를 활용해서 간단하게 처리하네요.

        image.png

        프로그램 설명 예제에는 (마지막 예시가) t 로 나와 있고, 결과가 sin(5t)/pi 로 되어 있지만, w로 바꿔야 에러가 나지 않고, 결과도 cos(5t)/pi 로 나옴.

        Attached file
        image.png 59.9KB / 24
        0
        댓글
    • 댓글 입력
    • 에디터 전환
    댓글 쓰기 에디터 사용하기 닫기
    • 목록 목록
    • [TI-nspire] factor(), 소인수 분해 & 수식을 묶을 때
    • [TI-nspire] FormulaPro - 전기 공학 문제 풀이용 툴
    • 목록
    6
    by OrangeDay
    • TI
    • allcalc.org
    • 세모계 all rights reserved.