Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Files : Input/Output functions > save_format

save_format

формат файлов, созданных функцией "save"

Описание

Переменные сохраняются Scilab'ом с помощью функции save в следующем формате:

каждая запись переменной добавляется в файл последовательно. Запись переменной начинается с 6-ти чисел типа длинное целое, хранящих имя переменной в кодированном формате (см. раздел Примечания ниже), после чего следует тип переменной (длинное целое), затем, в зависимости от него, следует:

Матрицы значений с плавающей запятой (тип 1)

row_size m (размер строки, число типа long integer),

column_size n (размер столбца, число типа long integer),

признак вещественности/комплекснозначности it (целое число типа long integer на интервале {0,1}),

данные (n*m*(it+1) чисел типа double)

Полиномы (тип 2) и Неявный полином размера, используемый для (тип 129)

row_size m (размер строки, число типа long integer),

column_size n (размер столбца, число типа long integer),

признак вещественности/комплекснозначности it (целое число типа long integer в интервале {0,1}),

формальное имя переменной (16 байт),

index_table (таблица индексов, m*n+1 целых чисел типа long integer),

данные ((N-1)*(it+1) чисел типа double), где N -- это значение последнего элемента таблицы индексов index_table.

Booleans (тип 4)

row_size m (размер строки, число типа long integer),

column_size n (размер столбца, число типа long integer),

данные (n*m целых чисел типа long integer).

Разрежённые матрицы чисел с плавающей запятой (тип 5)

row_size m (размер строки, число типа long integer),

column_size n (размер столбца, число типа long integer),

real/complex_flag it (целое число типа long integer на интервале {0,1}),

total_number_of_non_zero_elements nel (общее количество ненулевых элементов, число типа long integer),

number_of_non_zero_elements_per_row (число количество ненулевых элементов на строку, m целых чисел типа long integer),

column_index_non_zero_elements (индексы столбцов ненулевых элементов, nel целых чисел типа long integer),

non_zero_values (ненулевые значения, nel*(it+1) чисел типа double).

Разрежённые матрицы логических значений (тип 6)

row_size m (размер строки, число типа long integer),

column_size n (размер столбца, число типа long integer),

неиспользуемое it (целое число типа long integer),

total_number_of_non_zero_elements nel (общее количество ненулевых элементов, число типа long integer),

number_of_non_zero_elements_per_row (число количество ненулевых элементов на строку, m целых чисел типа long integer),

column_index_non_zero_elements (индексы столбцов ненулевых элементов, nel целых чисел типа long integer).

Разрежённая матрица Matlab'а (тип 7)

row_size m (размер строки, число типа long integer),

column_size n (размер столбца, число типа long integer),

real/complex_flag it (целое число типа long integer на интервале {0,1}),

total_number_of_non_zero_elements nel (общее количество ненулевых элементов, число типа long integer),

number_of_non_zero_elements_per_column (количество ненулевых элементов на столбец, n целых чисел типа long integer),

row_index_non_zero_elements (индекс строки ненулевых элементов, nel целых чисел типа long integer),

non_zero_values (ненулевые значения, nel*(it+1) чисел типа double).

матрицы целых чисел (тип 8)

row_size m (размер строки, число типа long integer),

column_size n (размер столбца, число типа long integer),

integer_type (тип целого числа, число типа long integer): 1, 2, 4, или 11, 12, 14 для знаковых и беззнаковых 1-, 2-, 4-байтных целых чисел,

данные (n*m байт для integer_type 1 или 11, n*m чисел типа short integer для integer_type 2 или 12, n*m целых чисел типа long integer для integer_type 4 или 14).

handles (тип 9)

version (4 bytes)

row_size m (размер строки, байт),

column_size n (размер столбца, байт),

данные (m*n записей в последовательной форме serialization_record)

Запись в последовательной форме serialization_record -- это представление в плоском виде C-структуры данных, связанной с соответствующим графическим объектом. Каждый графический объект определяется (рекурсивным) набором свойств (см. справку по функции get).

Сохранённая запись serialization_record графического объекта структурирована в следующем виде:

serialization_record

длина типа type_length n (байт),

тип type (n байт, ascii-коды имени типа),

запись property_values (переменная длина).

Строки (тип 10)

row_size m (размер строки, число типа long integer),

column_size n (размер столбца, число типа long integer),

index_table (n*m+1 целых чисел типа long integer),

данные (N целых чисел типа long integer, Scilab-кодировка символов (см. code2str), где N -- это значение последнего элемента таблицы индексов index_table.

Некомпилированные функции (тип 11)

nout (целое число типа long integer),

lhs_names (6*nout целых чисел типа long integer, см. раздел "Примечания" ниже),

nin (целое число типа long integer),

rhs_names (6*nin целых чисел типа long integer, см. раздел "Примечания" ниже),

code_length N (целое число типа long integer),

code (N целых чисел типа long integer).

Компилированные функции (тип 13)

nout (целое число типа long integer),

lhs_names (6*nout целых чисел типа long integer, см. раздел "Примечания" ниже),

nin (целое число типа long integer),

rhs_names (6*nin целых чисел типа long integer, см. раздел "Примечания" ниже),

pseudo_code_length N (целое число типа long integer),

pseudo_code (N целых чисел типа long integer).

Библиотеки (тип 14)

path_length np (длина пути, целое число типа long integer),

path_name (имя пути, np целых чисел типа long integer: последовательность кодов символов пути, (см. code2str)),

количество имён nn (целое число типа long integer),

имена (6*nn целых чисел типа long integer, см. раздел "Примечания" ниже).

списки (тип 15), типизированные списки (тип 16), матричноориентированные списки (тип 17)

количество полей n (целое число типа long integer),

индекс (n+1 целых чисел типа long integer),

последовательность переменных variables_sequence (n переменных, каждое из которых записано в своём формате).

Указатели (тип 128)

Не обрабатываются

Указатели на функцию (тип 130)

function_ptr (указатель на функцию, целое число типа long integer, (see funptr)),

function_name_code (код имени функции, 6 целых чисел типа long integer, см. раздел "Примечания" ниже).

Примечания

Числа (типа long interger, short integer, double) хранятся в прямом порядке байтов.

Имена переменных хранятся в виде последовательности из 6 целых чисел типа long integer с особой кодировкой. См. подробности в файле cvname.f.

Смотрите также

  • save — Save a variable or a serie of variables in a binary file
  • load — Load a saved variable or a serie of variables
  • listvarinfile — список переменных в файле сохранённых данных
  • type — возвращает тип переменной
  • typeof — указывает тип объекта
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Oct 01 17:41:09 CEST 2012