93 7 MATLAB Octave MATLAB Octave MAT MATLAB Octave copyright c 2004 Tatsuya Kitamura / All rights reserved.
94 7 7.1 UNIX Windows pwd Print Working Directory >> pwd ans = /home/kitamura/matlab pwd cd Change Directory.. 1 >> cd.. >> pwd ans = /home/kitamura >> cd matlab/signal >> pwd ans = /home/kitamura/matlab/signal ls LiSt dir DIRectory ls UNIX UNIX Windows MATLAB MATLAB MATLAB MATLAB 7.2 MATLAB 7.2.1 save
7.2. MATLAB 95 POINT save save 1 MATLAB MAT >> save data01 x x data01.mat >> save data01.mat x.mat data01.mat >> save data02 MAT 1 MAT OS MATLAB 5.0 MAT-file, Platform:LNX86, Created on:xxxxxxxxxx 2000 1 >> save data03 x y z wildcard * 0 x1 x01 x10 x11 4 x1 x10 x11 3 data04.mat
96 7 >> save data04 x1* x01 >> save data05 x0* TRY save data06 x*1 save 7.1 7.1: MATLAB save -ascii 8 -ascii -double 16 -tabs -append MAT -v4 MATLAB ver. 4 MAT y 8 data07.txt >> y = magic(3); >> save data07.txt y -ascii -tabs data07.txt 8.0000000e+00 1.0000000e+00 6.0000000e+00 3.0000000e+00 5.0000000e+00 7.0000000e+00 4.0000000e+00 9.0000000e+00 2.0000000e+00
7.2. MATLAB 97 Tips >> readme= /a/ of speaker B recorded on May 3 >> save speakerb-a.mat readme speech README 7.2.2 load POINT load load MAT data01.mat MAT.mat >> load data01.mat >> load data03.mat x y >> load data04.mat x*0
98 7 load 7.2 7.2: MATLAB load -ascii -mat MAT foo.bar MAT >> load foo.bar -mat 7.3 Octave 7.3.1 save POINT save MATLAB save 1 Octave 1 --traditional --braindead Octave MAT octave:5> save data01.txt x octave:6> save data02.txt
7.3. Octave 99 1 octave:7> save data03.txt x y z? * 1 0 x1 x01 x10 x11 4 x10 x11 2 octave:8> save data04.txt x1? x1 x10 x11 3 octave:9> save data05.txt x1* TRY save data06 x?1 save 7.3 y MAT data07.mat octave:10> y = eye(3); octave:11> save -mat-binary data07.mat y 7.3: Octave save -ascii Octave -binary Octave -float-binary Octave -mat-binary MAT 7.3.2 load POINT load load
100 7 MATLAB Octave -force Octave data01.txt octave:15> load data01.txt octave:16> load data03.txt x y octave:17> load data04.txt x?0 load 7.4 7.4: Octave load -force -ascii Octave -binary Octave -mat-binary MAT Octave ver. 2.0.16 -mat-binary MATLAB ver. 4 MAT MAT- LAB save -v4 7.4 MATLAB delimiter dlmread dlmwrite MATLAB MATLAB 1 1 7.2.1 -tab
7.5. 101 >> a=[98 87 92 85 93; 1.5 0.8 1.1 1.2 1.0]; >> dlmwrite( datafile.txt,a,, ) datafile.txt 98,87,92,85,93 1.5,0.8,1.1,1.2,1 Microsoft Excel MATLAB >> b=dlmread( budget.txt,, ); 7.5 save load 7.5 C C 5 7.5.1 7.5 fopen fopen file identifier 7.6
102 7 fopen fclose fwrite fread fprintf fscanf fgetl fgets ferror feof fseek ftell frewind 7.5: 1 1 EOF 7.6: r w a r+ r >> fid=fopen( foo.bar, r ); w 1 message >> [fid,message]=fopen( foo.bar, r ); foo.bar message
7.5. 103 >> message message = Cannot open file. Existence? Permissions? Memory?... fclose >> status=fclose(fid); status 0 1 7.5.2 fwrite MATLAB OS 7.7 7.8 Octave 7.7: MATLAB uchar unsigned char 8 schar signed char 8 int8 integer 8 int16 integer 16 int32 integer 32 int64 integer 64 uint8 unsighed integer 8 uint16 unsighed integer 16 uint32 unsighed integer 32 uint64 unsighed integer 64 single floating point 32 float32 floating point 32 double floating point 64 float64 floating point 64 32 integer >> fid=fopen( eye5.bin, w ); >> count=fwrite(fid,eye(5), int32 ); >> fclose(fid);
104 7 fwrite count 25 fclose 7.8: MATLAB char character 8 short integer 16 int integer 32 long integer 32 64 ushort unsighed integer 16 uint unsighed integer 32 ulong unsighed integer 32 64 float floating point 32 fread inf [M N] M N 7.7 7.8 uchar eye(5) eye5.bin 5 5 >> fid=fopen( eye5.bin, r ); >> e=fread(fid,[5 5], int32 ); >> fclose(fid); e fwrite count >> [e,count]=fread(fid,[5 5], int32 ); >> count count = 25
7.5. 105 M 7.5.3 fprintf 7.9 7.9: %d 10 %e %f %g %e %f %c %s \n \t %% % fopen fclose >> fprintf(fid, pi=%f\n,pi); pi=3.141693 13. 10 π >> fprintf(fid, pi=%13.10f\n,pi); pi= 3.1415926536 = 1 %13.10f 13.
106 7 1 temp date >> fprintf(fid, %2d\t%4.1f\n,[date;temp]); \t 1 28.1 2. 29.5 30 31.5 31 30.2 fscanf 7.9 fread [M N] M N %d %f >> data=fscanf(fid, %d %f ); data 1 [2 31] data 2 31 >> data=fscanf(fid, %d %f,[2 31]); data(2,:) 2 >> [data,count]=fscanf(fid, %d %f,[2 31]); >> count count = 62
7.5. 107 fscanf fgetl fgets 1 2 fgetl fgets 1 EOF End Of File 1 >> data=fgetl(fid) data = 1 28.1 >> data=fgetl(fid) data = 2 29.5. >> data=fgetl(fid) data = 31 30.2 >> data=fgetl(fid) data = -1 Tips MATLAB 1 2 >> fprintf(1, pi=%f\n,pi); pi=3.141593 Octave fprintf printf octave:10> fprintf(stdout, pi=%f\n,pi); pi=3.141593 octave:11> printf( 2*pi=%f\n,2*pi); 2*pi=6.283185