2017-04-17 1 views
-1

matlab에서 xlsread() 함수의 일반 범위를 지정하는 방법을 알아 내려고합니다.Matlab의 xlsread 함수에 대한 공통 범위 정의

일반적으로 n = xlsread ('filename', '# sheet', 'A1 : A10')를 사용하지만 동일한 시트에 상당히 많은 데이터가 있으며 지정할 수 있는지 알고 싶습니다. 그것은 하나의 범위, 즉. 모든 데이터가 '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 

을 몇 가지 조사 후 나는이 작업을 수행 방법에 대한 정보를 찾을 수 없습니다. 사전에

감사합니다,

그렉

+0

10 열의 데이터가 있으면 10 열을 읽고 15 열이면 15 열 모두를 올바르게 읽으려고합니까? 아니면 다른 것을하려고합니다. –

답변

1

당신이 열 A의 1 ~ 10 행을 읽고 싶다면, 사용 :

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

모든의 1 ~ 10 개 행을 읽고 싶다면 열 : 사용 :

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

첫 번째 세 열 A, B 및 C의 1 ~ 10 행을 읽으려면 다음을 사용하십시오.

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

동적 변수 이름 사용은 항상 잘못된 생각입니다. 설명을 위해 this을 읽으십시오. 여전히 Excel 파일의 열 수에 따라에 a, bc 등을 만들려면, 당신은 사용할 수 있습니다 열 수있는 경우

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

위의 작동 이하 이 값은 26입니다. 몇 가지 항목을 처리하는 경우에만 가능할 수 있습니다. 그러나 나는 여전히 그것을 피하는 것이 좋습니다.

관련 문제