首页 文章

Octave / GRASS GIS .mat导入错误:'map_data' undefined

提问于
浏览
0

我有一个Matlab脚本,它根据数字地形模型计算某个地形参数(描述风的理论避难所和风暴) . 该脚本在Matlab和Octave中都有效,并产生一个矩阵 . 现在:我正在尝试将其与GRASS GIS shell脚本相结合 . 我可以从GRASS调用脚本,但是我在将输出恢复到GRASS时遇到了问题 . 一种方法是使用.mat格式 . 但问题是:当我导出计算结果(使用 save -mat4-binary result.mat ans )并尝试将.mat文件导入GRASS时,错误是:

错误:在[...文件]中找不到'map_data'数组

同样,当我在Octave中加载文件并尝试显示它时

load result.mat 
imagesc(map_data), axis equal, axis tight, colorbar

错误是

错误:`map_data'未定义在第19行第9列错误:评估参数列表元素编号1

当我从Matlab导出时,它也是同样的问题 .

这个bug在哪里?

任何帮助是极大的赞赏 .

1 回答

  • 1

    "bug"是,你的mat文件不包含任何名为"map_data"的变量,我猜你的mat文件中的变量名为"ans" . 我会使用 res=load result.mat ,然后你得到一个结构,其中包含mat文件中的所有内容 . 如果您键入 res. autocomplete应列出结构内的所有变量(不确定八度),或者使用 fieldnames(res) 列出所有变量名称 .

    /更新:

    我简要介绍了草的文档 . 它期望预定义的变量名称,都以map_ *开头 . 代替

    save -mat4-binary result.mat ans
    

    您应该重命名变量以匹配文档并使用保存它们

    save -mat4-binary result.mat map_*
    

相关问题