아래 포스팅에서 Autohotkey 의 argument 를 사용하는 방법에 대해 소개한 적이 있습니다. Autohotkey 에서 기존의 방법으로 argument 처리를 해 본 분들은 아시겠지만 %0%, %1% 등으로 표현이 되서 약간 이해가 쉽지 않았던게 사실 입니다.

https://iamaman.tistory.com/1635

그런데 최근에 아래 주소의 Autohotkey 문서를 다시 보다보니~ 1.1.27 버전 부터 A_Args 라는 키워드가 생긴것을 확인 할 수 있었습니다.

https://www.autohotkey.com/docs/Scripts.htm#cmd

이렇게 보니 이제 다른 프로그래밍 언어들과 그 사용방법이 거의 차이가 없는것 같네요~

Autohotkey help 문서에 있는 아래와 같은 예제를 한번 돌려보면 그냥 바로 이해가 되실 겁니다.

arg1 := A_Args[1] ; 첫번째 parameter

arglen := A_Args.Length() ; parameter 길이

MsgBox arg length : %arglen%

MsgBox arg1 : %arg1%

for n, param in A_Args ; For each parameter:

{

MsgBox Parameter number %n% is %param%.

}

위 코드에서 보시는 바와 같이 대괄호 인덱스를 사용하여 각 parameter 값을 얻을 수 있고~ Length() 함수를 통해 argument 의 갯수를 알 수 있습니다.

위 코드를 실행하기 위해서는 cmd 창이나 Powershell 과 같은 터미널에서 argument 를 줘야하는데~ 아래 그림과 같이 argument 들은 공백으로 구분을 하고 argument 에 공백이 포함된 경우에는 따옴표(“) 로 묶어 줘야 합니다.

그런데 이렇게 CMD 창에 실행하는건 불편하니까~ argument 가 있는 Autohotkey 코드를 개발 할 때는 scite4autohotkey 에서 View -> Parameters (Shift + F8)창을 열어서 사용하면 편리합니다. 


아래 화면은 보시는 바와 같이 3개의 argument 를 설정한 예입니다. Set 을 누르면 Parameters 창은 사라지고 scite4autohotkey 에디터에서 Run 을 눌러주면 해당 Parameters 들이 순서대로 입력 되게 됩니다.

argument 는 보통 Drag & Drop 을 통해서도 입력 할 수 있는데 위 링크의 문서를 보면 ~ NTFS 파일 시스템에서 8-dot-3 이름이 해제된 경우에는 Drag & Drop 이 실패 할수 있다고 하더군요. 이런 경우에는 해당 Autohotkey 파일을 compile 해서 실행파일(exe) 로 만들면 된다고 합니다.

8-dot-3 (short) name 이 뭔가 해서 검색을 조금 해 보니 오래된 도스 버전에서 사용하던 이름 규칙이라고 하네요.

https://ko.wikipedia.org/wiki/8.3_파일_이름

뭐 그럴일은 별로 없겠지만~ 아래 문서를 보니 fsutil.exe 를 사용하여 8-dot-3 (short) name 기능을 Enable, Disable 할 수 있다고 합니다.

https://support.microsoft.com/en-us/help/121007/how-to-disable-8-3-file-name-creation-on-ntfs-partitions



회사에서 사용하는 제 컴퓨터에는 MATLAB 이 설치가 되어 있지만, MATLAB이 설치가 안 된 PC에서는 OCTAVE 를 주로 사용하고 있습니다. OCTAVE 는 MATLAB 과 거의 유사한 문법을 사용하고 있어서 MATLAB 에서 사용하던 코드의 대부분을 재사용 할 수 있습니다.

저는 최근에는 주로 실험 데이터에 대해 분석하는 용도로 MATLAB, OCTAVE 를 사용하고 있고 데이터는 장비에서 주로 CSV 파일 형태로 로깅을 하고 있습니다. CSV 형태로 로깅된 파일을 분석하기 위해서는 OCTAVE 에 해당 csv 파일의 경로를 알려줘야 합니다. 그래야 읽을 수 있을 테니까요~

