연구의 선진화와 생산성 향상에
필요한 최적의 소프트웨어와 컨설팅을
공급하도록 노력하겠습니다.

MATFOR Extension - MATLAB 인터페이스

MATFOR? Extensions 은 그 이름이 의미하는 바와 같이 MATFOR 프로그램에 더 많은 능력을 제공하기 위한 확장성을 갖습니다. 현재 MATLAB 인터페이스와 Tecplot File IO 두가지 형태의 Extension이 있습니다. MATLAB 인터페이스는 MATFOR 4.1의 새로운 기능으로 MATFOR 사용자들에게 MATLAB 기능들을 MATFOR안에서 다룰 수 있도록 해줍니다. MATLAB 기능을 활용할 수 있는 능력을 제공함으로써 MATLAB을 이용하여 빠르게 프로토타입을 만들려는 사용자들에게 이상적인 툴을 제공함과 아울려 C++ 및 다른 프로그램 언어에서 실행할 수 있게 되었습니다. 즉, MATFOR를 이용하여 사용자들은 MATLAB과 다른 개발언어들 사이에서 결과를 빠르게 비교해 볼 수 있습니다.
MATFOR 인터페이스에는 두가지 기능이 있는데, 이중 하나는 mfDoMATLAB()입니다. 이것은 MATLAB 함수 이름과 이에 대응하는 입력 인수들을 취하고, 추가 작업을 위해 결과값을 mfArry로 리턴해줍니다.

예제:
  • MATLAB
  • magic(5) in MATLAB
  • MATFOR
  • mfArray x;
    x = mfDoMATLAB("magic", 5);
위 예제 코드에서 MATOR 코드와 MATLAB 코드는 동일한 내용입니다. MATLAB 인터페이스는 이제 MATFOR 라이브러리들안에 함께 제공되며, 저희 웹 사이트에서 다운 받아 평가해 보실 수 있습니다. 이 기능을 사용할려면 반드시 MATLAB과 MATFOR 라이센스가 동일한 컴퓨터에 설치되어 있어야 합니다. MATLAB을 설치하는 동안, MATLAB 연산 엔진을 등록하도록 요구할 것입니다. 만약 설치하는 동안 등록을 하지 않았다면 다음과 같이 명령 프롬프트에서 실행하시면 됩니다.

> matlab /regserver

MATFOR의 Extensions에 대해 자세한 기능을 확인하실려면 MATFOR의 사용자 매뉴얼 및 Reference Guide를 참고 바랍니다.

Streamline Series

streamline series는 다양한 데이터 종류들, 체계적이거나 비체계적인 메시(mesh) 데이터를 수용하기 위해 MATFOR 4.1에 추가되었습니다. 뿐만아니라, 새로운 기능인 mfStreamArrow는 시뮬레이션하는 동안 흐름의 방향을 정확하게 표현해 줍니다. streamline series는 mfStreamDashedLine, mfStreamRibbon과 mfStreamTube 등의 기능들을 포함합니다. 사용자는 결과 이미지들 또는 동영상을 만들기 위해 최적의 기능을 선택할 수 있습니다. 다음 그림은 스트림라인 그래프의 예입니다.
Turbulent Flow 현상을 mfStreamLine을 이용하여 표현함.
스트림라인 그래프와 GUI 예제

Editor Series

Editor Series가 기능성과 사용성을 강화하여 새롭게 선보였습니다. Draw List와 Transform 관련 에디터가 추가되었고, 기능이 개선된 Background 에디터는 다양한 객체 관리를 할 수 있도록 Editor Series를 보강해 줍니다.
  • NEW Draw List Editor
  • Axis Setting Editor
  • Colorbar Editor
  • NEW Transform Editor
  • NEW Background Editor
  • Material Editor
  • Colormap Editor
