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

Similar documents
MATLAB for C/C++ Programmers

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

MATLAB for C/C++ Programmers

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

歯9장.PDF

PowerPoint 프레젠테이션

슬라이드 1

PowerPoint 프레젠테이션

chap7.key

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

BMP 파일 처리

PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

chap 5: Trees

쉽게 풀어쓴 C 프로그래밍

PowerPoint Template

Microsoft PowerPoint - 제11강 파일 처리

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

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

<C6F7C6AEB6F5B1B3C0E72E687770>

설계란 무엇인가?

Microsoft PowerPoint 웹 연동 기술.pptx

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

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - lect08

Columns 8 through while expression {commands} 예제 1.2 (While 반복문의이용 ) >> num=0

2007_2_project4

C Programming

MySQL-.. 1

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

Microsoft PowerPoint - Chap14_FileAccess.pptx

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

step 1-1

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

Chapter 4. LISTS

14장 파일

본 강의에 들어가기 전

Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx

C# Programming Guide - Types

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

강의 개요

Microsoft PowerPoint APUE(Intro).ppt

슬라이드 1

PowerPoint 프레젠테이션

UI TASK & KEY EVENT

Orcad Capture 9.x

Microsoft PowerPoint - chap4 [호환 모드]

API 매뉴얼

PowerPoint Presentation

Secure Programming Lecture1 : Introduction

PowerPoint 프레젠테이션

슬라이드 1

Microsoft PowerPoint - 09_(C_Programming)_(Korean)_File_Processing

목차 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 - e pptx

CAD 화면상에 동그란 원형 도형이 생성되었습니다. 화면상에 나타난 원형은 반지름 500인 도형입니다. 하지만 반지름이 500이라는 것은 작도자만 알고 있는 사실입니다. 반지름이 500이라는 것을 클라이언트와 작업자들에게 알려주기 위 해서는 반드시 치수가 필요하겠죠?

제1장 Unix란 무엇인가?

Observational Determinism for Concurrent Program Security

Chapter 1

Microsoft Word - USB File System Module User Manual _Host Mass Storage Class_.doc

13 주차문자열의표현과입출력

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C4C656D70656C2D5A69762E637070>

12-file.key

Microsoft PowerPoint - Lesson13.pptx

제12장 파일 입출력

(SW3704) Gingerbread Source Build & Working Guide

DocsPin_Korean.pages

MATLAB and Numerical Analysis

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - 10_C_Language_Text_Files

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

KNK_C02_form_IO_kor

<4D F736F F F696E74202D20C4C4C8B031B1DEC7CAB1E22DC0FCC3BCB1B3C0E72D D3133B3E232C8B8B1EEC1F6202D20BAB9BBE7BABB2E707074>

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

Index Process Specification Data Dictionary

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

Microsoft PowerPoint - chap04-연산자.pptx

MAX+plus II Getting Started - 무작정따라하기

ºÎ·ÏB

Tcl의 문법

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

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

DIY 챗봇 - LangCon

슬라이드 1

USER GUIDE

PowerPoint Template

Microsoft PowerPoint APUE(File InO).pptx

untitled

PowerPoint Presentation

06장.리스트

Microsoft PowerPoint - 27.pptx

K7VT2_QIG_v3

<3130C0E5>

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

PowerPoint 프레젠테이션

11장 포인터

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

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

Transcription:

DoeHoon Lee, Ph.D dohoon@pnu.edu Visual Computing & Biomedical Computing Lab(VisBiC) School of Computer Science & Engineering Pusan National University http://visbic.cse.pnu.edu/ cse pnu edu/ 파일열기와닫기 fopen fclose 파일읽기 textread load fread fgetl, fgets textscan 파일쓰기 save fprintf sprintf fwrite 파일관련함수들 exist, fseek, ferror, frewind 등 2 파일읽기 textread : 텍스트, textscan이 flexible 선호함. [a, b, c, ] = textread(filename, format, n) load : MAT 파일, ascii 파일 workspace로읽음. fread : 이진데이터를지정한서식으로읽음. [array,count]=fread(fid,size,precision) fscanf : 파일로부터서식화된데이터, 지정한방식으로읽음. array=fscanf(fid,format)/[array,count]=fscanf(fid,format,size) fgetl : 줄바꿈제외한줄읽음. line=fgetl(fid) fgets : 줄바꿈포함한줄읽음. line=fgets(fid) textscan : 서식화된아스키파일읽어서셀배열에저장. a=textscan(fid,'format',n,param,value...) 파일쓰기 save:matlab 자료 HDD에저장. m-file 저장. ascii도가능 fprintf : count=fprintf(fid,format,val1,...) sprintf : string=sprintf(format,val1,vl2...) fwrite : 이진데이터사용자가지정한서식으로파일에씀. c=fwrite(fid,array, precision) textread ASCII 데이터를읽을때사용 textread 보다 textscan 이빠르고 flexible 하기때문에선호함 [a, b, c, ] = textread(filename, format, n) format : 각줄의자료타입. 양식은 fprintf과같다. n : 읽어야할줄수. 언급이없으면 EOF 까지 [first, last, blood, gpa, age, answer]= textread('test_input.dat', '%s %s %s %f %d %s') 일부만읽고싶을때변환자에 * 을삽입 [first, last, blood, gpa, age, answer]= textread('test_input.dat', '%s %s %*s %f %*d %*s') %test_input.dat James Jones O+ 3.0 22 Yes Sally Simth A+ 3.28 23 No first = 'James' 'Sally last = 'Jones' 'Simth blood = 'O+' 'A+ gpa = 3.000 3.2800 age = 22 23 answer = 'Yes' 'No 3

