-1

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

通常我使用 n=xlsread('filename','#sheet','A1:A10'),但我在同一张表中有相当多的数据,我想知道我是否可以用一个范围指定它, IE 。如果我所有的数据都在“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

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

提前致谢,

格雷格

4

1 回答 1

1

如果要读取 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 文件中的列数创建ab等,您可以使用:c

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

如果列数小于或等于 26,则上述方法将起作用。这可能仅在您处理几列时才可行。但我仍然建议避免它。

于 2017-04-17T18:02:26.460 回答