我有一个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 回答
"bug"是,你的mat文件不包含任何名为"map_data"的变量,我猜你的mat文件中的变量名为"ans" . 我会使用
res=load result.mat
,然后你得到一个结构,其中包含mat文件中的所有内容 . 如果您键入res.
autocomplete应列出结构内的所有变量(不确定八度),或者使用fieldnames(res)
列出所有变量名称 ./更新:
我简要介绍了草的文档 . 它期望预定义的变量名称,都以map_ *开头 . 代替
您应该重命名变量以匹配文档并使用保存它们