매번 경로를 m 파일에 적어 주는 것도 가능 하지만 파일을 매번 열어서 적는것도 굉장히 귀찮은 일인 것 같습니다. 이럴 때 주로 아규먼트를 사용하고~ 오늘은 Command Line 에서 OCTAVE 아규먼트 사용 방법에 대해서 소개하려 합니다.

일단 커맨드라인에서 옥타브를 실행하기 위해서 OCTAVE 실행 명령을 알아야 될 겁니다. 아래 그림과 같이 옥타브 바로가기 아이콘에 오른쪽 클릭을 하고 속성을 확인해 보면~ 명령어가 나옵니다.

OCTAVE CLI 를 실행하는 명령어는 아래와 같고~

%SYSTEMROOT%\system32\wscript.exe "C:\Octave\Octave-5.1.0.0\octave.vbs" --no-gui

OCTAVE GUI 를 실행하는 명령어는 아래와 같습니다.

%SYSTEMROOT%\system32\wscript.exe "C:\Octave\Octave-5.1.0.0\octave.vbs" --force-gui

제 컴퓨터에서 실행을 해보니 앞에 붙어 있는 wscript.exe 까지의 구문은 없어도 실행이 되더군요~ 따라서 아래와 같이 실행할 수 있었습니다.

CLI : "C:\Octave\Octave-5.1.0.0\octave.vbs" --no-gui

GUI : "C:\Octave\Octave-5.1.0.0\octave.vbs" --force-gui

OCTAVE Command Line Options 관련 문서는 아래 주소에서 확인할 수 있습니다.

http://octave.org/doc/interpreter/Command-Line-Options.html

다른 것들은 필요할 때마다 검색을 해 보시면 될 거 같고~ 커맨드 라인에서 m 파일을 실행하기 위해서는 위 옥타브 실행명령어 뒤에 m 파일의 path 를 넣으면 되고~ m 파일에서 받고 싶은 아규먼트는 또 그 뒤에 적어 주면 됩니다. 따라서 아래와 같은 명령 형태가 됩니다. 아규먼트는 공백을 구분자로 하기 때문에~ 추가적인 아규먼트가 있다면~ 한 칸 띄고 계속 써 주면 됩니다. 혹시 path 에 공백이 있는 경우에는 전체 path 를 쌍따옴표로 감싸서 넣어 주면 됩니다.

"C:\Octave\Octave-5.1.0.0\octave.vbs" --no-gui mFILEPATH csvFILEPATH

m 파일에서 argument 는 argv() 를 통해 받을 수 있습니다. argv() 는 Cell 타입을 리턴합니다.

저는 아래와 같이 간단하게 test.m 파일을 만들어 봤고~

argvsV= argv()

class(argvsV)

csvPath=argv(){1}

pause(5)

Windows CMD 창에서 아래와 같은 명령어로 실행해 봤습니다.

"C:\Octave\Octave-5.1.0.0\octave.vbs" --no-gui test.m test.csv

그럼 새로운 CMD 창이 뜨면서 아래와 같이 옥타브 실행 결과를 볼 수가 있습니다.

커맨드 라인에서 위와 같은 명령어를 계속 타이핑 하는 것은 불편하므로 아래 포스팅을 참조하여 배치 파일을 만들어서 사용하는게 훨씬 더 간편 할 것입니다.

https://iamaman.tistory.com/988

많은 분들이 모르시는 것 같은데… 배치 파일 또는 실행 파일에 파일을 drag & drop 하면 해당 실행 파일의 아규먼트로 들어가게 됩니다.



무슨 바람이 불어서 그런 건지는 모르겠지만 최근에 영어 공부를 다시 시작 했습니다. 과거에는 영어 공부하기 정말 싫었는데 요즘은 영어 공부하기 정말 편해진 세상이 된 것 같습니다. 요즘 저는 영어 공부를 위해서 수업도 듣고 영어로 쓰여진 책도 읽고 여러가지 다양한 영어 유튜브 방송도 보고 있고 영어로 된 드라마도 보면서 영어 공부를 하고 있습니다. 예전에 미드를 많이 보다가 한동안은 미드를 많이 보지 않았었는데 최근에 다시 영어 공부를 위해서 미드를 보고 있습니다. 생활영어를 배우고 싶어서 판타지나 어려운 전문분야의 드라마가 아니라 생활 드라마를 찾아봤고, 그중에서 최근 매우 인기가 높다는 캐나다 드라마인 킴스 컨비니언스를 보고 있습니다.

