2014-02-23 4 views
0

저는 R과 java에서 상당한 양의 프로그래밍을 수행했지만 matlab를 처음 사용합니다. MATLAB 저장 기능을 사용하여 파일을 저장하려고합니다. 저장하려는 파일의 이름에 .txt 파일에서 읽은 문자열이 있어야합니다. 나는이 때파일을 저장하려고 할 때 matlab에 오류가 발생했습니다.

sp500=textread('C:\\Users\\Paul\\Downloads\\algo\\sp500.txt','%s'); 
save(sp500{i},cleanedVolume) 

는하지만, 나는 오류가 발생합니다 : 인수가 문자열을 포함해야합니다.

올바르게 이해하면 sp500은 문자 배열의 셀 배열입니다. 그래서 아마도 matlab에서 이런 식으로하지 않는 이유는 문자열 대신 char 배열을 사용하려고하는 것입니다. 나는 인터넷에서 사방을 보았으며, 문자 배열을 matlab에있는 문자열로 변환하는 방법을 말할 곳이 없다. 또는 누군가가이 텍스트 파일을 문자열 대신 셀 배열로 읽는 방법을 설명 할 수 있다면 그 파일이 제대로 작동하는 데 충분할 것입니다. 하지만 누군가가 여기에서 무슨 일이 일어나고 있는지 설명해주십시오. 즉, 문자열 형식을 지정 했는데도 readtxt가 문자 셀을 반환하는 이유, 왜 파일에서 문자열을 읽는 기능이 없는지, 왜 쉽게 문자열을 변환 할 수 없는지 설명해줍니다. 문자 배열을 문자열로 변환하면 멋질 것입니다.

누군가 나를 도와 줄 수 있습니까? 덕분에, 바울은

+2

보십시오. 'tmp = sp500 {i}; whos tmp' 그것은 무엇을 말하는가? – chappjc

+0

그것은 9 개의 필드가있는 0x1 구조체 배열이라고 말합니다. sp500 {i}의 값을 표시하면 ans = MMM_trades.mat가 표시됩니다. 이것은 원하는 문자열입니다. – Paul

답변

2

은 문자 배열 문자열입니다

save(sp500{i},'cleanedVolume') 
+0

대단히 감사합니다. 이 게시를 게시하기 바로 전에 문제가 파일 이름이 아니라 변수에 저장된다는 사실을 깨달았습니다. 나는 cleanedVolume의 모든 요소를 ​​체계적으로 문자열로 바꿀려고했지만, 이것은 훨씬 더 속임수가됩니다! 고맙습니다. – Paul

관련 문제