136 _ _Programowanie w MATLĄb 1
• zapis danych w pliku o formacie ASCII za pomocą polecenia save z opcją -ascii ] Można także zastosować polecenie dlmwrite, które pozwala na wybór separatora! danych;
• zapis danych w wymaganym formacie za pomocą poleceń fopen, fwrite oraz zq pomocą innych funkcji wejścia/wyjścia niskiego poziomu. Metoda ta jest polecaj na do zapisu danych (w pliku) w formacie wymaganym przez inne aplikacje; 1
• zastosowanie specjalizowanych funkcji do zapisu danych, tj.
dlmwrite - zapis danych do pliku typu ASCII,
wklwrite - zapis danych w formacie arkusza kalkulacyjnego - WK1,
imwrite - zapis obrazu do pliku graficznego,
auwrite - zapis plików dźwiękowych typu .au w formacie komputera SUNJ wavwrite - zapis plików dźwiękowych typu .wav w formacie Microsoft; ]
• zastosowanie tzw. MEX-plików do zapisu danych;
• zapisanie danych w MAT-pliku z wykorzystaniem polecenia save, a następnie] napisanie programu w C lub Fortranie w celu translacji MAT-pliku do wymagaj nego formatu.
Zapis i odczyt zmiennych do/z przestrzeni roboczej
Zmienne z przestrzeni roboczej (ang. workspace) można zapisywać do zewnętrza nych plików za pomocą save. Dane te mogą być następnie odczytywane poleceniem load. Polecenia te mogą dokonywać więc eksportu i importu danych zapisanych w formacie ASCII.
Specyfikacja formatu zapisywanego pliku
Domyślnym formatem plików zapisywanych za pomocą polecenia save jest for-] mat binarny, tzw. MAT-format. Jednak format ten może być inny i wybrany spośród] następujących dozwolonych formatów:
-mat - domyślny format binarny;
-ascii - format typu ASCII (tekstowy) wykorzystujący 8-cyfrowy zapis liczb.] Zmienne tworzą tablice liczb umieszczone jedna pod drugą; nazwjj zmiennych są pomijane, na przykład:
m-[1918 08 023 m -
1918 8 2
t-tl911 09 283 t -
1912 9
save jb -ascii ra t type jb
1.918000Qe+003 8.0000000 e+000 2.0000000e+000
1. 9110000e+003 9.0000000e+000 2.8000000e+001
•ascii -double — format typu ASCII (tekstowy) wykorzystujący 16-cyfrowy zapis liczb. Zapis zmiennych jest analogiczny jak w formacie -ascii
| Save jb -ascii -double m t Itype jb
( 1.9180000000000000e+003 8.0000000000000000e+000 2.0000000000000000e+000
1 i .9110000000000000e+003 9.0000000000000000e+000 2.8000000000000000e+001
•ascii -double —tabs — jw., z tym że liczby oddzielone są znakami tabulacji, a nie znakami spacji, na przykład:
a-Cl 23:b-t3 18$
save jb -asc11 -double -tabs a b type jb
1.0000000000000000e+000 2.0000000000000000e+000
3.0000000000000000e+000 4.0000000000000000e+000
Wadą formatu -ascii jest niemożliwość odzyskania wartości zapisanych zmiennych i wprowadzenia ich do przestrzeni roboczej za pomocą polecenia load, na przy-l kład:
a-tl gg
save jb -ascii -double -tabs a elear
load jb -asc11 » a
??? Undeflned function or var1ab1e 'a'.
Zapis w formacie -mat (domyślnym) nie ma tej wady, na przykład:
elear KI 21:
*ive jb a
elear
a
11? Undeflned function or yarlable 'a*.
load jb a » a a •
1 2
*y4- format kompatybilny z MATLAB-em w wersji 4. Nie pozwala zapisywać struktur, tablic komórkowych i wielowymiarowych oraz obiektów;