미드를 보면서 영어 공부를 하기 위한 준비 사항은 다음과 같습니다.

1. 영어 드라마

당연한 얘기지만 영어 드라마를 준비 해야 되겠고 보통의 경우 생활 영어를 학습하는 것이 목표이므로 생활 드라마를 선택하는 것이 좋을 것 같습니다. 드라마와 함께 영어로 된 자막을 받아 놓으면 됩니다.

2. 카카오 팟플레이어

어떤 동영상 플레이어를 사용해도 상관이 없지만 저는 카카오 팟플레이어를 사용하면서 드라마를 통한 영어 공부가 쉬워졌습니다. 드라마를 보다가 모르는 단어가 있으면 스페이스바를 눌러서 드라마를 잠깐 멈춰 놓고 모르는 단어를 클릭하면~

다음 사전을 통해서 단어를 찾아줍니다. 요즘 다음을 비롯해 인터넷 사전들은 단어장 기능이 있어서 찾은 단어들을 클릭 한번으로 저장해 놓을 수가 있습니다. 이렇게 드라마를 보다가 모르는 단어들은 바로 바로 찾고 바로 바로 저장해 놓을 수 있는 굉장히 좋은 동영상 플레이어라는 생각이 들었습니다.

카카오 팟플레이어에서 F5를 누르고 카카오 팟플레이어 설정에 들어가 보면 다양한 옵션들이 있는데 기본적으로 단어를 찾을 때 인터넷 익스플로러를 사용하도록 설정되어 있습니다. 저는 주로 크롬 브라우저를 사용하기 때문에 크롬 브라우저를 기본 브라우저로 설정을 해 놓고 사용하는 상태이며, 그래서 시스템 브라우저는 크롬 브라우저로 되어 있습니다. 그래서 제가 사용하는 크롬 브라우저에서 단어장을 열게 하기 위해서 아래와 같이 설정을 변경해 놓고 사용하고 있습니다.

카카오 팟플레이어에서 네이버 사전 검색

그리고 많은 분들이 다음 사전 뿐만 아니라 네이버 사전을 사용하실텐데~ 카카오 팟플레이어에서는 사전을 등록 할 수 있습니다. 클릭한 자막의 단어는 %%SS 에 들어가기 때문에 네이버 사전을 사용하고자 한다면 아래와 같이 설정하면 될 거라고 생각을 했습니다.

http://dic.naver.com/search.nhn?query=%%SS

그런데 역시나… 경쟁사라 그런지 카카오 팟플레이어에서 네이버 사전으로는 검색이 안되더군요. 검색을 조금 해 보니 어떤 분들은 redirect 서버를 만들어서 사용하시는 분들도 있던데~~ 저는 Autohotkey 를 사용하여 카카오 팟플레이어 에서 네이버 사전을 사용하도록 설정했습니다.

일단 Autohotkey 코드를 하나 작성합니다. Autohotkey 의 argument 를 사용하는 방법으로 해당 내용에 대해서는 아래 주소의 포스팅을 참조하시기 바랍니다.

https://iamaman.tistory.com/1635

카카오 팟플레이어에서 네이버 사전으로 단어 검색을 위한 Autohotkey 코드는 아래와 같습니다. naverSearch.ahk 라는 이름으로 만들었고 내용은 아래와 같습니다.

Loop, %0%

{

param := %A_Index%

Run http://dic.naver.com/search.nhn?query=%param%

}

다음으로 카카오 팟플레이어에서 아래와 같이 설정을 합니다.

제목은 “네이버 사전” 으로 했는데 아무렇게나 편한대로 적어주면 됩니다.

항목에 위에서 만든 naverSearch.ahk 코드의 fullpath 를 적어주고 argument 로 "%%SS" 를 적어줍니다. 결과적으로 아래와 같은 형태로 적어 주면 됩니다.