save MATLAB 의자료를하드디스크에저장. Binary 타입의 MAT 파일 (M file) ASCII 로저장할때는명시 save filename [list of variables] [options] filename.m 로저장 큰용량의자료를저장할때는 compresss 사용 1000개의 double array x와문자열변수 str을다음과같이저장 >> save test_matfile >>whos file test_matfile.mat save 옵션 옵션 설명 -mat MAT 파일서식으로데이터를저장 ( 기본값 ) -compress 디스크공간을절약하기위해데이터압축 -nocompress 데이터를압축하지않는다 ( 기본값 ) -ascii 공백으로분리된 ascii 서식으로데이터저장 -append 지정한변수를기존의 MAT 파일에추가 -unicode 유니코드부호화규칙에따라문자데이터저장 ( 기본값 ) -nounicode 현재시스템의부호화규칙에따라문자데이터저장 -v MATLAB 버전에서읽을수있는서식으로 MAT 파일저장 5 load MAT 파일이나보통의 ascii 파일로부터 data 를 workspace 로불러옴 load filename [option] 옵션 옵션 설명 -mat 파일을 MAT 파일로간주 ( 파일확장자가 mat 면기본값 ) -ascii 단점 파일공백으로분리한 ASCII 파일로간주 ( 파일확장자가 mat 가아니면기본값 ) 파일서식이독특하여다른프로그램과공유안됨 save ascii 로는셀또는구조체배열데이터저장할수없다. 문자열데이터는수치로변환후저장 6 fopen 함수 파일을연후이파일에사용할파일식별자를반환 fid = fopen(filename, permission) [fid, message]=fopen(filename, permission) [fid, message]=fopen(filename, permission, i format) permission : 파일을여는방식지정하는문자열 format : 파일내데이터의수치서식을지정하는선택적문자열 파일열기에성공하면 fid 는양의정수, message 는빈문자열. 파일열기에실패하면 -1, message 는오류를나타내는문자열 허용문자열 (permission) 현재열려있는모든파일 fid( 파일식별자 ) 를담은행벡터를구하기위한명령어 fids = fopen( all ) 열려있는파일식별자의파일이름, 허용문자열과수칙서식을얻기위해서는 [filename, permission, format] = fopen(fid) 파일허용문자열 설명 r 읽기전용으로연다 ( 기본값 ) r+ 읽기 / 쓰기용으로연다 w 기존내용삭제하거나새로운파일을만들어쓰기전용으로연다 ( 기본값 ) w+ 기존내용삭제하거나새로운파일을만들어읽기 / 쓰기용으로연다 a 기존파일이나새로운파일을쓰기전용으로연후파일끝에자료추가 a+ 기존파일이나새로운파일을읽기 / 쓰기용으로연후파일끝에자료추가 W A 자동플러싱 ( 자기테이프용특수명령어 ) 없이쓰기 자동플러싱없이추가하기 7 8

