Mokslo ir technologijų pasaulis

Duomenų išsaugojimas Matlab terpėje
Publikuota: 2007-07-10

Atliekant matematinius sprendimus Matlab terpeje, patogu duomenis išsaugoti atskirame faile. Duomenų išsaugojimas turėtų būtų taip, kad būtų galima panaudoti bet kuriame kompiuteryje ir juos apdoroti, pvz *.txt byloje.

 Duomenų įrašymas į tekstinę bylą.

Matlab sugeneruotus duomenų masyvus ne tik galima atvaizduoti grafiniu pavidalu arba išskleisti lentele, bet ir nusiųsti į tekstinį failą. Tai dažnai naudojama, kai vykdomas duomenų apsikeitimas tarp skirtingų programų (MathCad, vartotojų suprogramuotų specialių apdorojimo programų ir t.t.). Darbui su išorinėmis bylomis skirtos sekančios funkcijos:

importdata        duomenų įkėlimas iš įvairių bylų rūšių ;

load                   visų duomenų įkėlimas iš MAT arba ASCII bylų;

open                  įvairių tipų bylų atidarymas, skirtas bylos parengimui dirbti su kitomis funkcijomis;

save                  visų tipų duomenų išsaugojimas į MAT arba ASCII bylą;

winopen bylos atidarymas su konkrečia programa (tiktai Windows).

 

Duomenų išsaugojimui patogu naudoti funkciją save:

save

save filename

save filename var1 var2 ...

save ... option

save('filename', ...)

 

Funkcijai save būtina nurodyti bylos vardą (filename) ir saugomus kintamuosius (var). Galima nurodyti papildomus nustatymus:

-append                        prijungia duomenis prie jau egzistuojančios MAT bylos;

-ascii                             8 skaitmenų ASCII formatas;

-ascii -double                16 skaitmenų ASCII formatas;

-ascii –tabs                   atskirimas tabuliacija;

-ascii -double –tabs      16 skaitmenų ASCII formatas su tabuliacijos atskyrimu;

-mat                              dvejatainė MAT bylos forma (pagal nutylėjimą);

-v4                                specialus formatas, leidžiantis bylą suprasti 4 Matlab versijai.

%neperiodinio (1 periodo) trikampio generavimas
clear all                               %kinetamuju isvalymas
A=10;                                   %signalo amplitude
N=100;                                  %atskaitu kiekis signalui
for i=1:N                               %ciklo formavimas
    if i<=N/2                           %salygos formavimas
       y(i)=2*A*i/N;                    %kylancio slaito formavimas
    else
       y(i)=2*A-2*A*i/N;                %leidziancio slaito formavimas
    end
end
j=1:N;                              %x asies formavimas grafiko brezimui
stem(j,y);                              %grafiko formavimas
title('1 periodo trikampis signalas');  %grafiko pavadinimas
xlabel('n');                            %grafiko x asies pavadinimas
ylabel('x(n)');                         %grafiko y asies pavadinimas
grid on;                                %grafike tinklelio ijungimas
x=y'; %duomenu konvertavimas is eilutes i stulpeli
savefile = 'trikampis.txt';                %bylos pavadinimas
save(savefile,'x','-ASCII','-tabs');   %duomenu matricos irasymas i byla
                                    %(ASCII 8 skaitmenu formatas, %tabuliavimo atskyrimas)