C:\AHK\naverSearch.ahk "%%SS"

이것으로 카카오 팟플레이어에서 네이버 사전으로 단어 검색하기 위한 설정은 끝났네요. 클릭을 했을 때 네이버 사전으로 검색이 되게 하기 위해서 “네이버 사전” 항목을 제일 위로 뒀습니다.

이제 미드를 보다가 모르는 단어를 클릭해보면 아래와 같이 네이버 사전으로 검색이 되는 것을 확인 할 수 있습니다.

카카오 팟플레이에어서는 구글 번역 기능도 제공을 해 줘서 요즘은 영어 자막만 있으면 실시간으로 한글로 번역이 되더군요. 가끔 안될때도 있긴 하던데 영어 공부 목적으로 보는데 그리 큰 불편은 없는것 같네요~

카카오 팟플레이어에서 파파고 검색

요즘은 많은 분들이 파파고 검색도 많이 이용을 하실 텐데 ~ 파파고 검색 역시 마찬가지로 아래와 같이 Autohotkey 스크립트(papagoSearch.ahk)를 만들어 준 후에~

Loop, %0%

{

param := %A_Index%

Run, https://papago.naver.com/?sk=auto&tk=ko&st=%param%

}

팟플레이어에서 파파고 검색을 할 수 있도록 아래와 같이 설정을 해 주면 됩니다.

검색을 할 때는 모르는 단어에 오른쪽 클릭을 해 보면 자막 단어 검색 설정했던 내용들이 나오고 위에서 설정했던 파파고 검색을 클릭하면 검색이 이루어 집니다.

이렇게 파파고 검색이 되는 것을 확인할 수 있습니다.

그럼 다들 미드 보면서 즐겁게 영어 공부 해 보시기 바랍니다.



  1. jenn 2019.07.14 21:11

    안드로이드탭 이용중인데, window환경에서만 다운받을수 있는게 아쉬워요 ㅜ ㅜ
    안드 마켓에서 미플레이어라는 프로그램이 있긴한데, 카카오플레이어보다 못하네요 ㅠㅠ

    혹시 안드탭중에 비슷한앱(내가 설정한 사전으로 바로 검색) 추천받을수 있을까요?

    • 남성 2019.07.14 23:04 신고

      저도 안드로이드 미디어 플레이어 중에 자막이 바로 검색되는 프로그램은 모르겠네요~ 암튼 방문해 주셔서 감사합니다.

  2. Questioner 2019.08.29 19:39

    안녕하세요. ahk 파일에는

    Loop, %0%
    {
    param :=%A_Index%
    Run http://dict.naver.com/search.nhn?query=%param%
    }

    이것말고 다른 내용이 없나요?

    위 과정 완료해도 저는 왜 홈페이지가 안뜨고 ahk파일이 scite4hotkey로 실행이 되는걸까요? ㅜㅜ

    compile 할 필욘 없는거지요?? 문제가뭘까요...

  3. Questioner 2019.08.29 19:55

    아 찾았습니다^^

    ahk를 scite4hotkey로 연결프로그램해놨기에...

    compile해서 .exe로 실행시키니 되는군요. 좋은 정보 감사합니다^^

    그런데 댓글달때마다 그림문자쓰는게 조금 번거롭긴하네요 ㅎㅎ

    • 남성 2019.08.29 23:05 신고

      아 댓글을 달 때 그림 문자를 쓰게 되어 있는지 처음 알았습니다. 그림 문자를 안 쓰게 하는 설정이 있는지 확인해 봐야겠네요
      ~ 방문해 주셔서 감사합니다. ^^

    • 남성 2019.08.29 23:34 신고

      로그인을 안 한 상태로 댓글을 다는 경우 그림문자는 항상 쓰도록 되어 있네요.

  4. Questioner 2019.08.29 20:31

    덧붙여서 써주신 주소는 사전홈의 주소라서 독일어 국어 베트남어 등등 다 나오는데 영어사전으로 들어가고 싶은 분은 아래 주소 쓰시면 되겠네요

    Loop, %0%
    {
    param :=%A_Index%
    Run https://en.dict.naver.com/#/search?range=all&query=%param%
    }

    • 남성 2019.08.29 23:14 신고

      네 맞습니다. ^^ 참고로 위 포스팅에서의 argument 설정 부분은 Autohotkey 예전 문법 방식인데 최신의 Autohotkey 를 사용하신다면 다음과 같이 조금더 간단하게도 할 수 있습니다.

      param := A_Args[1]
      Run https://en.dict.naver.com/#/search?range=all&query=%param%

      최근의 Autohotkey argument 관련해서는 아래 포스팅을 참조하시기 바랍니다.

      https://iamaman.tistory.com/3002

