从系列中:用GUI将Excel数据读入MATLAB
Doug Hull,数学工厂
(最初发布在Doug的MATLAB视频教程博客上。)
用XLSREAD读取数据非常容易。请注意,在上述视频的三分钟内,我使用了一个整洁的单元模式技巧,许多人可能不知道。
记录日期:2007年9月28日
我们今天的问题来自我们的一个MATLAB®名为Sarah的用户正在尝试在Excel中读取®并在MATLAB中对Excel文件中的数据进行绘图。让我们看看她寄给我的文件。
我们可以看到这里有很多不同的数据列,不包括标题行,我们往下看,这里有60个不同的值。所以我们想把它读入MATLAB,得到一个图表。这张图只是一列和另一列的对比。
那么在MATLAB中我们该怎么做呢?我们可以看到我们写在这里解决这个问题的文件。第一件事是我需要知道我们要读入的文件名,它恰好显示在这里。你可以看到这可能是一系列文件的一部分,她将在其中阅读并绘制图形。
所以要读入这些数据,我们只需要说A等于xlsread,然后是文件名。这将允许MATLAB读取这些数据。让我们只选择这两行代码,右键单击,然后说Evaluate Selection。这将运行这两段代码。
现在,如果我们转到工作区浏览器,我们将看到的是,我们已经定义了文件名,当然,还有数据——59行,如预期的那样,然后是工作表第一页89列数据中的89列。我们本可以指定阅读第2页或第3页,但我们感兴趣的数据恰好在第一页,所以我们不必指定。这只是默认值。
既然我们有了这个数据,为什么不把它转换成更容易处理的列呢?在这个例子中,也许我们想画出x值,这就是存储在第一列中的值,基本上是从1到60,在y中,我们要读入,比如说,20第列和绘图。
所以我们可以简单地把它作为一个矩阵,我想让x成为,所有的行,列1,然后把它变成x。那我们也要为你做同样的事。我们只想说,让y等于矩阵A,所有的行——这就是列的意思——逗号60,所以第60列。然后我们将绘制这个。
所以让我们选择这些命令并评估选择。我们看到了这个阴谋。所以这就是把这些数据引入MATLAB中并绘制出来的简单方法。
现在让我们展示一个更高级的技巧。让我把窗户挪动一下,这样你就可以同时看到两扇了。比方说,我们可能需要61号图,而不是60号图,所以我把它改成61号,然后按F5键保存并运行,这将更新我的图。
但我想看看这些。我能做的就是选择这个数字,转到单元格模式,确定它是通过转到单元格,禁用或启用单元格模式来启用的,然后点击+1。它将把值从61增加到62,然后重新计算该单元格中的所有内容,或者在本例中,整个文件。我们再打一次,就会看到63号,64号,等等。所以你可以通过这里,以一种非常快速的方式查看你的数据。
好的像往常一样,如果你有问题,把他们发给我,我们会看看我们是否能在这个论坛上回答他们。非常感谢。
也可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站没有针对您所在位置的访问进行优化。