Dane i pliki
Podstawowe polecenia służące do zapisywania (i wczytywania) wartości zmiennych to save
i load
. Polecenie save
zapisuje zawartość wszystkich zdefiniowanych zmiennych w pliku:
1 |
save(filename) |
w przypadku, gdy chcemy zachować zawartość tylko niektórych zmiennych — ich listę podajemy po nazwie pliku:
1 |
save(filename, x1, x2,..., xn) |
Składnia polecenia load
jest analogiczna:
1 2 |
load(filename) load(filename, x1, x2,..., xn) |
Polecenia load
i save
mogą służyć do przechowywania danych między sesjami. Tworzone w Scilabie za pomocą polecenia save
pliki są binarne! W przypadku Matlaba polecenie save
można zmusić do zapisu danych w formacie tekstowym. Trzeba dodać kolejny parametr:
1 |
save(filename, zmienne, fmt) |
gdzie fmt
przyjmuje wartości: '--ascii'
lub '--ascii', '--tabs'
(więcej w helpie).
W przypadku braku nazw zmiennych, wszystkie zmienne robocze zapisywane są do pliku w formacie binarnym i mogą być łatwo odtworzone za pomocą polecenia load
.
Polecenia write
5 służy do zapisu danych w postaci ,,czytelnej” dla człowieka:
1 2 3 4 5 6 7 8 9 |
-->b=[1:5]'*[1:5] b = ! 1. 2. 3. 4. 5. ! ! 2. 4. 6. 8. 10. ! ! 3. 6. 9. 12. 15. ! ! 4. 8. 12. 16. 20. ! ! 5. 10. 15. 20. 25. ! -->write("dane1.txt",b) |
zawartość utworzonego pliku dane.txt jest następująca:
1 2 3 4 5 |
1. 2. 3. 4. 5. 2. 4. 6. 8. 10. 3. 6. 9. 12. 15. 4. 8. 12. 16. 20. 5. 10. 15. 20. 25. |
Polecenie load ma postać:
1 |
load(filename, zmienne, fmt) |
Gdy fmt
jest pominięte — zakłada się tryb binarny. Wartości
Polecenie read
6 ma nieco więcej parametrów:
1 2 3 4 5 |
-->c=read("dane1.txt",2,3) c = ! 1. 2. 3. ! ! 2. 4. 6. !> |
Pierwszy z nich oznacza liczbę wierszy pliku, którą chcemy przeczytać, a drugi — liczbę kolumn. Gdy zamiast liczby wierszy podamy \(-1\) — przeczytany zostanie cały plik.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
-->c=read("dane1.txt",3,5) c = ! 1. 2. 3. 4. 5. ! ! 2. 4. 6. 8. 10. ! ! 3. 6. 9. 12. 15. ! -->c=read("dane1.txt",-1,5) c = ! 1. 2. 3. 4. 5. ! ! 2. 4. 6. 8. 10. ! ! 3. 6. 9. 12. 15. ! ! 4. 8. 12. 16. 20. ! ! 5. 10. 15. 20. 25. ! |
Gdy przeczytać chcemy zbyt wielką liczbę danych — występuje błąd:
1 2 3 |
-->c=read("dane1.txt",3,6) !--error 62 end of file at line 2> |