MATLAB for C/C++ Programmers

Similar documents
MATLAB for C/C++ Programmers

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - Lect13.ppt [호환 모드]

설계란 무엇인가?

Microsoft PowerPoint APUE(Intro).ppt

Microsoft PowerPoint 웹 연동 기술.pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

목차 v M-file v 제어 v 변수 함수 스크립트 v 데이터타입 v Plot v variable save/load v File Open/Close, 데이터를쓰고, 읽는 fprintf, fscanf v Graphics with MatLab v 본강의자료는 MATLAB

Microsoft PowerPoint - chap11.ppt [호환 모드]

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

윤성우의 열혈 TCP/IP 소켓 프로그래밊

PowerPoint 프레젠테이션

Microsoft PowerPoint - 제11강 파일 처리

문서의 제목 나눔고딕B, 54pt

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

PowerPoint 프레젠테이션

Microsoft PowerPoint - Chapter_04.pptx

WS12. Security

Microsoft PowerPoint - chap4 [호환 모드]

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

금오공대 컴퓨터공학전공 강의자료

03 상수, 변수, 자료형

1아이패드(13~54)

PowerPoint Presentation

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

Python과 함께 배우는 신호 해석 제 5 강. 복소수 연산 및 Python을 이용한 복소수 연산 (제 2 장. 복소수 기초)

KNK_C02_form_IO_kor

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - [2009] 02.pptx

KNK_C_05_Pointers_Arrays_structures_summary_v02

BMP 파일 처리

02장.배열과 클래스

슬라이드 1

<BEC8BEE7B4EBBDC7BDC0C0DAB7E12E687770>

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt)

슬라이드 1

PowerPoint Template

Microsoft PowerPoint - chap04-연산자.pptx

마지막 변경일 2018년 5월 7일 ** 이항분포와 정규분포의 관계 ** Geogebra와 수학의 시각화 책의 3.2소절 내용임. 가장 최근 파일은 링크를 누르면 받아 보실 수 있습니다.

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

Microsoft PowerPoint - Lesson13.pptx

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

Microsoft PowerPoint - C++ 5 .pptx

2014_트렌드씨_웹용_1월_s

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

歯9장.PDF

OOO Paint

Microsoft PowerPoint - ch07 - 포인터 pm0415

PowerPoint Presentation

EndNote X2 초급 분당차병원도서실사서최근영 ( )

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

API 매뉴얼

14장 파일

tiawPlot ac 사용방법

MATLAB

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

Microsoft PowerPoint - additional01.ppt [호환 모드]

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

MATLAB and Numerical Analysis

Microsoft PowerPoint - Chap14_FileAccess.pptx

PowerPoint 프레젠테이션

C 프로그램의 기본

기초컴퓨터프로그래밍

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

PowerPoint Presentation

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

chap7.key

Microsoft PowerPoint - ICCAD_Analog_lec01.ppt [호환 모드]

PowerPoint 프레젠테이션

C Programming

<4F E20C7C1B7CEB1D7B7A5C0BB20C0CCBFEBC7D120B5A5C0CCC5CD20BAD0BCAE20B9D720B1D7B7A1C7C120B1D7B8AEB1E F416E616C F616E645F47726

NTD36HD Manual

2002년 2학기 자료구조

Microsoft PowerPoint - chap4_2013 [호환 모드]

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - lect08

윤성우의 열혈 TCP/IP 소켓 프로그래밍

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

Microsoft PowerPoint - lect03.ppt [호환 모드]

실험 5

Microsoft PowerPoint - lect08.ppt [호환 모드]

(SW3704) Gingerbread Source Build & Working Guide

OCW_C언어 기초

Visual Basic 반복문

Microsoft Word - LTL-XL RSC vers Nov. 08 _Korean Version_.doc

Ver 1.0 마감하루전 Category Partitioning Testing Tool Project Team T1 Date Team Information 김강욱 김진욱 김동권

MATLAB for C/C++ Programmers