에디터를 사용하는 한가지 방법은 GUI 프로그램에서 관련 에디터를 불러오는 것입니다. 사용자는 응용프로그램을 만들 때 쉽고 편리하게 기능을 추가하기 위해 이들 내장된 에디터들을 사용할 수 있습니다. 다음 예제는 호출 함수에서 사용할 때 어떻게 에디터가 표시되는지 보여 줍니다.
다음 FORTRAN과 C++ 코드 예제들은 호출 함수에서 어떻게 에디터를 호출하는지 보여 줍니다.
  • C++의 경우
  • Fortran의 경우
  • subroutine EditColormap_Click(sender)
  • MF_CALLBACK EditColorbar_Click(const char* sender)
  • use mxui
  • {
  • CHARACTER(*) :: sender
  • mfEditorColorbar();
  • call msEditorColormap()
  • }
  • end subroutine EditColormap_Click

프린트 미리보기

프린트 함수들은 "인쇄 설정"과 인쇄 미리보기" 기능을 지원합니다. 프린트 설정 함수는 인쇄 구성을 용이하게 해주며 인쇄 미리 보기 함수는 프린트될 모양을 다얼로그 박스에서 미리 보여줍니다. 툴바의 새로고침(Refresh) 버튼을 누르면 MATFOR 그래픽 뷰어에서 변경한 내용을 즉시 반영해 줍니다. 프린트 함수를 사용할려면, 메뉴 또는 툴바에서 해당 버튼을 클릭하거나 프로그램상에서 msPrintPreview() 함수를 호출하면 됩니다.
  • 인쇄 설정
  • 인쇄 미리보기

MATFOR4.0에서 새로워진 기능들

MATFOR GUI Builder
MATFOR? GUI Builder는 사용자 인터페이스를 개발자의 선호에 따라 구현할 수 있도록 기능이 추가 되어 응용 프로그램 개발이 보다 쉬워졌습니다. MATFOR의 GUI 빌더를 이용하여 사용자 맞춤형 인터페이스를 만들 수 있게 됨은 물론, MATFOR의 위젯 콤포넌트들 Win32, BCB, MFC 및 QT와 같은 보편적인 UI 디자인 환경에 통합할 수 있고, 인터페이스를 사용자가 커스커터마이징하여 XML 기반의 MFUI 파일로 저장할 수 있습니다.
이렇게 생성된 어플리케이션은 Windows와 Linux 환경에서 사용하는 일반 C++ 컴파일러(Intel C++, Visual C++) 또는 Fortran 컴파일러에서 실행할 수 있씁니다. 이것은 다른 응용 프로그램과는 차별화된 MATFOR만이 갖는 특징입니다.
움직인는 평판(Dynamic plate)를 시뮬레이션하는 응용프로그램
FFT(Fast Fourier Transform)
  • Compute one/two-dimensional forward/inverse Discrete Fourier Transform(DFT)
  • Shift Zero frequency components of forward/inverse DFT to the center of the matrix
Representation of time domain and frequency domain analysis
지도 그리기 기능(Cartographic Functions)
  • 지도 투영(projection) 및 역 실행
  • 2-D/3-D 지구체(Geoid) 데이터
  • 2-D/3-D 해안선 데이터
Selection of Projection:
  • Earth
  • Lambert Azimuthal Equal
    (N_POLE)
  • Lambert Azimuthal Equal
    (S_POLE)
  • Lambert Azimuthal Equal
    (EQUIT)
  • Lambert Azimuthal Equal
    (OBLIQ)
  • Lambert Cylindrical Equal
    Area
  • Lambert Conformal
    Conic
  • Mercator
  • Transverse Mercator
응용 사례:
     
더욱 다양한 데이터 파일 포맷 지원
MATFOR? 4는 표준 과학 공식들과 ASCII, CSV 등과 같은 보편화된 소프트웨어 데이터 포맷을 지원하여 데이터 변환 및 재사용을 보다 쉽게 할 수 있게 되었습니다. 또한, Techplot 데이터를 바로 읽을 수 있습니다. 이외에, 3Ds, OBJ, STL 등과 같은 일반적인 3D 오브젝트 포맷들을 지원합니다.
응용 예제:
Techplot 데이터를 MATFOR 4에서 입력으로 받아 3차원 유한 요소 데이터를 가시화한 예
MATFOR 응용 사례 보기        MATFOR 평가해 보기