在 Matlab 中为 xlsread 函数指定一个公共范围

Secifying a common range for xlsread function in Matlab

我想弄清楚如何在 matlab 中为 xlsread() 函数指定一个公共范围。

通常我使用 n=xlsread('filename','#sheet','A1:A10'),但我在同一个 sheet 中有相当多的数据我想知道我是否可以用一个范围指定它,即 .如果我所有的数据都在'1:10'之间,我想指定1:10作为范围,并且只调用每列的字母值。

我想按如下方式进行:

function [a,b,c]=getdata(filename,'1:10')
a=xlsread(filename,1,'A:A'???)
b=xlsread(filename,1,'B:B'???)
c=xlsread(filename,1,'C:C'???)
end

经过一些研究,我找不到任何关于如何完成的信息。

提前致谢,

格雷格

如果要读取 A 列的 1 到 10 行,请使用:

data = xlsread(filename, 1, 'A1:A10');

如果要读取所有列的 1 到 10 行,请使用:

data = xlsread(filename, 1, '1:10');

如果您想读取 1 到 10 行,比如前三列 A、B 和 C,请使用:

data = xlsread(filename, 1, 'A1:C10'); 

使用动态变量名总是一个坏主意。阅读 以获得解释。但是如果你还想根据Excel文件中的列数创建abc等,你可以使用:

for k=1:size(data,2)
   assignin('caller', char(96+k), data(:,k));  %or char(64+k) for block letters
end

如果列数小于或等于 26,以上方法将起作用。这可能只有在处理几列时才可行。但我还是建议避免。