2017-09-14 69 views
0

有這段代碼與我,哪個。
1.打開兩個文件「blue.csv」,「red.csv」。
2.計算該值並基於if-else語句,將輸出打印到相應的文件。fprintf在GNU-octave中無法正常工作

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 

的問題是,在else條件fprintf(fp1,'%d,%d\n',x,y);聲明不工作,即,我無法通過fp1指定雖然上面的語句和下面是完全工作正常,在文件中得到任何東西(所以gOfX工作沒關係)。

我試過改變文件指針等,但沒有工作。 此外,如果我將if vara < varb條件更改爲if vara > varb,則我沒有得到任何東西打印到文件fp2指向的文件中(因此對我來說,似乎是>部分的問題)。

任何解決方案都可以大大節省我完成作業的時間。 謝謝!

+0

你需要'fclose'文件... – Andy

回答

0

使用倍頻的fflush刷新緩衝區

不要忘記使用fclose關閉您的文件。

+2

@ me.ydv.5更重要的是,他需要關閉文件! –