2010-05-04 2 views
1

2000 개의 행과 60 개의 열을 가진 Excel의 입력 데이터가 있습니다.MATLAB에서 행렬의 행과 열을 교환하는 방법

이 데이터를 MATLAB으로 읽으 려하지만 행과 열을 상호 교환하여 행렬이 60 행과 2000 열이되도록해야합니다. Excel에서 2000 열을 보유 할 수없는 256 열만 있기 때문에 어떻게 MATLAB에서이 작업을 수행 할 수 있습니까?

+1

Excel 2007은 2000 개 이상의 열을 읽을 수 있습니다. – Faken

+0

아야, 내 눈! 코드를 포맷하십시오. – Doresoom

+0

어떻게하면됩니까? 나는이 포럼에 대해 새로운 것이므로 여기에 명확하게 코드를 삽입 할 수있는 방법을 알려주십시오. – Mola

답변

4

당신은 그냥 트랜스해야합니다 data = data'

+3

간단한 배열 전치 연산자에'. '연산자를 사용해야합니다. 왜냐하면 데이터 값이 복잡 할 때'''연산자가 복소수 변환을 수행하기 때문입니다. – gnovice

+0

나는 그것을했지만 오류가 있습니다. 제가하고 싶은 일을 설명하겠습니다. 2000 행 60 열의 데이터가 있습니다. 클러스터링을 위해 labelMap을 플롯하려하지만 프로그램에서 열을보고이 두 클러스터로 데이터를 분류 할 수 있도록 i 또는 0을 찾습니다. 그러나 1 또는 0은 2001 행과 60 열을 만드는 추가 행으로 삽입됩니다. 나는이 2001 년을 행으로 변환하여 프로그램이 2001 번째 열을보고 그 분류를 수행하고 레이블 map을 작성하기를 원합니다. 그러나 언제든지 오류가 있습니다. – Mola

+0

여기에 오류가 있습니다 : 오류 있음 == > : showMap at 36 figure, plot (cluster1 (:, 1), n ​​+ 1-cluster1 (:, 2), '^ b', cluster2 (:, 1), n ​​+ 1-cluster2 (:, 2), 'og'); 108에서의 ==> mainfunction 오류 showMap (Map, LabelMap, map_size, data, col); 나는 무엇을 모르는가? 그 그림은 음모를 꾸미지 않습니다. – Mola

0

는, MATLAB의 데이터를 읽어 xlsread 기능을 시작합니다. 그런 다음 그의 솔루션에서 보여준 것처럼 tzaman을 조바꿈하십시오.

코드는 다음과 같습니다 원본 파일과 같은 디렉토리에 myfile.xls로 전치 데이터를 저장할 것

[filename,path]=uigetfile(); 
data=xlsread([path,filename]); 
data=data'; 
xlswrite([path,'myfile.xls'],data); 

.

편집 : Excel 2003은 256 열로 제한되어 있으므로 xlswrite에서 오류가 발생합니다. 대신 dlmwrite을 사용해 보셨습니까?

+0

BTW, Doresoom 코드는 다음과 같이 오류를 표시합니다 : ???오류를 사용하여 ==> xlswrite 오류 : 개체가 오류 코드를 반환했습니다 : 0x800A03EC 나는 256 개 이상의 열을 처리 할 수없는 것 같아요 myfile.xls 열의 수를 2001 년 있어야합니다. 어떻게이 문제를 해결할 수 있습니까? – Mola

+0

@Mola : 방금 두 번 확인하고 2001 년 열이있는 코드를 실행했습니다. 문제가 없습니다. 어떤 버전의 Excel을 사용하고 있습니까? 또한 xlswrite가 오류를 던지고 데이터에 액세스하기를 원한다면 예제의 처음 3 줄을로드 한 후 MATLAB에서 데이터를 조작 할 수 있습니다. – Doresoom

+0

나는 그것을 써야한다. 나는 내가 뭘 잘못하고 있는지 모르지만 그것은 나에게 오류를 준다. excel 2003을 사용하고 있습니다. 나는 여전히 같은 오류가 있습니다. 내가 코드를 실행할 때, 그것은 내가 코드를 가지고 m 파일을 클릭하는 경로로 가라고 물었고 에러를 낸다. ??? ==> xlswrite를 사용하는 중 오류가 발생했습니다 : 오류 : 개체가 오류 코드를 반환했습니다 : 0x800A03EC ==> 4에서 테스트 중 오류가 발생했습니다. xlswrite ([path, 'myfile.xls'], data); 데이터를 읽고 쓰는 별도의 M 파일로 코드를 만들었습니다. 아이디어 – Mola