如何在matlab中获取Excel表格的第一列

问题描述 投票:0回答:1

我有以下代码,它采用带有数字序列(1...到 122)的列,而不是 Excel 工作表 A 列中的 122 个值。为什么会发生这种情况?因为我使用的“长度”函数?如何使循环从 A 列获取实际值?以及如何将 122 次计算的输出保存在另一个 Excel 表格中。 我的“函数”有两个输入。

####代码

全部清除;
readtable('/data/mri_analysis/spreadsheet.xlsx');

对于 i = 1:length('/data/mri_analysis/spreadsheet.xlsx');
example_of_a_function(i,0.12);

结束

####代码

excel loops matlab for-loop
1个回答
0
投票

首先,您需要将从电子表格中读取的数据存储在变量中:

myTable = readtable('/data/mri_analysis/spreadsheet.xlsx');

这将为您提供一个 MATLAB 表。您需要检查您获得的表是否包含您期望的数据,并且如有必要,还可以为

readtable
指定不同的选项。例如,电子表格是否有包含列名称的标题行?

然后您需要使用循环索引变量

i
一次访问表中的数据一个值。如问题所示,您的循环针对文本“/data/mri_analysis/spreadsheet.xlsx”中的每个字母运行一次,这可能不是您的意思。你需要这样的东西:

for i = 1:height(myTable)
    example_function(myTable.(1)(i))

myTable.(1)(i)
为您提供 myTable 第 1 列第
i
行中的值。如果您的电子表格有一个带有列名称的标题行,并且您让
readtable
使用这些列名称作为表变量名称,那么您可以使用稍微好一点的形式

myTable.FirstColumn(i)

听起来您对编程还很陌生,所以我建议您阅读 MATLAB 帮助中的一些示例,以确保您了解正在发生的事情。

© www.soinside.com 2019 - 2024. All rights reserved.