使用fprintf在Matlab中的几行上打印

时间:2013-05-13 01:45:10

标签: matlab matrix int printf

问题: 编写一个名为Print7的过程来打印0:100范围内可被7整除的所有整数。在一条输出行上打印十个数字。因此编写一个调用该过程的程序。

这就是我做的事情

 file = fopen('print7.dat','r');

 x = 1:100

 for x=[1:100]
   if mod(x,7) == 0;
    print7 = [x]
 end
end
 fprintf('print7 %d\n', print7)

现在它的输出变为数字98 - 据我所知,它是100以下可被7整除的最大数字。但是我想要一个10xn矩阵式的结果。

我该怎么办?

2 个答案:

答案 0 :(得分:1)

您正在执行的操作将结果存储在变量中,并在每次迭代中覆盖变量。您可以直接打印它,如下所示:

c=0;
 for x=[1:100]
   if mod(x,7) == 0
      fprintf('%3d',x)
      c=c+1;
      if mod(c,10) ==0
        fprintf('\n')
      end
   end
end

答案 1 :(得分:0)

fileID = fopen('print7.dat','r');

for x = 1:100
if(mod(x,7) == 0)
   fprintf(fileID,'%d',x);
end %end of if
end %end of for

fclose(fileID);