입력을위한이진파일열기 File close fid = fopen('ex.dat', 'r') status = fclose(fid) 텍스트출력을위한파일열기 fid = fopen('out','wt') fid = fopen('out','at') 'at') % 기존파일에추가 읽기 / 쓰기를위한이진파일열기 닫기성공 : 0, 실패 : -1 status = fclose( all ) stdout(fid=1) 과 stderr(fid=2) 을제외한모든열린파일닫음. 성공 : 0, 실패 : -1 fid = fopen('junk','r+') % 파일이존재해야 fid = fopen('junk','w+') % 기존파일삭제또는새로만듬 9 10 fwrite 함수 fread 함수 이진데이터를사용자가지정한서식으로파일에씀 count=fwrite(fid, array, precision) count=fwrite(fid, array, precision, skip) array : 쓸값을담을배열 (column major) count : 파일에쓴값의개수 precision : 데이터의출력서식지정 (Table 8.6) skip : 쓰기전에건너뛸수있는수. 단위는앞에지정한 precision 에따른다. 파일로부터이진데이터를사용자가지정한서식으로읽은후, 이와는다를수있는사용자서식으로데이터를반환 [array, count] = fread(fid, size, precision) [array, count] = fread(fid, size, precision, skip) size : 읽을자료의양지정 n : 정확하게 n 개의값을읽음. array 는파일로부터읽어들인 n 개의값을담을열벡터 Inf : 파일끝까지, [n m] : n x m 개 11 12

fprintf 함수 fprintf(fid, format, val1, val2, ) fprintf(fid, val1, val2, ) 지정자 설명 %c 단일문자 %d 10 진정수 %e e를사용하는지수표기법 %E E를사용하는지수표기법 %f 부동소수점표기 %g %e와 %f 중에길이가작은것. 유효숫자가아닌 0은나타나지않음 %G %g와같으나지수표기법에서 E를사용 %o 부호없는 8진수표기법 %s 문자열 %u 부호없는 10진정수 %x 16진수표기법 ( 소문자 a-f 사용 ) %X 16 진수표기법 ( 대문자 A-F 사용 ) 예 함수결과설명 fprintf( %d\n, 123) ---- ---- 필요한만큼 123 fprintf( %6d\n, 123) ---- ---- 123 6자리폭에 필드내에서숫자는오른쪽정렬 fprintf( %6 %6.d\n d\n, 123) ---- ---- 6 문자폭에서최소한네숫자를사용하여수를표시. 기 0123 본적으로필드에서숫자는오른정렬 fprintf( %-6.d\n, 123) ---- ---- 0123 6문자폭에네숫자사용하여숫자표시. 필드내에서숫자는왼쪽정렬 (-) 부호를사용. 6자리폭사용. 숫자는오른정렬 fprintf( %+6.d\n, 123) ---- ---- 부호를사용 자리폭사용 숫자는오른정렬 +0123 13 1 예 - 문자열 함수결과설명 fprintf( %c\n, s ) ---- ---- 단일문자표현 s fprintf( %s\n, string ) ---- ---- string 문자열표시 a = [10 20 30 0] fprintf( Output = %d %d\n, a) a=10; b=15; c=20; fprintf( Output=%d\nOutput=%.1f\n, a, b, c) Output t = 10 20 Output = 30 0 fprintf( %8s\n, string ) ---- ---- 8 문자폭에문자열표현 string fprintf( %-8s\n, string ) ---- ---- string 8 문자폭에문자열. 왼쪽정렬 (-) Output= 10 Output=15.0 Output= 20 Output=>> 15 16