컴퓨터는 현존하는 가장 발전된 형태의 반복 기계라는 걸 대부분의 분들은 아실 겁니다. 


저는 윈도우나 리눅스 등을 사용하는데 둘 다 명령어를 특정 시간 마다 반복하는 도구들이 있습니다. 


리눅스에서는 cron 이 있고 윈도우에서는 "예약 작업"이 있습니다. 


그 중에서 오늘은 윈도우 예약 작업에서 batch 파일을 최소화 상태로 실행하는 방법에 대해 소개하려 합니다. 


윈도우 버튼을 누르고 예약 이라고 치면 아래 그림과 같이 예약 작업이라는 프로그램이 검색 됩니다.

해당 프로그램을 실행하면 "작업 스케줄러" 라는 프로그램이 실행되며 정해진 시간에 주기적으로 예약 작업을 실핼 할 수 있죠. 


저는 주기적으로 실행하는 프로그램들은 batch 파일로 만들어서 해당 잡업을 예약 작업으로 실행하곤 합니다. 


그런데 예약 작업이 실행될때마다 batch 파일 화면이 보이게 되니까 불편한 감이 있더군요. 


그래서 batch 파일을 최소화 상태로 실행하는 방법을 찾아보니 아래 주소의 글이 나오더군요. 


https://www.computerhope.com/issues/ch000932.htm


Windows 작업 스케줄러에서 아래와 같이 설정하면 myfile.bat 파일을 최소화 된 상태로 실행하고 종료시 화면도 없어지게 할 수 있습니다. 


cmd.exe /c start /min myfile.bat ^& exit


실제 제가 설정해서 사용하는 모습은 다음과 같습니다.

실행한 프로그램/스크립트 부분에 아래와 같이 cmd.exe 를 설정하고 나머지 argument 들을 인수 추가 부분에 설정 합니다. 


이렇게 하면 배치 파일을 최소화된 상태로 주기적으로 실행하고 실행된 이후에는 자동으로 종료 되게 할 수 있습니다.



Sharp Develop 을 사용하여 개발을 하다가 빌드를 자동화 할 필요가 있어서 찾아보니 Sharp Develop 툴 자체에서 Command Line 에서 빌드 할 수 있는 방법은 찾지 못했다. 

그래서 csc.exe 를 사용하여 빌드하는 방법을 찾아보니 아래 주소에서 방법을 알 수 있었다.


빌드를 위해서는 당연히 argument 들을 작성해야 할 텐데 이런 argument 들은 rsp 파일로 만들어서 빌드하는게 편리한 것 같다.

Word, Visio 파일을 자동화 하기 위해서 Microsoft.Office.Interop.Word, Microsoft.Office.Interop.Visio 를 사용하는데 각각 Microsoft.Office.Interop.Visio.dll, Microsoft.Office.Interop.Word.dll 파일의 형태로 존재하며 rsp 파일에 적는 경우 다음과 같이 Fullpath 를 적어줘야 정상적으로 인식된다.

C# 에서는 기본적으로 참조되는 reference 들이 있는데 이런 reference 들은 csc.exe 파일이 들어 있는 폴더에 같이 들어 있는 csc.rsp 파일을 열어보면 확인 할 수 있다. csc.rsp 파일은 항상 컴파일러에 의해 로드되므로, 원하지 않으면 /noconfig 옵션을 설정하면 된다.

