2014-12-08 2 views
0

Excel 스프레드 시트 (link)를 MATLAB 스파 스 매트릭스로 변환하려고합니다.어떻게 셀 배열을 스파 스 매트릭스로 변환 할 수 있습니까?

작동하는 희소 행렬로 MATLAB으로 가져올 수있는 방법은 무엇입니까? 지금까지 내가 할 수 있었던 모든 나는이 기능을 처음으로 내 이름 행렬을 변환하려고 ... 셀 배열로 변환 할 수 있습니다 : 그러나

function [names,links]=Changing(WorldReligion) 
i=0; 
names={}; 
for i=1:337 
     if WorldReligion(i,1)~=WorldReligion(i+1,1) 
     names(i)=WorldReligion(i,1); 
    end 

end 

,이 오류가 발생합니다 :

[names , links]=Changing(WorldReligion) Undefined function 'ne' for 
input arguments of type 'cell'. 

도움을 주시면 감사하겠습니다.

+0

셀 자체 대신 _content_ 셀에 액세스하려면 중괄호 {}를 사용해야한다고 생각합니다. 즉, WorldReligion {i, 1} ~ = WorldReligion {i + 1,1}을 사용하면 어떻게됩니까? –

+0

~ = 을 사용하는 동안 오류가 있습니다. 행렬 치수가 일치해야합니다. – user3316789

답변

0

주석으로 잘못 판단되었으므로 짧은 대답이지만 스프레드 시트에서 고유 한 종교 이름을 가져 오려면 문자열 셀 배열에서 작동하는 unique 함수를 사용할 수 있습니다. 귀하의 경우에는 스프레드 시트의 첫 번째 열을 얻기 위해 이것을 사용 :

clear 
clc 

[~, text, ~] = xlsread('WorldReligion.xlsx'); 

UniqueNames = unique(text(:,1)); 

whos 

출력 whos의 :

Name    Size    Bytes Class Attributes 

    UniqueNames  117x1    15654 cell    
    text    388x10   452500 cell 

이것은 117 개 고유 한 이름이 '텍스트'데이터의 1 열을 형성 검색, 나는 여러분이 위의 for-loop로하고 싶은 것이라고 생각합니다. 그럴까요?

+0

@ user3316789 그래서 내 제안을 시도 했습니까 ?? –