MATLAB for C/C++ Programmers

Similar documents
MATLAB for C/C++ Programmers

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

설계란 무엇인가?

PowerPoint 프레젠테이션

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

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

PowerPoint 프레젠테이션

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint APUE(Intro).ppt

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

PowerPoint 프레젠테이션

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

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

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

쉽게 풀어쓴 C 프로그래밍

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

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

슬라이드 1

Microsoft PowerPoint - e pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - 제11강 파일 처리

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

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

Microsoft PowerPoint - chap4 [호환 모드]

PowerPoint 프레젠테이션

PowerPoint Presentation

슬라이드 1

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

WS12. Security

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

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

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

KNK_C02_form_IO_kor

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

Microsoft PowerPoint - Chapter_04.pptx

1아이패드(13~54)

<BEC8BEE7B4EBBDC7BDC0C0DAB7E12E687770>

03 상수, 변수, 자료형

PowerPoint Template

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

Microsoft PowerPoint - [2009] 02.pptx

BMP 파일 처리

슬라이드 1

02장.배열과 클래스

Microsoft PowerPoint - Lesson13.pptx

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

PowerPoint 프레젠테이션

Microsoft PowerPoint - ch07 - 포인터 pm0415

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

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

Microsoft PowerPoint - chap06-2pointer.ppt

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

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

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

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

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

MATLAB

실험 5

C Programming

KNK_C_05_Pointers_Arrays_structures_summary_v02

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

歯9장.PDF

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

OOO Paint

PowerPoint Presentation

(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)

<4F E20C7C1B7CEB1D7B7A5C0BB20C0CCBFEBC7D120B5A5C0CCC5CD20BAD0BCAE20B9D720B1D7B7A1C7C120B1D7B8AEB1E F416E616C F616E645F47726

Microsoft PowerPoint - Chap14_FileAccess.pptx

C 프로그램의 기본

PowerPoint 프레젠테이션

14장 파일

OCW_C언어 기초

tiawPlot ac 사용방법

슬라이드 1

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

Visual Basic 반복문

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

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

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

Microsoft PowerPoint - C++ 5 .pptx

MATLAB and Numerical Analysis

MATLAB for C/C++ Programmers

기초컴퓨터프로그래밍

11장 포인터

PowerPoint Presentation

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

Microsoft PowerPoint - chap04-연산자.pptx

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

chap7.key

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

Microsoft PowerPoint - J1C_User_Manual_V5.2.pptx

NTD36HD Manual

Microsoft PowerPoint - chap4_2013 [호환 모드]

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

Microsoft PowerPoint - lect08

(Microsoft PowerPoint - Ch19_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

API 매뉴얼

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

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

본 강의에 들어가기 전

Transcription:

파일입출력 1

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 에서사용하는파일입출력함수들과거의동일 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 47

Low Level File I/O 48

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

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

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; ] 51

Quiz Sol. 52

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 파일에저장된데이터값 ( 좌표값 ) 을읽어서동일한 그래프를그려보자. 좌표저장 파일에좌표값저장 좌표복원 53

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