Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> MATLAB

MATLAB Data Importeren: Efficiënte Manieren voor Externe Bestanden

Data importeren in MATLAB betekent data laden vanuit een extern bestand. De importdata functie laadt diverse bestandsformaten en heeft vijf syntaxvormen:

#Functie & Beschrijving
1A = importdata(filename) - Laadt data in array A uit bestand
2A = importdata('-pastespecial') - Laadt van klembord
3A = importdata(___, delimiterIn) - Specificeert kolomscheidingsteken
4A = importdata(___, delimiterIn, headerlinesIn) - Laadt numerieke data vanaf regel headerlinesIn+1
5[A, delimiterOut, headerlinesOut] = importdata(___) - Retourneert gedetecteerde delimiter en header regels

Voorbeeld 1: Afbeelding Laden

filename = 'smile.jpg';
A = importdata(filename);
image(A);

Voorbeeld 2: Tekstbestand met Delimiter en Headers

Bestand weeklydata.txt (spatie-gedelimiteerd met kolomheaders):

SunDay MonDay TuesDay WednesDay ThursDay FriDay SaturDay
95.01 76.21 61.54 40.57 55.79 70.28 81.53
73.11 45.65 79.19 93.55 75.29 69.87 74.68
...
filename = 'weeklydata.txt';
delimiterIn = ' ';
headerlinesIn = 1;
A = importdata(filename, delimiterIn, headerlinesIn);
for k = 1:7
    disp(A.colheaders{1,k});
    disp(A.data(:,k));
    disp(' ');
end

Voorbeeld 3: Importeren vanuit Klembord

A = importdata('-pastespecial')

Low-Level Bestands I/O

importdata is een high-level functie. Low-level I/O functies bieden meer controle maar vereisen gedetailleerde bestandsinformatie.

FunctieBeschrijving
fcloseSluit open bestand(en)
feofTest op end-of-file
ferrorInfo over bestands I/O fouten
fgetlLees regel (zonder newline)
fgetsLees regel (met newline)
fopenOpen bestand of info over open bestanden
fprintfSchrijf data naar tekstbestand
freadLees data uit binair bestand
frewindBestandspositie naar begin
fscanfLees geformatteerde data uit tekstbestand
fseekGa naar specifieke positie in bestand
ftellHuidige positie in open bestand
fwriteSchrijf data naar binair bestand

Tekstdata Importeren met Low-Level I/O

Belangrijke functies: fscanf (geformatteerd), fgetl/fgets (regel voor regel), fread (byte/bit niveau).

Uitgebreid Voorbeeld: Regenvaldata

Bestand myfile.txt met herhalende metingen. Stappen:

  1. Open bestand met fopen voor file identifier
  2. Beschrijf data met formaatspecifieke (%s, %d, %f)
  3. Sla literale karakters over in formaatbeschrijving
  4. Gebruik * in specifier om velden over te slaan
  5. Lees M sets van metingen met for-lus
  6. Sla data op in structuur mydata met velden time, month, raindata
filename = '/data/myfile.txt';
rows = 7; cols = 5;
fid = fopen(filename);
M = fscanf(fid, '%*s %*s\n%*s %*s %*s %*s\nM=%d\n\n', 1);
for n = 1:M
    mydata(n).time = fscanf(fid, '%s', 1);
    mydata(n).month = fscanf(fid, '%s', 1);
    mydata(n).raindata = fscanf(fid, '%f', [rows, cols])';
end
for n = 1:M
    disp(mydata(n).time), disp(mydata(n).month)
    disp(mydata(n).raindata)
end
fclose(fid);

MATLAB

  1. Azure File Storage Uitgelegd: Beginnersgids voor Veilige, Schaalbare Cloudopslag
  2. MATLAB: Uitgebreid Overzicht van een Leidende Numerieke Rekenomgeving
  3. Variabelen in MATLAB Begrijpen: Basis en Voorbeelden
  4. MATLAB Datatypes: Uitgebreide Gids
  5. MATLAB Operatoren: Complete Gids voor Rekenkundige, Logische en Bitwise Operaties
  6. MATLAB Matrix Basis: Data Aanmaken, Benaderen en Manipuleren
  7. MATLAB: Multidimensionale en Speciale Arrays Beheersen
  8. MATLAB Dubbele Punt Notatie: Vectors Maken & Efficiënt Itereren
  9. MATLAB Getallen: Typen, Opslag en Conversie
  10. MATLAB Strings: Maken, Manipuleren en Functies
  11. MATLAB Functies: Definitie, Werkruimte, In- en Outputs