【发布时间】:2013-05-29 20:19:08
【问题描述】:
我有一个包含以下信息的文件:
% ---------------------- location details --------------------------
%
% lat : latitude [minimum = -90, maximum = 90, unit =
% degrees north]
% lon : longitude [ minimum = -360, maximum = 360, unit =
% deg east]
% z: altitude (above sea level, m)
%---------------------------------------------------------------
% location:
lat = 54.35
lon = -2.9833
这是文件的一小部分。
我想将其中一些信息读入 MATLAB,然后这些信息可用于执行一些计算。我想读入 MATLAB 的文件部分是文本文件中未注释的部分,ie 在行首有一个 %,然后变量应该是保存在工作区中。例如,我想要:
lat = 54.35
lon = -2.9833
在工作区中。
我该怎么做呢?我已经阅读了有关 textscan 和 fopen 的信息,尽管在这种情况下这些似乎对我没有帮助。
【问题讨论】:
-
您可以通过
run将其作为Matlab 脚本运行或通过逐行eval和fgetl实现。 -
当你选择
File->Import Data...你打开Import Wizard。在GUI中,您可以选择Generate MATLAB code选项 - 它允许您弄清楚如何以您想要的方式导入您想要的内容。 -
请注意,像这样使用
eval会使您很容易受到注入。试试eval('!cmd'),想象一下如果你的文件实际上试图描述一种格式而没有适当的注释会发生什么。
标签: matlab text-parsing