Документация Engee

Импорт и экспорт переменных

Engee поддерживает запись и выгрузку переменных в форматах .mat и .jld2:

  • .mat — формат, который используется в программном обеспечении MATLAB.

  • .jld2 — формат, который используется в языке программирования Julia.

Чтобы записать переменные в .mat или .jld формат, выберите их в окне переменных variables article 2 1 и правой кнопкой мыши вызовите контекстное меню. В меню нажмите Сохранить как…​:

variables mat jld exp

Это откроет окно экспорта переменных:

variables mat export 2

  1. Задайте имя файла, который будет содержать переменные.

  2. Выберите формат экспортируемого файла — MAT или JLD2.

  3. Отследите директорию, в которую будет сохранен файл.

  4. Задайте путь, по которому будет сохранен файл. В этой области будут отображены все папки файлового браузера Engee.

  5. Возвращайтесь из текущей директории на уровни выше, вплоть до /user (начала пути файлового браузера Engee).

  6. Создайте новую папку в директории пункта 3.

Сохраненный файл в формате MAT или JLD2 отобразится в окне файлов img4. Двойной клик левой кнопкой мыши по сохраненному файлу импортирует переменные в рабочую область Engee. Импортированные переменные автоматически добавятся в окно переменных variables article 2 1.

MAT

Используйте пакет MAT.jl для работы с данными в формате .mat в Julia (подробнее здесь).

Вы можете работать с форматом MAT программно, через редактор скриптов или командную строку. Например, рассмотрим следующий код чтения одной переменной из MAT:

using MAT # подключаем библиотеку MAT для работы с файлами .mat
a = 1 # задаем переменную а со значением 1
file = matopen("/user/mat_file.mat") # открываем файл mat_file.mat для чтения с помощью функции matopen и создаем объект file
variable_mat = read(file, "a") # считывает переменную "a" из файла типа MAT и присваивает ее значение переменной variable_mat
close(file) # закрывает файл

Для записи переменной в MAT-файл используем код:

variable_1 = 1 # зададим переменную variable_1 и присвоим ей значение 1
file = matopen("/user/new_mat_file.mat", "w") # открывает файл new_mat_file.mat в режиме записи ("w")
write(file, "variable_mat", variable_1) # записывает значение переменной variable_1 в переменную variable_mat в файл new_mat_file.mat
close(file) # закрывает файл

С помощью кода мы записали переменную в файл формата MAT. Схожим образом, через функцию matwrite, можем записать Dict (словарь) в формат MAT, используя его ключи в качестве имен переменных:

mat_Dict = Dict(
"variable_1" => 1,
"variable_2" => -2,
"variable_3" => "Hello, world")
matwrite("/user/Dict.mat", mat_Dict)

Код создаст файл Dict.mat, содержащий словарь с именами переменных.

Вы можете использовать аргумент сжатия данных compress в значении true (по умолчанию отключен, false) для записи больших данных в формате MAT:

mat_Dict = Dict(
"variable_1" => 1,
"variable_2" => -2,
"variable_3" => "Hello, world")
matwrite("/user/Dict.mat", mat_Dict; compress = true)

JLD2

Используйте пакет JLD2.jl для работы с данными в формате .jld2 в Julia (подробнее здесь).

Загрузим модуль JLD2:

import Pkg; #импорт менеджера пакетов
Pkg.add("JLD2") #добавления пакета JLD2

Пакет JLD2.jl поддерживает интерфейсы функции наподобие jldsave. Например:

using JLD2 #загрузка модуля

x = 1
y = 2
z = 42

# Простейший случай:
jldsave("example.jld2"; x, y, z)
# это равносильно
jldsave("example.jld2"; x=x, y=y, z=z)

# Новые имена можно присваивать лишь части аргументов
jldsave("example.jld2"; x, a=y, z)

# а чтобы внести полную путаницу, можно сделать так
jldsave("example.jld2"; z=x, x=y, y=z)

Если в файле требуется сохранить только один объект для последующей загрузки, можно воспользоваться функциями save_object и load_object. Например:

save_object(filename, x) #сохраняет объект x в новом JLD2-файле в filename, если файл существует по этому пути, он будет перезаписан.

load_object(filename, x) #загружает объект x