결과적으로 test.rsp 파일은 다음과 같이 작성한다. 주석은 # 으로 시작하고 /recurse 는 하위의 cs 파일을 모두 빌드 하라는 뜻이며 /out 은 말그대로 output Console 프로그램의 파일 이름을 설정한다.

# test.rsp
# C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe  @test.rsp

/out:My.exe

/recurse:*.cs 

/r:C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Visio\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Visio.dll
/r:C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Word\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Word.dll

위와 같이 rsp 파일을 만들었으면 이제 Command 창에서 다음과 같이 빌드 할 수 있다.

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe  @test.rsp



아래 포스팅에서 Find and Replace tool 에 대해 소개한 적이 있습니다.


폴더내의 텍스트들에 대해 찾기 바꾸기를 편리하게 할 수 있는 프로그램인데 코드 수저이 많이 사용하곤 합니다. 

그런데 최근에 UTF8 파일에 대해 Find and Replace tool 을 적용하는 과정에서 약간의 문제가 있었습니다. 

utf8 without BOM 으로 되어 있는 파일이었는데 Find and Replace tool 을 사용하여 파일을 변경하니 엉망으로 변하더군요. 

다행히 백업 본이 있어서 복구 할 수 있었지만 백업본이 없었다면 정말 큰 문제가 발생할 번 했습니다. 

utf8 without BOM 으로 된 파일들이 많아서 일일이 변경하기엔 문제가 있다는 생각이 들었고 그래서 Powershell 을 사용하여 자동으로 바꾸는 스크립트를 만들어 봤습니다. 

코드는 다음과 같습니다. 


save-UTF8withBOM  함수는 utf8 with BOM 파일로 만들어주는 함수이고 

save-UTF8withoutBOM  함수는 utf8 without BOM 파일로 만들어주는 함수입니다. 

argument 로 변경하고자 하는 파일의 path 를 넣어 주면 됩니다.
Python 을 사용하면서 이래 저래 많은 툴들을 많들어서 사용하는 중입니다. 

프로그램을 만들시 파라미터들은 보통 argument 에서 받고 했었는데 

파라미터가 매우 많다면 이런 값들은 파일을 통해 받게 만들곤 합니다. 

이런 파라미터 들은 보통 key : value 의 쌍으로 저장하곤 하는데 

이럴때 XML 을 많이 사용해 왔었습니다. 

그런데 XML 은 테그로 구성되다 보니 같은 내용이더라도 복잡해 보이더군요. 즉 가독성이 떨어진다는 생각이 들었습니다. 

그래서 요즘은 json 을 사용하고 있습니다. 

json 파일은 Python 에서 너무 쉽게 다음과 같이 파일을 load 할 수 있습니다. 

import json

with open(jsonFile) as data_file:
     Topology = json.load(data_file)


json 파일을 formatting 하고 싶은 경우에는 아래 주소의 사이트를 추천 합니다.


위 사이트에서는 json 파일을 XML, CSV, YAML 과 같은 형태로 변환 할 수 있으며 사람이 보기 좋게 Formatting 도 해주고 전달하기 좋게 Minify 도 해 줍니다.

이렇게 변환 된 Code 는 파일로 다운로드해서 사용 할 수 있습니다.


오늘은 Autohotkey 의 argument 처리에 대해 소개하려 합니다.

 

Argument 란 Autohotkey로 만들어진 프로그램을 command line 에서 실행 할 때 파라미터 값을 주는 것을 의미 합니다.

 

C/C++ 의 경우 argv 라는 변수로 받고 python 등에서는 sys.argv 라는 변수로 받곤 합니다.

 

Autohotkey 의 argument와 관련한 매뉴얼은 아래 주소에 있습니다.

 

http://www.autohotkey.com/docs/Scripts.htm#cmd

 

위 주소에서 확인 할 수 있는 바와 같이  %0% 에는 전달받은 파라미터의 개수가 저장 되고 %1%, %2% ... 에 각 parameter 가 순서대로 저장 됩니다. 하지만 %1%, %2% 라는 값을 직접적으로 사용할 수는 없고 아래 캡쳐 화면과 같이 %A_Index% 를 사용합니다.

 

위 주소의 매뉴얼에 나와 있는 예를 하나 소개하려 합니다.

 

