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

Z GeoWikiCZ
mBez shrnutí editace
mBez shrnutí editace
Řádek 4: Řádek 4:
== Náplň ==
== Náplň ==


# čtení dat z textového souboru do matice (ke stažení [http://athena.fsv.cvut.cz:8000/GIT1/cv4/predn4uk1.txt predn4uk1.txt])
# čtení dat z textového souboru do matice (ke stažení [http://athena.fsv.cvut.cz:8000/GIT1/cv4/pr4uk1.txt pr4uk1.txt], [http://athena.fsv.cvut.cz:8000/GIT1/cv4/pr4uk2.txt pr4uk2.txt], [http://athena.fsv.cvut.cz:8000/GIT1/cv4/pr4uk3.txt pr4uk3.txt], [http://athena.fsv.cvut.cz:8000/GIT1/cv4/pr4uk4.txt pr4uk4.txt])


== Ukázky ==
== Ukázky ==
Řádek 13: Řádek 13:


<source lang=octave>
<source lang=octave>
  fid = fopen('predn4uk1.txt','r');
  fid = fopen('pr4uk1.txt','r');
  bxy = fscanf(fid,'%f',[3,inf]);
  bxy = fscanf(fid,'%f',[3,inf]);
  bxy = bxy';    % pro shodné rozměry matice jako v datovém souboru
  bxy = bxy';    % pro shodné rozměry matice jako v datovém souboru

Verze z 13. 3. 2023, 08:58

Čtení formátovaných dat z textových souborů

Náplň

  1. čtení dat z textového souboru do matice (ke stažení pr4uk1.txt, pr4uk2.txt, pr4uk3.txt, pr4uk4.txt)

Ukázky

Formátované čtení dat

(čtení z textového souboru)

 fid = fopen('pr4uk1.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