2017-09-14 1 views
0

저와 함께이 코드가 있습니다.
1. 두 개의 파일 "blue.csv", "red.csv"를 엽니 다.
2. 값을 계산하고 if-else 문을 기반으로 출력을 해당 파일에 인쇄합니다. else 상태에서 fprintf(fp1,'%d,%d\n',x,y); 문이 작동하지 않습니다GNU 옥타브에서 fprintf가 제대로 작동하지 않습니다.

fp1 = fopen('red.csv','w'); 
fp2 = fopen('blue.csv','w'); 

for x = 0:100:2500, 
    for y = 0:100:2500, 
     vector = [x , y] 
     vara = gOfX(vector,mu1,finalcovariance) ; 
     varb = gOfX(vector,mu2,finalcovariance) ; 
     if vara < varb 
      fprintf(fp2,'%d,%d\n',x,y); 
      fprintf('vara-varb is -------negative\n ');   
     else 
      fprintf('%d,%d\n',x,y); 
      fprintf(fp1,'%d,%d\n',x,y); 
      fprintf('vara-varb is ---------------------positive\n '); 
     endif; 
    endfor 
endfor 

문제는, 즉, 나는 gOfX 때문에 노력하고 있습니다 (아래 위의 문장과 완벽하게 작동 괜찮 있지만 fp1에 의해 지정된 파일에 아무 것도 얻을 수 없습니다입니다 미세 너무).

파일 포인터 등을 변경하려고했지만 그 중 아무 것도 작동하지 않았습니다. 또한 조건을 if vara > varb으로 변경하면 fp2이 가리키는 파일에 아무 것도 인쇄되지 않습니다 (따라서 나에게도 > 부분의 문제인 것 같습니다).

어떤 솔루션으로도 과제를 완료하는 데 많은 시간을 절약 할 수 있습니다. 감사합니다.

+0

당신은 파일을 fclose해야합니다 ... – Andy

답변

0

사용 옥타브의 fflush

fclose을 사용하여 파일을 닫습니다 잊지 마세요 버퍼를 플러시합니다.

+2

@ me.ydv.5 더 중요한 것은, 그는 파일을 닫아야합니다! –

관련 문제