프로그래밍 605

Cygwin 의 Octave 로 그린 평면 매개곡선을 jpg 파일로 저장하기

Cygwin 의 터미널에서 $ xinit 하여 X 터미널을 열고, X 터미널의 쉘 프롬프트에서 $ octave -qi 하여 Octave 를 시작하여 다음 Octave 명령들을 입력한다. (saveas() 명령으로 그림을 파일로 저장할 수 있다.) octave:1> t = linspace(0, 2*pi, 500); octave:2> x = cos(t).**3; octave:3> y = sin(t).**3; octave:4> plot(x, y); # => error! octave:5> setenv("GNUTERM", "X11"); # 윈도우즈에서는 graphics_toolkit gnuplot; octave:6> plot(x, y); octave:7> saveas(1, "figure_asterisk.jpg",..

Octave 를 이용하여 비선형 연립미분방정식의 해곡선 그리기

다음 연립 미분방정식과 초기조건 x(0) = 1, y(0) = 2 를 만족하는 두 함수 x = x(t), y = y(t) 의 그래프를 그려보자. dx/dt = r*x*(1 -x/k) -a*x*y/(1 + b*x) dy/dt = c*a*x*y/(1 + b*x) - d*y 단, 여기서 r = 0.25 k = 1.4 a = 1.5 b = 0.16 c = 0.9 이다. 즉, dx/dt = 0.25*x*(1 -x/1.4) - 1.5*x*y/(1 + 0.16*x) dy/dt = 3*1.5*x*y/(1 + 0.16*x) - 0.8*y [Octave 소스파일: f.m]-------------------------------- function xdot = f (x, t) r = 0.25; k = 1.4; a = 1.5;..

Octave 를 이용하여 간단한 그래프 그리기

plot 명령을 내리기 전에 graphics_toolkit gnuplot 명령을 먼저 내린다. 명령 프롬프트> octave -qi octave:1> graphics_toolkit gnuplot octave:2> x = linspace(0,1,400); octave:3> y = x.^2; octave:4> plot(x,y) * 위의 코드로 그래프 창이 나타나지 않을 경우 다음 코드를 시도한다. 명령 프롬프트> octave -qi octave:1> graphics_toolkit gnuplot octave:2> setenv('GNUTERM','wx'); octave:3>x = linspace(0,1,400); octave:4>y = x.^2; octave:5> plot(x,y) Cygwin 의 X 터미널에서 ..

IntelliJ IDEA 를 이용하여 작성한 Groovy 애플리케이션

JetBrasins 사의 인텔리제이 IDE 는 매우 유명한 자바 IDE 중 하나이다. 상용과 커뮤니티 용이 있는데 인텔리제이 IDE 내려받기에서 내려받으면 된다. IDEA 를 처음 실행할 때 Java 홈 디렉토리와 Groovy 홈 디렉토리를 지정하고, IDEA 창에서는 약간의 아이콘 메뉴를 지정한다. 새 Project 를 생성하고 src 폴더에 Groovy 클래스 GroovyHello 를 생성하여 아래와 같이 작성한다. (Java 소스와 거의 유사한 Groovy 소스이다.) 윈도우즈의 파일 인코딩이 MS949 라 하더라도 IDEA 는 UTF-8 이 디폴트 인코딩이다. Build 메뉴에서 빌드한 후, Run 메뉴에서 실행한다. 빌드하여 생성된 GroovyHello.class 를 명령창에서 java 커맨드로..

한글 윈도우 8.1 의 Cygwin64 에서 javac 와 java 사용할 때의 인코딩 옵션

