fprintf 在 GNU-octave 中不能正常工作
fprintf not working properly in GNU-octave
我身边有这段代码,
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);
语句不起作用,即,尽管上面的语句和下面的工作正常(gOfX
因此也工作正常)。
我试过更改文件指针等,但 none 行得通。
此外,如果我将 if vara < varb
条件更改为 if vara > varb
,那么我不会将任何内容打印到 fp2
指向的文件中(因此对我来说,这似乎是 [=18= 的问题]部分)。
任何解决方案都可以大大节省我完成作业的时间。
谢谢!
我身边有这段代码,
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);
语句不起作用,即,尽管上面的语句和下面的工作正常(gOfX
因此也工作正常)。
我试过更改文件指针等,但 none 行得通。
此外,如果我将 if vara < varb
条件更改为 if vara > varb
,那么我不会将任何内容打印到 fp2
指向的文件中(因此对我来说,这似乎是 [=18= 的问题]部分)。
任何解决方案都可以大大节省我完成作业的时间。 谢谢!