다양한 가시화 툴로 수치 데이터 가시화 하기 – gnuplot, octave, matlab

다양한 가시화 툴로 수치 데이터 가시화 하기

작성자 : 서진우 (alang@clunix.com)
작성일 : 2010-09-09

CAE 해석 SW를 통해 생성되는 데이터를 검증하기 위해 해당 수치 데이터를 가시화해야 할 경우
가 종종 발생한다. 이때 간단한 방법으로 이를 구현할때 사용하는 방법들이다.
현재 진행 중인 컨설팅 프로젝트에 유용히 사용한 팁이다.

기술부의 모기 이민호선생에게 감사드린다..ㅋㅋ

x,y 형태의 수치 데이터를 가시화 하는 방법에 대해 알아보도록 하자

0.1011402561E-04 0.000000E+00
0.2079862346E-04 0.000000E+00
0.3157805672E-04 0.000000E+00
.
.

위와 같은 형태의 데이터가 저장된 test.txt 이 있다.
이 파일의 수치를 가시화로 나타내 보자

– octave 를 이용한 방법

# octave

> A=load test.txt
> plot (A(:,1),A(:,2))

테스트를 위해서 가상 값을 만들고자 할때는 rand 함수를 사용하면 간편하다.

> A=rand (2,10)  ;; 두개 컬럼으로 이루어진 10행의 데이터 생성
> plot (A(:,1),A(:,2))

– matlab 을 이용한 방법

# matlab

> A=textread (“text.txt”)
> plot (A(:,1),A(:,2))

– gnuplot 을 이용한 방법

# gnuplot

> plot “test.txt”

변수가 여러개인 파일을 경우, 특정 변수의 값만을 적용하여 plot 하고자 할 경우 ..

> plot “run.frc” u(sing) 1:2

즉 첫번째 열과 두번째 열만을 반영하여 plot 한다.

각 값이 표시된 점을 line 으로 연결할 때는

> plot “test.txt” with l(ine)

– gnuplot 으로 script 파일 만들기

vi test.plot
——————————————–

set title “run.frc graph”
set term png
set output “run.png”
set xlabel “TIME”
set ylabel “FX”
set zeroaxis
plot “run.frc” u 1:2 with l

——————————————–

# gnuplot test.plot

– 응용 scrpit 만들기

# vi run_graph.sh
——————————————–

#!/bin/sh

cat <<make_scripts > run.plot
set title “FX value of the Graph”
set term png
set output “run.png”
set xlabel “TIME”
set ylabel “FX Value”
set zeroaxis
plot “run.frc” u 1:2 with l
make_scripts

gnuplot run.plot
gthumb run.png

——————————————–

chmod 755 run_graph.exe

이제 run.frc 파일이 있는 위치에서 run_graph.sh 명령을 수행하면 자동으로
결과 그래프가 gthumb 로 보여질 것이다.

만일 원격 시스템에서 수행한다면 반드시 ssh X-forward 상태로 접속이 되어
있어야 한다.

아래는 ABAQUS vmat user sub routine에서 생성하는 결과 파일을 run_graph.exe으로 실행하여
그래프로 추출한 화면이다.

사용자 삽입 이미지사용자 삽입 이미지
 

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

3 Responses

  1. 2022년 6월 22일

    3inextricable

  2. 2023년 1월 27일

    3cookbook

  3. 2024년 10월 15일

    … [Trackback]

    […] Info to that Topic: nblog.syszone.co.kr/archives/3548 […]

페이스북/트위트/구글 계정으로 댓글 가능합니다.