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 - Gegevensuitvoer

Gegevensexport (of uitvoer) in MATLAB betekent schrijven in bestanden. Met MATLAB kunt u uw gegevens gebruiken in een andere toepassing die ASCII-bestanden leest. Hiervoor biedt MATLAB verschillende opties voor het exporteren van gegevens.

U kunt het volgende type bestanden maken −

  • Rechthoekig, gescheiden ASCII-gegevensbestand uit een array.

  • Dagboekbestand (of logbestand) van toetsaanslagen en de resulterende tekstuitvoer.

  • Gespecialiseerd ASCII-bestand met functies op laag niveau, zoals fprintf.

  • MEX-bestand om toegang te krijgen tot uw C/C++- of Fortran-routine die schrijft naar een bepaald tekstbestandsformaat.

Afgezien hiervan kunt u ook gegevens naar spreadsheets exporteren.

Er zijn twee manieren om een ​​numerieke array te exporteren als een gescheiden ASCII-gegevensbestand −

  • De opslaan . gebruiken functie en specificeren van de -ascii kwalificatie

  • De dlmwrite . gebruiken functie

Syntaxis voor het gebruik van de opslagfunctie is −

save my_data.out num_array -ascii

waar, my_data.out is het gescheiden ASCII-gegevensbestand dat is gemaakt, num_array is een numerieke array en −ascii is de specificatie.

Syntaxis voor het gebruik van de dlmwrite functie is −

dlmwrite('my_data.out', num_array, 'dlm_char')

waar, my_data.out is het gescheiden ASCII-gegevensbestand dat is gemaakt, num_array is een numerieke array en dlm_char is het scheidingsteken.

Voorbeeld

Het volgende voorbeeld demonstreert het concept. Maak een scriptbestand en typ de volgende code −

Live demo
num_array = [ 1 2 3 4 ; 4 5 6 7; 7 8 9 0];
save array_data1.out num_array -ascii;
type array_data1.out
dlmwrite('array_data2.out', num_array, ' ');
type array_data2.out

Wanneer u het bestand uitvoert, wordt het volgende resultaat weergegeven −

   1.0000000e+00   2.0000000e+00   3.0000000e+00   4.0000000e+00
   4.0000000e+00   5.0000000e+00   6.0000000e+00   7.0000000e+00
   7.0000000e+00   8.0000000e+00   9.0000000e+00   0.0000000e+00

1 2 3 4
4 5 6 7
7 8 9 0

Houd er rekening mee dat de opdracht save -ascii en de functie dlmwrite niet werken met celarrays als invoer. Om een ​​gescheiden ASCII-bestand te maken van de inhoud van een celarray, kunt u

  • Ofwel converteer de celarray naar een matrix met behulp van de cell2mat functie

  • Of exporteer de celarray met behulp van low-level bestands-I/O-functies.

Als u de opslaan . gebruikt functie om een ​​tekenarray naar een ASCII-bestand te schrijven, het schrijft het ASCII-equivalent van de tekens naar het bestand.

Laten we bijvoorbeeld het woord 'hallo' naar een bestand schrijven −

Live demo
h = 'hello';
save textdata.out h -ascii
type textdata.out

MATLAB voert de bovenstaande instructies uit en geeft het volgende resultaat weer. dat zijn de tekens van de tekenreeks 'hallo' in 8-cijferige ASCII-indeling.

1.0400000e+02   1.0100000e+02   1.0800000e+02   1.0800000e+02   1.1100000e+02

Schrijven naar dagboekbestanden

Dagboekbestanden zijn activiteitenlogboeken van uw MATLAB-sessie. De dagboekfunctie maakt een exacte kopie van uw sessie in een schijfbestand, exclusief afbeeldingen.

Om de dagboekfunctie in te schakelen, typt u −

diary

Optioneel kunt u de naam van het logbestand opgeven, zeg −

diary logdata.out

De dagboekfunctie uitschakelen −

diary off

U kunt het dagboekbestand openen in een teksteditor.

Gegevens exporteren naar tekstgegevensbestanden met Low-Level I/O

Tot nu toe hebben we numerieke arrays geëxporteerd. Het kan echter zijn dat u andere tekstbestanden moet maken, inclusief combinaties van numerieke en tekengegevens, niet-rechthoekige uitvoerbestanden of bestanden met niet-ASCII-coderingsschema's. Voor deze doeleinden biedt MATLAB de low-level fprintf functie.

Net als bij I/O-bestandsactiviteiten op laag niveau, moet u voor het exporteren een bestand openen of maken met de fopen functie en haal de bestands-ID op. Standaard opent fopen een bestand voor alleen-lezen toegang. U moet de toestemming om te schrijven of toe te voegen specificeren, zoals 'w' of 'a'.

Na het verwerken van het bestand, moet u het sluiten met fclose(fid) functie.

Het volgende voorbeeld demonstreert het concept −

Voorbeeld

Maak een scriptbestand en typ de volgende code erin −

Live demo
% create a matrix y, with two rows
x = 0:10:100;
y = [x; log(x)];
 
% open a file for writing
fid = fopen('logtable.txt', 'w');
 
% Table Header
fprintf(fid, 'Log     Function\n\n');
 
% print values in column order
% two values appear on each row of the file
fprintf(fid, '%f    %f\n', y);
fclose(fid);

% display the file created
type logtable.txt

Wanneer u het bestand uitvoert, wordt het volgende resultaat weergegeven −

Log         Function

0.000000    -Inf
10.000000    2.302585
20.000000    2.995732
30.000000    3.401197
40.000000    3.688879
50.000000    3.912023
60.000000    4.094345
70.000000    4.248495
80.000000    4.382027
90.000000    4.499810
100.000000    4.605170

MATLAB

  1. Een beginnershandleiding voor Azure-bestandsopslag
  2. C - Bestand I/O
  3. MATLAB - Overzicht
  4. MATLAB - Gegevenstypen
  5. MATLAB - Operators
  6. MATLAB - Matrix
  7. MATLAB - Arrays
  8. MATLAB - Dubbele puntnotatie
  9. MATLAB - Cijfers
  10. MATLAB - Snaren
  11. MATLAB - Functies