sprintf 함수 string = sprintf(format, val1, val2, ) fscanf 함수 파일로부터서식화된데이터를사용자가지정한방식으로읽음 array=fscanf(fid, format) [array, count] = fscanf(fid, format, size) 17 18 예 fid = fopen('x.dat','r') 'r') [z,count]=fscanf(fid,'%f'); frewind(fid) [zz, count]=fscanf(fid,'%f',[2 f(fid 2]) frewind(fid) [zz2,count]=fscanf(fid,'%d',inf) frewind(fid) [zz3,count]=fscanf(fid,'%d.%d', [1 Inf]) frewind(fid) [zz,count]=fscanf(fid,'%c') frewind(fid) [zz5,count]=fscanf(fid,'%s') fclose(fid) fid = 3 z = 10 20 30 0 zz = 10 30 20 0 zz2 = 10 1 zz3 = 10 0 20 0 30 0 0 0 8 zz = 10.00 20.00 30.00 0.00 26 zz5 = 10.0020.0030.000.00 0 fgetl 파일로부터줄바꿈문자를제외하고다음한줄을문자열로읽음 line = fgetl( fid ) 19 20

fgets 파일로부터줄바꿈문자를포함하여다음줄을문자열로읽음 line = fgets(fid) exist : 작업공간내의변수, 내장함수, 파일존재여부확인 ident = exist( item ) ident = exist( item, kind ) kind : 유형 var, file, builtin, dir 반환값종류 0 : 대상이존재하지않음 1 : 현재작업공간내의변수 2 : M 파일또는알려지지않은유형의파일 3 : MEX 파일 : MDL 파일 5 : 내장함수 6 : P 파일 7 : 디렉토리 8 : Java class 21 22 ferror 오류지시자를가져와이해하기쉬운문자메시지로번역 message = ferror(fid) message = ferror(fid, clear ) [ message, errnum] = ferror(fid) feof 파일의끝인지검사 eofstat = feof(fid) 파일끝 : 논리참값 (1), 아니면 : 0 ftell fid로지정한파일의파일위치지시자의현재값반환. 위치는파일의첫머리로부터거리를바이트단위로재어 0이아닌정수로표현. -1 : 실패 : position = ftell(fid) frewind 파일의지시자를파일처음으로. : frewind(fid) fseek 파일의위치지시자를파일내의임의의위치로보냄 : status = fseek(fid, offset, origin) origin - bof : 파일첫머리, cof : 현위치, eof : 파일끝 textscan 유형이서로다를수도있는데이터의열을서식화된아스키파일을읽어서셀배열에저장 a = textscan(fid, format ) a = textscan(fid, format, N) a = textscan(fid, format, param, value, ) a = textscan(fid, format, N, param, value, ) 23 2

fid = fopen( test_input1.dat, rt ) a = textscan(fid, %s %s %s %f %d %s, -1) a = Columns 1 through %test_input1.dat James Jones O+ 3.0 22 Yes Sally Simth A+ 3.28 23 No Hans Carter B- 2.8 19 Ye Sam Spade A+ 3.12 21 Yes {x1 cell} {x1 cell} {x1 cell} [x1 double] Columns 5 through 6 [x1 int32] {x1 cell} uiimport structure = uiimport >> a{1} 'James' 'Sally' 'Hans' 'Sam' 25 26 열 \ 행 B C D E F G 1 2 xlsread 명령 var = xlsread( filename ) filename : 엑셀파일이름 엑셀파일에여러 sheet 가있으며첫번째 sheet 읽음 3 5 6 7 xlswrite을사용한다 xlswrite( filename, variablename) sheetname과 range 를사용할수있음 varablename : array or cell array 특정 sheet 에서읽을때 var = xlsread( filename, sheetname ) sheet 의이름 (sheetname) 은문자열형태로입력 특정위치의일부분 var = xlsread( filename, sheetname, range ) range 는문자열형태로입력. 사각형영역을의미한다 예. C2:E5 는열 2,3,,5 행 C, D, E 을의미하는 x 3 영역을의미 Ex SUCCESS = XLSWRITE('c:\matlab\work\myworkbook.xls',A,'A2:C') Write A to the workbook file, myworkbook.xls, and attempt to fit the elements of A into the rectangular worksheet region, A2:C. On success, SUCCESS will contain true, while on failure, SUCCESS will contain false. 27 28

csvread 이용 Given the file csvlist.dat that contains the comma-separated values M = csvread(filename) M = csvread(filename, row, col) M = csvread(filename, row, col, range) 02, 0, 06, 08, 10, 12 03, 06, 09, 12, 15, 18 05, 10, 15, 20, 25, 30 07, 1, 21, 28, 35, 2 11, 22, 33,, 55, 66 To read the entire file, use >>csvread('csvlist.dat') 2 6 8 10 12 M= csvread(filename, row, col, range) reads only the range specified. Specify range using the notation [R1 C1 R2 C2] where (R1,C1) is the upper left corner of the data to be read and (R2,C2) is the lower right corner. You can also specify the range using spreadsheet notation, as in range = 'A1..B7'. 3 6 9 12 15 18 5 10 15 20 25 30 7 1 21 28 35 2 11 22 33 55 66 To read the matrix starting with zero-based row 2, column 0, and assign it to the variable m, >>m = csvread('csvlist.dat', 2, 0) m = 5 10 15 20 25 30 7 1 21 28 35 2 11 22 33 55 66 To read the matrix bounded by zero-based (2,0) and (3,3) and assign it to m, >>m = csvread('csvlist.dat', 2, 0, [2,0,3,3]) m = 5 10 15 20 7 1 21 28 29 30 csvwrite 이용 dlmwrite Write matrix to ASCII-delimited file csvwrite(filename,m) csvwrite(filename,m,row,col) m = [3 6 9 12 15; 5 10 15 20 25;... 7 1 21 28 35; 11 22 33 55]; >>csvwrite('csvlist.dat',m) type csvlist.dat Syntax dlmwrite(filename, M) dlmwrite(filename, M, 'D') dlmwrite(filename, M, 'D', R, C) dlmwrite(filename, M, 'attrib1', value1, 'attrib2', value2,...) dlmwrite(filename, M, '-append') dlmwrite(filename, M, '-append', attribute-value list) 3, 6, 9,12,15, 5,10,15,20,25 7,1,21,28,35 11,22,33,,55 The next example writes the matrix to the file, starting at a column offset of 2. >>csvwrite('csvlist.dat',m,0,2) type csvlist.dat,,3,6,9,12,15,,5,10,15,20,25,,7,1,21,28,35 dlmread Read ASCII-delimited file of numeric data into matrix Graphical Interface As an alternative to dlmread, use the Import Wizard. To activate the Import Wizard, select Import data from the File menu. Syntax M = dlmread(filename) M = dlmread(filename, delimiter) M = dlmread(filename, delimiter, R, C) M = dlmread(filename, delimiter, range),,11,22,33,,55 31 32

Example 1 Export the 5-by-8 matrix M to a file, and read it with dlmread, first with no arguments other than the filename: >>rand('state', 0); M = rand(5,8); M = floor(m * 100); >>dlmwrite('myfile.txt', myfile.txt M, 'delimiter', '\t') >>dlmread('myfile.txt') 95 76 61 0 5 20 1 1 23 5 79 93 35 19 7 8 60 1 92 91 81 60 52 8 82 73 1 0 27 93 20 89 17 89 13 19 6 67 Now read a portion of the matrix by specifying the row and column of the upper left corner: >>dlmread('myfile.txt', '\t', 2, 3) 91 81 60 52 1 0 27 93 20 89 13 19 6 67 This time, read a different part of the matrix using a range specifier: >>dlmread('myfile.txt', '\t', 'C1..G') 61 0 5 20 1 79 93 35 19 7 92 91 81 60 73 1 0 27 93 Example 2 Export matrix M to a file, and then append an additional matrix to the file that is offset one row below the first: >>M = magic(3); >>dlmwrite('myfile.txt', t t' [M*5 M/5], ' ') >>dlmwrite('myfile.txt', rand(3), '-append',... 'roffset', 1, 'delimiter', ' ') type myfile.txt 80 10 15 65 3.2 0. 0.6 2.6 25 55 50 0 1 2.2 2 1.6 5 35 30 60 1.8 1. 1.2 2. 20 70 75 5 0.8 2.8 3 0.2 0.99008 0.9831 0.3200 0.78886 0.21396 0.9601 0.3866 0.639 0.72663 When dlmread imports these two matrices from the file, it pads the smaller matrix with zeros: >>dlmread('myfile.txt') 0.0000 5.0000 30.0000 1.6000 0.2000 1.2000 15.0000 25.0000 35.0000 0.6000 1.0000 1.000 20.0000 5.0000 10.0000 0.8000 1.8000 0.000 0.6038 0.0153 0.9318 0 0 0 0.2722 0.768 0.660 0 0 0 0.1988 0.51 0.187 0 0 0 33 3 Example 1 Export matrix M to a file delimited by the tab character and using a precision of six significant digits: >>dlmwrite('myfile myfile.txt txt', M, 'delimiter', '\t',... 'precision', 6) >>type myfile.txt 0.893898 0.2809 0.582792 0.32907 0.199138 0.6922 0.2396 0.22595 0.298723 0.067811 0.515512 0.579807 0.6613 0.988335 0.333951 0.760365 Example 2 Export matrix M to a file using a precision of six decimal places and the conventional line terminator for the PC platform: >>dlmwrite('myfile myfile.txt txt', m, 'precision', '%.6f 6f',... 'newline', 'pc') type myfile.txt 16.000000,2.000000,3.000000,13.000000 5.000000,11.000000,10.000000,8.000000 9.000000,7.000000,6.000000,12.000000.000000,1.000000,15.000000,1.000000 Example 3 Export matrix M to a file, and then append an additional matrix to the file that is offset one row below the first: >>M = magic(3); dlmwrite('myfile.txt', txt' [M*5 M/5], ' ') >>dlmwrite('myfile.txt', rand(3), '-append',... 'roffset', 1, 'delimiter', ' ') >>type myfile.txt 0 5 30 1.6 0.2 1.2 15 25 35 0.6 1 1. 20 5 10 0.8 1.8 0. 0.8172 0.91338 0.2785 0.90579 0.63236 0.5688 0.12699 0.0975 0.95751 When dlmread imports these two matrices from the file, it pads the smaller matrix with zeros: >>dlmread('myfile.txt') 0.0000 5.0000 30.0000 1.6000 0.2000 1.2000 15.0000 25.0000 35.0000 0.6000 1.0000 1.000 20.0000 5.0000 10.0000 0.8000 1.8000 0.000 0.817 0.913 0.2785 0 0 0 0.9058 0.632 0.569 0 0 0 0.1270 0.0975 0.9575 0 0 0 35 36