소스 파일 Hello.java 는 (BOM 마크 없는) UTF-8 인코딩으로 저장되어 있다. 디폴트 인코딩이 한글 윈도우 8.1 은 MS949 이고, Cygwin64 는 UTF-8 이다. (Cygwin64 의 LANG 환경변수는 컴파일과 실행에 별로 상관 없는 듯 하다.) Cygwin64 에는 자바가 설치되어 있지 않고 윈도우의 C:\Java7 폴더에 자바가 설치된 것으로 간주한다. $ export PATH=/cygdrive/c/Java7/bin:$PATH $ export JAVA_HOME=/cygdrive/c/Java7 $ echo $JAVA_HOME /cygdrive/c/Java7 $ which java /cygdrive/c/Java7/bin $ which javac /cygdrive/c/Java7/..

MinGW 의 g++ 와 SymbolicC++ 를 이용한 간단한 인터프리터

SymbolicC++ 는 GiNaC 처럼 심볼 처리 수학식 계산을 지원하지만, 리눅스 계열 뿐만 아니라 윈도우 환경에서도 Visual C++ 나 MinGW 의 g++ 와 함께 사용할 수 있는 수학 심볼 처리 라이브러리이다. * SymbolicC++ 내려받기 * Wikipedia 에서 설명하는 SymbolicC++ * MinGW 의 g++ 를 위한 SymbolicC++ 라이브러리 만들기 모든 작업은 MinGW\msys\1.0 폴더에 있는 msys.bat 파일을 실행하여 msys 창에서 한다. $ ./configure $ make $ make install $ make clean 생성된 라이브러리 파일 libsymbolicc++.a 와 libsymbolicc++.la 는 /usr/local/lib 폴더에 존..

프로그래밍/C++ 2014.01.17

Visual C++ 2010 과 SymbolicC++ 를 이용한 간단한 부정적분 계산

SymbolicC++ 는 GiNaC 처럼 심볼 처리 수학식 계산을 지원하지만, 리눅스 계열 뿐만 아니라 윈도우 환경에서도 Visual C++ 나 MinGW 의 g++ 와 함께 사용할 수 있는 수학 심볼 처리 라이브러리이다. * SymbolicC++ 내려받기 * Wikipedia 에서 설명하는 SymbolicC++ * Visual C++ 를 위한 SymbolicC++ 라이브러리 만들기 Visual Studio 에서 솔루션 파일 SymbolicC++3.sin 을 열고 아래 그림 처럼 메뉴 탭에서 Dynamic 이라고 설정된 곳을 Static 으로 변경하고 빌드한다. 그러면 에러와 경고가 몇 개 쏟아질 것이다. * 에러 해결하기 SymbolicC++ 를 빌드하는 과정에서 C:\Program Files (x86..

프로그래밍/C++ 2014.01.17

Visual C++ 2010 과 pdcurses 를 이용한 helloworld 예제

pdcurses 를 컴파일하여 Visual C++ 용 라이브러리 만들기 프롬프트> nmake -f vcwin32.mak * 테스트용 소스 파일: helloworld.c (http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/helloworld.html 에 있는 ncurses 용 소스에서 인클루드 문의 ncurses.h 를 curses.h 로 변경한 것 뿐임) /* * Filename: helloworld.c * * Compile: cl /c helloworld.c /I . * Link: link -nologo helloworld.obj pdcurses.lib user32.lib gdi32.lib advapi32.lib shell32.lib comdlg32.lib * Or ..

프로그래밍/C 2014.01.15

Python 과 curses 를 이용한 카라슈바 곱셈 연습기

ncurses(또는 curses) 는 Linux/Unix 계열의 환경에서 VT100 등의 터미널과 호환되는 윈도우형 입출력 라이브러이다. 이를 이용하면 윈도우의 임의의 위치에 출력도 하고, 임의의 위치에서 입력을 받을 수도 있다. * 카라슈바 곱셈 참조 다음은 Linux 나 Cygwin 환경에서 파이썬 2.7.x 로 실행되도록 작성된 소스이다. # Filename: ezMult_003.py # # Execute: python ezMult_003.py # # Date: 2014. 1. 10. import curses import curses.textpad import random stdscr = curses.initscr() curses.start_color() # curses.nonl() curses.n..