- TI nspire
[TI-nspire] Fourier Transform Library 푸리에 변환 라이브러리 (ported from TI-92)
오리지널(TI-92/89) 라이브러리
https://allcalc.org/52455
Author: Lars Frederiksen
E-mail: LTF@POST8.TELE.DKPS. Please do not ask for more programs.
포팅 -
하다가 종료!
아무리 찾아봐도 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 를 사용하였습니다.

그런데, 단순히 변수문자로만 사용되는 것이 아니고, 코드 중간에 결합되어 쓰이는 부분도 있어서, 어떻게 해야 맞는 건지 감이 오지 않습니다.
ㄴ 다만, 이 코드는 Label test2 에 있는거라서 영향이 없는 건지도?
2. Δ 삼각형 심볼(increment or triangle)은 문자변수명에 사용할 수 없어서,
inc 라는 문자로 대체하였습니다.
3. TI-92에서는 대문자였던 변수는 그냥 소문자로 변하도록 자연스럽게 놔뒀습니다.
4. 그 외에는 최대한 원본과 동일한 모양을 유지하도록 하였습니다.
사용방법
1. tns 파일을 라이브러리에 넣고 ⇒ refresh 해줍니다.
※ 파일 다운로드는 본문 하단의 Attached 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로 바꿔 보세요.

4. 특수 함수
- 유닛스텝함수 u() 는 알파벳 u 를 입력
- 델타함수는 카탈로그 - 특수문자 δ 를 입력
- signum() 은 알파벳으로 전체 입력
- 사각함수 rect(t/τ) 는 u(t+τ/2)-u(t-τ/2) 로 변환하여 입력 : 댓글 이미지 참고
※ 각각의 특수함수들은 문자로서 표시될 뿐, 함수로서 기능 하지는 않습니다.
댓글9
-
세상의모든계산기
예제2 : https://blog.naver.com/songsite123/222940646211
되는 것 (대충이라도 되는 것 포함)



-
1
세상의모든계산기
안되는 예제
- 절대값 입력시 변환 실패
- 변수(a, u 등)에 다른 값이 저장되어 있을 경우 오류 발생 가능. delvar 필요함.


-
세상의모든계산기
예제3 : https://www.fmkorea.com/2952857872

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


-
1
세상의모든계산기
되는 것
* u 변수를 할당하면 fourier()에서 에러가 나기 때문에, 그래프로 그려서 확인하기 위해 h(x) 를 다시 정의하였습니다. (fourier 변환에 필수요소는 아닙니다)
* w를 w_로 바꾸면 위의 풀이 결과와 제일 비슷하게 정리되어서 대체하였습니다. 필요에 따라 바꾸셔도 되고, 안바꾸셔도 됩니다.
* 결과 모드를 1로 할지, 2로 하고 i=@i 로 바꿀지는 알아서 판단해 보시기를...


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





-
1
세상의모든계산기
안되는 것
* 절대값이 들어가면 무한루프에 빠지는 것 같습니다.
* 절대값을 풀어서 두 구간으로 나눈 다음에 더하면 되겠죠? 아마도???



-
세상의모든계산기
ifourier
fourier() 만큼 복잡할 것으로 예상했는데,
예상과 달리 fouriersub() 를 활용해서 간단하게 처리하네요.

프로그램 설명 예제에는 (마지막 예시가) t 로 나와 있고, 결과가 sin(5t)/pi 로 되어 있지만, w로 바꿔야 에러가 나지 않고, 결과도 cos(5t)/pi 로 나옴.
-
1
세상의모든계산기
본문에 사용된 nspire 용 파일은 본문 하단에 Attached files + 안에 있습니다.
클릭하면 표시됩니다.

-
1
세상의모든계산기
링크가 깨졌다고 하시니
404 에러가 나는 아래 링크를 말씀하시는 것 같은데
https://digilander.libero.it/fpirozzi/fourier.zip
이것은 TI-89 / TI-92 용 파일이며
[TI-92][TI-89] Fourier Transform Library
https://allcalc.org/52455 링크의 Attached files + 안에 있습니다.
세상의모든계산기 님의 최근 댓글
본문의 변환 위젯에 사용된 전서체 폰트는 대만의 최고 학술 연구 기관인 중앙연구원(Academia Sinica)에서 제공하는 ‘숭희전체(崇羲篆體)’로 전통 한자 서체인 소전(小篆)을 현대 컴퓨터 폰트(글꼴)로 구축한 오픈소스 프로젝트로 개발되었습니다. https://xiaoxue.iis.sinica.edu.tw/chongxi/download.htm 2026 10.20 예제1) 예제2) 예제3) 추가옵션 2026 10.18 PC 소프트웨어에서 script Editor 로 소스코드를 쉽게 복사 -> AI에게 문의/개선요청 할 수 있습니다. 잘 되거나, 잘 안되는 부분이 있으면 대댓글 남겨주세요. 2026 10.16 AI로 딸깍하니까, lua 프로그램으로 바꿔주네요. 세상 참... 본문의 ti-basic 기반으로 만들었고, 서로 문제를 일으킬 수 있을 듯 하여 별개의 파일로 작성하였습니다. 1.1 Page : 설명 1.2 Page : 그래프 1.3 Page : Calculator 사용법 Root Locus 1+K*N/D=0 EX: (6s^2+5s+2)/(6s^3(s^2+7s+16)) INPUT (Calculator page 1.3 ): rl_num:={6,5,2} rl_den:={6,42,96,0,0,0} or num(6s^2+5s+2) den(6s^3(s^2+7s+16)) optional: rl_T:=10 rl_D:=1 Coeffs are descending powers of s. Back on graph page it refreshes itself, else press [r] or [enter]. KEYS: [+] [-] Kmax zoom, [0] reset, [r] reload MARKS: x=pole, o=zero, red line=real axis, gray dash=asymptote, box=break pt, diamond=j-cross VARS: rl_Kmax rl_sigma rl_r rl_JK rl_Jw 첨부파일 rlocus_lua.tns 2026 10.16 링크가 깨졌다고 하시니 404 에러가 나는 아래 링크를 말씀하시는 것 같은데 https://digilander.libero.it/fpirozzi/fourier.zip 이것은 TI-89 / TI-92 용 파일이며 [TI-92][TI-89] Fourier Transform Library https://allcalc.org/52455 링크의 Attached files + 안에 있습니다. 2026 09.11