fprintf(fp, "clf; clear; clc; \n"); fprintf(fp, "x = linspace(0, %d, %d)\n ", L, N); fprintf(fp, "U = [ "); for (i = 0; i <= (N - 1) ; i++) for (j = 0

11장 포인터

3D MAX + WEEK 9 Hansung Univ. Interior Design

Transcription:

오늘강의내용 (2014/01/17) 파일입출력 MATLAB에서계산한데이터를바이너리파일또는텍스트파일의형태로디스크에저장 디스크에저장된파일을 MATLAB workspace 상으로읽어오기 1

파일입출력 2

MATLAB File I/O 여러종류의함수제공 이진화된파일 (binary file) 의읽고쓰기 형식화된파일 (formatted ASCII) 의읽고쓰기 파일입출력함수 save, load 함수 MATLAB 에서사용하는데이터타입을저장및불러오기 dlmread, dlmwrite 사용자가지정한구분자 (delimiter) 형태로텍스트파일에저장 cvsread, cvswrite 컴마로구분된형태로데이터를텍스트파일에저장 xlsread, xlswrite 데이터를 Microsoft Excel 에저장하고, 읽어오기위한함수 Low Level File I/O C 에서사용하는파일입출력함수들과거의동일 3

MATLAB Programming >> save 파일명 save 파일명 workspace 상의 모든 변수를 MATLAB 저장 형식으로 파일명 의 이름을 갖는 파일에 저장 4

MATLAB Programming >> save 파일명 변수명 save 파일명 변수명 workspace 상에서 변수명 으로 지정한 변수를 MATLAB 저장 형식으로 파일명 의 파일에 저장 5

MATLAB Programming >> save 파일명 변수명 변수명 save 파일명 변수명 변수명 workspace 상에서 변수명 으로 지정된 모든 변수들을 MATLAB 저장 형식으로 파일명 의 파일에 저장 6

MATLAB Programming >> save 파일명 변수명 옵션 save 파일명 변수명 옵션 workspace 상에서 변수명 으로 지정한 변수를 옵션 에서 지정한 형식으로 파일명 의 파일에 저장 여기서는, 데이터를 8-digit ASCII 포맷 (즉, 텍스트 포맷) 으로 저장 7

MATLAB Programming >> save 파일명 변수명 옵션 M_ascii.txt 파일 더블 클릭시 8

>> save 파일명변수명옵션 여러가지옵션 -ascii 8-digit ASCII 형식으로저장 -ascii -double 16-digit ASCII 형식으로저장 -ascii -tabs tab 에의해분리된데이터를 8-digit ASCII 형식으로저장 -ascii -double -tabs tab 에의해분리된데이터를 16-digit ASCII 형식으로저장 9

MATLAB Programming >> save 파일명 변수명 옵션 아래와 같이 double 옵션을 주어 저장한 경우 >> save M_ascii.txt M -ascii -double M_ascii.txt 파일 더블 클릭시 10

MATLAB Programming >> save 파일명 변수명 옵션 아래와 같이 tabs 옵션을 주어 저장한 경우 >> save M_ascii.txt M -ascii -tabs M_ascii.txt 파일 더블 클릭시 11

save 함수 MAT 파일저장 >> save( MAT- 파일, 변수명, 변수명, ) Workspace 상에변수 M, N 이정의되어있을때, >> save( test.mat, M, N ) ASCII 형태로저장 >> save( ASCII- 파일, 변수명, 옵션, 옵션 ) Workspace 상에변수 M 이정의되어있을때, >> save( test.txt, M, -ascii, -double ) ASCII 파일로저장하는경우, 변수를여러개동시에저장할수없음 12

MATLAB Programming 복소수의 저장 복소수를 ASCII 형식의 파일에 저장하려고 하면, 경고가 뜸 복소수의 허수부는 저장되지 않음!! 13

MATLAB Programming 복소수의 저장 M_ascii.txt 파일 복소수의 허수부가 모두 사라짐!! 더블 클릭시 복소수를 ASCII 형식의 파일에 저장하려고 하면, 복소수의 허수부는 저장되지 않음!!MAT 파일 형태로 저장 하거나, 복소수는 반드시 구분자 (delimiter)를 사용한 텍스트 파일로 저장해야 함 14

Workspace 변수값간편하게저장하기 - Workspace 창에서마우스우측버튼클릭 - save 버튼선택하여모든변수들저장 - 각변수를클릭하고, 마우스우측버튼누르면해당변수만저장가능 15

MATLAB Programming >> load 파일명 load 파일명 파일명 이름을 갖는 파일로부터 데이터를 읽어와서 workspace 상의 변수에 대입함 16

MATLAB Programming >> load 파일명 load 파일명 파일명 이름을 갖는 파일로부터 데이터를 읽어와서 workspace 상의 변수에 대입함 17

MATLAB Programming >> load 파일명.mat 파일 확장자 (.mat)을 제외한 파일 이름 만으로 데이터를 읽어올 수 있음 18

>> 변수명 = load( 파일명 ) 변수명 = load( 파일명 ) 변수명은 struct() 타입으로되어, 파일에저장되어있는각 MATLAB 데이터들은 struct의원소로들어감 19

Current Folder 의파일더블클릭 myfile.mat 파일 더블클릭시 더블클릭만으로데이터를읽어올수있음 20

MATLAB Programming MAT-file의 저장된 변수명 알아오기 whos( -file, 파일명) 21

MATLAB Programming 일부 변수만 불러오기 load 파일명 변수명 파일명 파일로부터 변수명 으로 적힌 변수들만을 workspace 상으로 읽어옴 22

Quiz 문제 1. 다음은무작위로주어진 3차원공간상의점들을보간 (interpolation) 법을통해 3차원그래프를그리는코드이다. 무작위로주어진각점들의좌표값과보간하여얻어낸그래프의좌표정보를 MAT 파일로저장하라. ( 즉, x, y, z, X, Y, Z) 값을저장 23

Quiz 문제 2. 문제 1에서 3차원공간상의점들과, 그래프에대한각좌표값들을 MAT 파일에저장하였다. 저장한좌표값들을 MAT 파일로부터읽어와서아래그래프를복원하려고한다. 그래프를복원할때, 공간상의점들로부터보간법으로그리는것이아니라, MAT 파일로부터읽어온그래프의좌표값을 mesh 함수를이용하여그리자. 24

Quiz Sol. 좌표값을 MAT 파일에서읽어오기 그래프복원 좌표값을 MAT 파일에저장 25

MATLAB Programming 외부에서 생성한 데이터 읽어오기 메모장에서 데이터 작성 및 저장한 후 MATLAB에서 불러오기 26

MATLAB Programming CVS 파일 (콤마로 구분된 데이터)로 저장하기 MATLAB 에서 cvswrite 함수를 사용하여 CVS 형식으로 저장하면, 각 데이터가 콤마로 구분 27

MATLAB Programming 사용자 지정 구분자로 데이터 저장하기 dlmwrite( 파일명, 저장할 변수명, delimiter, 구분자로 사용할 문자) dlmwrite 함수에서 구분자(delimiter)를 로 주면, 각 데이터가 로 구분 28

사용자지정구분자데이터읽어오기 dlmread( 파일명, 구분자로사용한문자 ) dlmwrite 로저장한텍스트데이터 파일을 load 함수로읽어오게되면모든 데이터를정확하게읽어오지못함 29

MATLAB Programming 복소수를 텍스트 파일에 저장, 텍스트 파일로부터 읽어오기 각각의 복소수가 구분자 로 구분됨 30

Excel 데이터읽어오기 xlsread( 파일명 ) Excel 의첫번째 sheet 의모든데이터를가져옴 특정셀의데이터가비어있다면, MATLAB 은 NaN 으로처리 31

Excel 데이터읽어오기 ( 특정범위데이터읽어오기 ) xlsread( 파일명, 읽어올영역 ) Excel 의첫번째 sheet 의 B2:C4 영역의데이터를가져옴 32

Excel 데이터읽어오기 ( 특정 sheet 데이터읽어오기 ) xlsread( 파일명, 읽어올시트 ) Excel 의 sheet 3 의모든데이터를가져옴 33

MATLAB Programming MATLAB 변수를 Excel에 저장하기 xlswrite( 파일명, 저장할 변수명, Excel Sheet 이름) sheet 이름 생략하면 Sheet1에 저장됨 34

MATLAB Programming MATLAB 변수를 Excel 특정 영역에 저장하기 xlswrite( 파일명, 저장할 변수명, Excel Sheet, 영역) sheet 이름 생략하면 Sheet1에 저장됨 35

MATLAB 변수를 Excel 특정영역에저장하기 새로운데이터를기존엑셀파일에서데이터가존재하는부분에덮어씀 36

MATLAB Programming uiimport : 파일에서 데이터 가져오기 프롬프트에서 >> uiimport라고 입력 데이터를 파일에서 읽어올 지, 클립보드에서 읽어올지 선택 여기서는 dlm_test.txt 파일을 읽어옵시다. 37

uiimport : 파일에서데이터가져오기 dlm_test.txt 파일을읽어옴 2. 데이터를잘잘라주기위해 delimiter 를선택 1. 각행에있는데이터들이모두하나로붙어있음 38

uiimport : 파일에서데이터가져오기 1. 각행에있는데이터들이모두하나로붙어있음 39

uiimport : 파일에서데이터가져오기 import 할모든데이터선택후버튼클릭 40

uiimport : 클립보드에서데이터가져오기 1. 텍스트파일또는엑셀파일에서데이터선택하고, Ctrl+C 또는 복사하기 누름 20x20_magic_matrix.txt 파일을열어, 전체를선택하고 ctrl+c 하여복사 41

uiimport : 클립보드에서데이터가져오기 2. 프롬프트에서 >> uiimport 입력하고, clipboard 버튼선택 42

uiimport : 클립보드에서데이터가져오기 3. 클립보드에들어있는데이터를읽음 43

MATLAB Programming 파일 입출력을 위한 Dialog Box uigetfile : 파일을 가져오기 위한 dialog box 44

MATLAB Programming 파일 입출력을 위한 Dialog Box uiputfile : 파일을 저장하기 위한 dialog box 45

Low Level File I/O 지금까지학습한파일입출력방법은데이터의크기등이균일해야함 서로다른데이터타입, 서로다른크기의데이터가혼재되어있는 파일을읽고쓰기위해서는저수준파일입출력함수들을이용해야함 파일열기 fid = fopen( 파일명, 모드 ) fid는파일식별자 (file identifier) 파일닫기 st = fclose( fid ) 파일닫기성공시 0 리턴 파일닫기실패시 1 리턴 모드 r 모드에따른파일입출력작동 읽기전용으로파일을연다 r+ 읽기, 쓰기겸용으로파일을연다. w w+ a a+ 주어진파일명을갖는새로운파일을만든다. 주어진파일명과동일한파일이있으면, 파일을지우고새롭게파일을만든다. 만들어진파일을쓰기위해서연다. 주어진파일명을갖는새로운파일을만든다. 주어진파일명과동일한파일이있으면, 지우고새롭게파일을만든다. 만들어진파일을읽고쓰기위해서연다. 새로운파일을만들고연다. 같은이름의파일이존재하면쓰기위해서파일을연다. 데이터를쓰면, 그데이터는파일의끝에덧붙는다. 새로운파일을만들고연다. 같은이름의파일이존재하면읽고, 쓰기위해서파일을연다. 데이터를쓰면, 그데이터는파일의끝에덧붙는다. 46

MATLAB Programming Low Level File I/O fprintf 함수 count = fprintf( fid, format, A, ) 파일 식별자 fid를 갖는 파일에 A와 그 뒤에 입력되는 변수들의 값을 forma에 맞추어서 쓴다. 쓰여진 데이터의 bytes 수를 count 변수에 반환한다. fid 생략하면 화면에 출력 생성된 fprintf_test.txt 파일 47

Low Level File I/O fprintf 함수 format 의의미 Conversion Specifier 의미 %c 하나의문자표시 %d 십진법으로표시 %e 지수형태로표시 ( 소문자 e 이용 ) %E 지수형태로표시 ( 대문자 E 이용 ) Format의시작을의미 Flag Field width Precision Conversion Specifier %f 고정소수점으로표시 %g 중요하지않은 0 표시하지않음 %e, %f 보다간결한표현 %o 8 진법으로표시 %s 문자열로표시 %u 부호가없는십진법으로표시 %x 16 진법으로표시 ( 소문자 a-f) %X 16 진법으로표시 ( 대문자 A-F) %-12.5f Flag 의미 예 - 주어진 field의왼쪽으로정렬 %-8.2d + 부호표시 %+8.2d 0 빈공간에 0 채움 %08.2d 48

Low Level File I/O 49

MATLAB Programming Low Level File I/O fscanf 함수 : 데이터를 지정한 format에 맞게 읽어 들이는 함수 A = fscanf( fid, format, size ) 파일 식별자 fid를 갖는 파일로부터 format에 지정된 형식으로 데이터를 size 개수 만큼 읽어 들임 읽어 들인 데이터는 열 벡터의 형태로 반환하여 A 변수에 저장 읽어들이고자 하는 fscanf_test.txt 50

MATLAB Programming Low Level File I/O fscanf 함수 A = fscanf( fid, format, size ) size 가 [M N]으로 설정되면, M x N 크기를 갖는 행렬의 형태로 읽어 들임 size가 inf가 되면, 주어진 파일의 끝까지 읽어 들임 읽어들이고자 하는 fscanf_mat_test.txt 51

Quiz 아래와같이다양한형식의정보가혼합된데이터를파일로부터읽어와서, 구조체배열에저장해봅시다. measurement.txt 구조체배열 meas(1) meas(2) meas(3) time : 12:00:00 date : 01-Jan-1977 dat: [4.21 6.55 6.78 6.55; ] 52

Quiz Sol. 53

Quiz 아래그래프를그리기위해다음과같이 X, Y, Z 값을계산하면된다. >> t = 0:pi/10:2*pi; >> [X,Y,Z] = cylinder(1+cos(t).*sin(2*t)); >> surf( X, Y, Z); X, Y, Z 값은각각 21 x 21 크기의행렬로구성되어있다. X, Y, Z 행렬 ( 좌표값 ) 을 surf_plot.txt 파일에저장했다가, surf_plot.txt 파일에저장된데이터값 ( 좌표값 ) 을읽어서동일한 그래프를그려보자. 좌표저장 파일에좌표값저장 좌표복원 54

Quiz Sol. 좌표저장코드 좌표복원코드 55