变量的导入和导出
Engee 支持以 .mat 和 .jld2 格式写入和卸载变量:
-
.mat 是 MATLAB 软件使用的格式。
-
.jld2 是 Julia 编程语言使用的格式。
要写入 .mat 或 .jld 格式的变量,请在变量窗口 中选择变量,然后右击弹出右键菜单。从菜单中点击 另存为… :
这将打开变量导出窗口:
-
指定包含变量的文件名。
-
选择导出文件的格式—MAT 或 JLD2。
-
追踪保存文件的目录。
-
设置文件保存路径。该区域将显示 Engee 文件浏览器中的所有文件夹。
-
从当前目录返回上一级目录,直到
/user
(Engee 文件浏览器路径的起点)。 -
在步骤 3 的目录中创建一个新文件夹。
数学
使用 MAT.jl 软件包在 Julia 中处理 .mat 数据(详见MAT )。 |
您可以通过脚本编辑器或命令行以编程方式处理 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 格式写入 Dict(字典):
mat_Dict = Dict(
"variable_1" => 1,
"variable_2" => -2,
"variable_3" => "Hello, world")
matwrite("/user/Dict.mat", mat_Dict)
代码将创建一个 Dict.mat 文件,其中包含带有变量名的字典。
您可以将数据压缩参数
|
JLD2
使用 JLD2.jl 软件包在 Julia 中处理 .jld2 数据(详情请参见JLD2.jl )。 |
加载 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