2012-11-21 2 views
0

csv 파일에 포함 된 첫 번째 중간 기간의 점수에 대한 간단한 통계 분석을 수행하는 E7stats라는 함수를 생성하려고합니다. 이 함수는 csv 파일의 이름 인 filename 문자열 하나를 사용하고 두 개의 항목에 mean, std d ev, max 및 min이 모두 포함 된 1 개의 출력 구조 인 1 * 2 구조체 배열 S를 반환합니다. 전자 및 종이 기반 중급 점수의 평균, 표준 편차, 최대 값 및 최소값입니다. 이 함수는 또한 30 개의 동일한 크기의 저장소가있는 중간 중간의 두 점수에 대한 두 개의 히스토그램을 만듭니다. 전자 종이 기반의 중간 1의 점수는 CSVMATLAB 오류 : "이전에 함수 또는 명령으로 사용 된 것으로 보입니다."

내 문제에 제 1 및 제 2 컬럼에 저장되어있는 것은 내가 오류 얻을 수 있습니다 :

"의미는"이전에 함수 나 명령으로 사용할 수 있도록 나타났다 , 여기서 변수 이름으로 사용하는 것과 충돌합니다. 이 오류의 가능한 원인은 변수를 초기화하는 것을 잊었거나 load 또는 eval을 사용하여 암시 적으로 초기화 한 것입니다.

내가 오류를 얻는 이유는 알고 있지만 위의 내 변수가 평균, 최소, 최대라는 이름이 필요하기 때문에 오류를 수정하는 방법을 모르겠습니다. 어떤 제안이라도 환영합니다. 감사! 우리는 구조 배열의 내용을 표시하거나 그냥 필드가 '1 × 2 구조체 배열과 함께 구조 배열을 반환해야

:

function S= E7stats(filename) 
filename='grades_E7MT1.csv'; 
S=csvread(filename,1,0); 
stddev = std(S) 
mean= mean(S) 
min= min(S) 
max= max(S) 

내가 내 강사를 요청 이 STDDEV 최대 평균 및 그는 대답했다 : 구조는 기능의 출력이다. 명령 창에 표시 할 필요가 없습니다. 올바른 필드와 값만 있는지 확인하십시오.

그래서 지금 내 함수가 출력해야하는 내용에 대해 혼란스러워합니다. 모든 혼란에 대해 유감스럽게 생각합니다!

+0

그것은 당신이 오류 메시지가 무엇인지 알려하지 않는 경우, 이야기하는 것은 불가능하다 .. – Pete

+0

왜 변수 이름을 바꿀 수 없습니까? 나는 당신이 그 명세를 어디에서 설명했는지, 그리고 왜 당신이 그 명제를 처음부터 갖게되었는지를 보지 못했다. – Squazic

답변

3

변수 이름으로 함수 이름 mean()을 사용하지 마십시오. myMean 또는 이와 비슷한 이름으로 지정하십시오.

또는 양자 택일로, 당신은 평균, 최소 및 최대로 필드 이름을 가진 구조를 만들 수 있습니다

d.mean = mean(); 
d.min = min(); 
+0

난 그냥 내 문제를 해결 생각 : 나는 구조 배열에 그것을 반환해야했습니다! 감사 :) –

관련 문제