道格•赫尔MathWorks
(最初发布在Doug的Matlab视频教程博客上。)
使用XLSREAD读取数据非常容易。注意,在上面的视频中,我使用了一个整洁的单元格模式技巧,许多人可能不知道。
我们今天的问题来自我们的一个MATLAB®一个叫Sarah的用户,她正在读取Excel®文件,并在MATLAB中绘制Excel文件中的数据。看看她发给我的文件。
我们可以看到这里有很多不同的数据列,不包括标题行,我们往下看,这里有60个不同的值。我们想把它读入MATLAB,得到一个图形。这个图像就是一列对比另一列。
在MATLAB中怎么做呢?我们可以看到我们在这里为解决这个问题而编写的文件。第一件事是我需要知道我们想要读入的文件名这正好显示在这里。你可以看到,这可能是一系列文件的一部分她将阅读并绘制图像。
所以要阅读此数据,我们只会说a等于xlsread,然后是文件名。这将允许MATLAB在此数据中读取。让我们只选择两行代码,右键单击,并说评估选择。这将运行这两条代码。
现在,如果我们进入工作空间浏览器,我们将看到的是,我们已经定义了文件名,当然,数据——59行,如预期的那样,然后89列,从89列的数据在工作表的第一张表。我们可以指定读表2或3,但我们感兴趣的数据碰巧在第一张表上,所以我们不需要指定。这只是默认的。
现在我们有这个数据,为什么我们不将它变成更容易使用的列?在这种情况下,也许我们想要绘制X值,这只是存储在第一列中的内容,它基本上从1到60次数计算。在Y中,我们将阅读,让我们说20.th然后画出来。
所以我们可以简单地把一个矩阵,说我希望x拿一个,所有的行,列1,x。然后我们会做同样的事情为y。我们只是会说,让y等于矩阵A的所有行——这就是列的意思——60逗号,因此60列。然后画出来。
让我们选择这些命令并评估选择。我们看到这里有个图。这就是把这些数据放到MATLAB中绘图的简单程度。
现在让我们在这里显示一点更先进的技巧。让我绕着我的窗户移动,所以你可以立刻看到其中两个。让我们这么说,而不是只是绘制数字60,我们可能想要绘图61.所以我会将其更改为61并点击F5来保存和运行,这将更新我的情节。
但是假设我想看很多这样的东西。我能做的就是选择这个数字,到这里的单元格模式,通过点击单元格禁用或启用单元格模式来确保它是启用的,然后点击+ 1。它会将值61增加到62,并重新计算单元格中的所有内容,或者在本例中,整个文件。我们再次点击它,我们会看到63 64,等等。你可以用这个小技巧快速查看数据。
好的。和往常一样,如果你有问题,把它们发给我,我们会看看我们是否不能在这个论坛回答它们。谢谢你!
录于2007年9月28日