2011-08-30 6 views
0

입력 인수가 파일 이름이어야하는 함수를 작성해야하며 함수는 열린 파일에서 특정 작업을 수행합니다. 여기에 내가 쓴 샘플 기능,문자열을 인수로 사용하여 함수를 작성하는 문제

function readFile = loadOneColumnFile(fileName) 
fid1 = fopen(fileName); 
readFile = 0; 
fclose(fid1); 

입니다하지만 명령 콘솔에서이 함수를 호출 할 때 matlab에 다음과 같은 오류 메시지가

를 반환

>> testValue = loadOneColumnCSV('/usr1/test.csv'); 

을 다음과 같이 ?? ? 'char'유형의 입력 인수에 대해 정의되지 않은 함수 또는 메소드 'loadOneColumnFile'.

함수의 정의가 정확하지 않은 것처럼 보입니다. 그것을 고치는 방법? 감사.

+2

먼저 함수 이름의 철자가 맞습니까? 질문에서'loadOneColumnFile'과'loadOneColumnCSV'를 모두 사용했습니다. 그런 다음 함수와 동일한 이름의 파일에이 함수를 저장해야하므로 'loadOneColumnCSV.m'에 저장하십시오. – Isaac

답변

0

MATLAB은 문자열을 MATLAB에서 Null로 끝나는 문자열을 제외하고 C++과 같은 문자 배열로 처리합니다.

오류 메시지에도 불구하고 문자열 전달에 문제가 있다고 생각하지 않습니다. 문제는 MATLAB이 함수를 찾을 수 없다는 것입니다. 그래서 :

  1. loadOneColumnFile.m이 작업에 배치해야합니다 (현재) 디렉토리 그래서 (loadOneColumnFile.m라는 이름의 파일에 저장 기능을 귀하의 경우) 함수와 같은 이름을 가지고 있어야하는 기능을 포함하는 파일 MATLAB 그것을 발견 할 수 있었다.
  2. 함수의 이름이 귀하의 질문에 일관되지 않습니다. 기능 및 파일 이름을 지정하는 데 loadOneColumnFile 또는 loadOneColumnCSV 중 하나만 사용했는지 확인하십시오.
관련 문제