155GIT1 / 4. cvičení: Porovnání verzí

Z GeoWikiCZ
m (Obsah stránky nahrazen textem „{{Geoinformatika}} {{Cvičení|155GIT1|4|}} == Náplň == == Ukázky == == Úlohy == * 4. cvičení - příklady…“)
značka: nahrazeno
mBez shrnutí editace
Řádek 1: Řádek 1:
{{Geoinformatika}}
{{Geoinformatika}}
{{Cvičení|155GIT1|4|}}
{{Cvičení|155GIT1|4|Čtení formátovaných dat}}


== Náplň ==
== Náplň ==


# čtení dat z textového souboru do matice (ke stažení [http://geo102.fsv.cvut.cz/vyuka/155GIT1/data/cv3data.txt cv3data.txt])


== Ukázky ==
== Ukázky ==


=== Formátované čtení dat ===


''(čtení z textového souboru)''
<source lang=octave>
fid = fopen('cv3data.txt','r');
bxy = fscanf(fid,'%f',[3,inf]);
bxy = bxy';    % pro shodné rozměry matice jako v datovém souboru
fclose(fid);
% přeskakování položek
xy = fscanf(fid,'%*f %f %f',[2,inf]);
xy = xy';
</source>
''(čtení z řetězce)''
<source lang=octave>
s = sscanf('10.2 5.222','%f %f')
</source>
=== Změna polohy kurzoru v souboru ===
<source lang=octave>
fid = fopen('s.txt','w');
fprintf(fid,'%f\n',[1 2; 3 4]');
fclose(fid);
type s.txt
1.000000
2.000000
3.000000
4.000000
fid = fopen('s.txt','r');
a = fscanf(fid,'%f',[1, inf])
b = fscanf(fid,'%f',[2, inf])  % kurzor je již na konci datového souboru s.txt
fseek(fid,0,'bof');            % totožně fseek(fid,0,-1); anebo frewind(fid);
b = fscanf(fid,'%f',[2, inf])
fseek(fid,2,'bof');
c = fscanf(fid,'%f',[2, inf])
fclose all;
</source>


== Úlohy ==
== Úlohy ==
* [[155GIT1 / 4. cvičení / Příklady|4. cvičení - příklady]]
* [[155GIT1 / 4. cvičení / Příklady|4. cvičení - příklady]]
<!-- -->
<!-- -->

Verze z 9. 2. 2022, 22:09

Čtení formátovaných dat

Náplň

  1. čtení dat z textového souboru do matice (ke stažení cv3data.txt)

Ukázky

Formátované čtení dat

(čtení z textového souboru)

 fid = fopen('cv3data.txt','r');
 bxy = fscanf(fid,'%f',[3,inf]);
 bxy = bxy';    % pro shodné rozměry matice jako v datovém souboru
 fclose(fid);

 % přeskakování položek
 xy = fscanf(fid,'%*f %f %f',[2,inf]);
 xy = xy';

(čtení z řetězce)

 s = sscanf('10.2 5.222','%f %f')

Změna polohy kurzoru v souboru

 fid = fopen('s.txt','w');
 fprintf(fid,'%f\n',[1 2; 3 4]');
 fclose(fid);
 type s.txt
 1.000000
 2.000000
 3.000000
 4.000000

 fid = fopen('s.txt','r');
 a = fscanf(fid,'%f',[1, inf])
 b = fscanf(fid,'%f',[2, inf])  % kurzor je již na konci datového souboru s.txt
 fseek(fid,0,'bof');            % totožně fseek(fid,0,-1); anebo frewind(fid);
 b = fscanf(fid,'%f',[2, inf])
 fseek(fid,2,'bof');
 c = fscanf(fid,'%f',[2, inf])
 fclose all;

Úlohy