아래 그림은 매뉴얼의 예제 하나를 캡쳐 한 것이고 다운로드를 받아보면 Scripts-Script.ahk 라는 이름으로 저장됩니다.

 

위 코드의 내용은 %0% 즉 파라미터의 개수만큼 루프를 돌려서 파라미터를 확인하는 간단한 예입니다.

 

다음과 같이 cmd 창에서 실행 합니다.

 

실행하면 다음과 같이 메시지 박스가 나오는 것을 확인 할 수 있습니다.

 

 

Scripts-Script.ahk 뒤에 test1 test2 라는 파라미터를 넘겨 줬고~ 이 파라미터들이 정상적으로 확인 되는 것을 볼 수 있습니다.

 

Autohotkey 에서 파라미터를 사용할 때는 위 예와 같이 각 파라미터는 공백으로 구분 합니다.

 

공백이 있는 파라미터를 넘겨 주고 싶을 때는 다음 그림과 같이 따옴표("") 로 감싸줘야 합니다.

 

아래 그림과 같이 공백이 있는 파라미터의 경우 따옴표로 감싸줘야 정상적으로 받을 수 있다는 것을 확인 할 수 있습니다.

 

 

다음으로 autohotkey script 를 실행 파일로 만들고~ 파일을 드래그 & 드랍을 해 보겠습니다.

 

 

다음과 같이 파일의 full path 가 파라미터로 넘겨 지는 것을 확인 할 수 있습니다.

 



taylor serise 는 특정 지점에서의 미분 값들의 무한 합을 통하여 함수를 표현 할 수 있다는 것이다.

 

정의는 다음과 같이 된다.

 

 

특정 지점 a=0 인 경우를 Maclaurin series 라고 한다.

 

MATLAB 을 이용하여 이와 같은 taylor series expansion을 구할 때는 taylor() 함수를 이용한다.

 

taylor() 함수는 symbolic math toolbox 가 있어야 쓸 수 있는 함수이다.



 

다음 함수 에 대한 taylor series expansion을 알아보자.

 

 

다음과 같이 위 함수를 정의 한다.

 

syms x

 

f=log(1+x)

 

f =

         log(x + 1)

 

 

  • f1=taylor(f) 라고 하면 5차의 Maclaurin series expansion 결과를 반환 한다.

    f1 =

    x^5/5 - x^4/4 + x^3/3 - x^2/2 + x

     

  • f2=taylor(f, 10) 라고 하면 10 - 1=9 차의 Maclaurin series expansion 결과를 반환 한다.

    f2 =

    x^9/9 - x^8/8 + x^7/7 - x^6/6 + x^5/5 - x^4/4 + x^3/3 - x^2/2 + x

 

  • f3=taylor(f, 0.2) 라고 하면 a=0.2 , 5차의 taylor series expansion 결과를 반환 한다.

    f3 =

    (5*x)/6 + log(6/5) - (25*(x - 1/5)^2)/72 + (125*(x - 1/5)^3)/648 - (625*(x - 1/5)^4)/5184 + (625*(x - 1/5)^5)/7776 - 1/6

 

  • f4=taylor(f, 10, 0.2) 라고 하면 a=0.2 , 9차의 taylor series expansion 결과를 반환 한다.

    f4 =

    (5*x)/6 + log(6/5) - (25*(x - 1/5)^2)/72 + (125*(x - 1/5)^3)/648 - (625*(x - 1/5)^4)/5184 + (625*(x - 1/5)^5)/7776 - (15625*(x - 1/5)^6)/279936 + (78125*(x - 1/5)^7)/1959552 - (390625*(x - 1/5)^8)/13436928 + (1953125*(x - 1/5)^9)/90699264 - 1/6

 

 


 

MATLAB 에는 taylor serise expansion 을 좀더 쉽게 할 수 있는 GUI tool 도 제공해 준다.

 

command 창에 taylortool 이라고 입력하면 다음과 같은 GUI 창이 뜨게 되며 argument 변경 시마다 그래프로 확인하면서 approximation을 할 수 있게 해 준다.

 


+ Recent posts