【发布时间】:2017-09-14 18:53:47
【问题描述】:
我有这段代码。
1.打开两个文件,"blue.csv","red.csv".
2.计算值并根据if-else语句,将输出打印到相应的文件中。
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 指定的文件中获取任何内容,尽管上面和下面的语句都可以正常工作(@987654325 @ 因此也可以正常工作)。
我曾尝试更改文件指针等,但都没有奏效。
此外,如果我将if vara < varb 条件更改为if vara > varb,那么我不会将任何内容打印到fp2 指向的文件中(因此对我来说,这似乎是> 部分的问题)。
任何解决方案都可以大大节省我完成作业的时间。 谢谢!
【问题讨论】:
-
你需要
fclose文件...
标签: if-statement file-io printf octave gnu