julia - 将 MATLAB ".mat"矩阵转换为 Julia 矩阵

标签 julia

我是 Julia 的新手。我使用 MATLAB 已经有一段时间了。我有几个 matlab 矩阵,即 A.mat、B.mat、C.mat 等等。我必须将这些矩阵读入 Julia,然后使用它们进行一些优化。我不知道如何将这些 matlab 矩阵转换为 Julia 矩阵。我已经使用了 pkg MAT.jl。当我将它用作: A = matopen("A.mat") in julia 那么“A”不是 julia 中的矩阵。我如何阅读将这些矩阵转换为 julia 矩阵。任何帮助将不胜感激。谢谢

最佳答案

你需要使用read函数

对于此示例,我将使用 MAT.jl 测试套件中的 array.mat

julia> using MAT

julia> ff = matopen(joinpath(pathof(MAT),"../..", "test/v7/array.mat"));

julia> read(ff,"a2x2")
2×2 Matrix{Float64}:
 1.0  3.0
 4.0  2.0

如果你想将它定义为命名空间中的变量,你可以使用赋值或 @read 宏:

julia> @read ff a2x2;

julia> a2x2
2×2 Matrix{Float64}:
 1.0  3.0
 4.0  2.0

最后但同样重要的是,您可能希望查看 mat 文件中的变量列表:

julia> keys(read(ff))
KeySet for a Dict{String, Any} with 6 entries. Keys:
  "empty"
  "string"
  "a2x1"
  "a2x2x2"
  "a2x2"
  "a1x2"

关于julia - 将 MATLAB ".mat"矩阵转换为 Julia 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73724123/

相关文章:

json - Julia lang - 如何从 HTTP URL 读取 JSON

julia - 在Julia中生成加权有向网络形式邻接矩阵

arrays - Julia 将图像从 URL 直接下载到内存中

plot - 在 Julia 中使用带有插值函数的 gr() 绘制等高线图

math - 为什么简化的数学方程比在 Julia-Lang 中有更多运算的等价方程运行得(稍微)慢?

unit-testing - 如何找到@test失败的变量值

directory - 如何列出 Julia 目录中的所有文件和目录?

macros - 如何使结构的宏生成在结构上匹配的函数方法?

string - Julia:如何获得给定字符串 s 的随机排列?

arrays - 一次访问数组的一些元素并环绕到开头