Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 为什么这些是嵌套for循环的输出?_Matlab_Loops_For Loop_Output_Nested Loops - Fatal编程技术网

Matlab 为什么这些是嵌套for循环的输出?

Matlab 为什么这些是嵌套for循环的输出?,matlab,loops,for-loop,output,nested-loops,Matlab,Loops,For Loop,Output,Nested Loops,代码如下所示: a = [1, 8, -1, -9]; b = [-5, 8, 1, -6, 7, 9]; for i=1:numel(a) c(i) = 0; for k = i : numel(a) c(i) = c(i) + a(k) + b(k); end end fprintf('%7.2f\n', c) 这些是相应的输出,请解释原因: -3.00 (2 blank spaces in front) 1.00

代码如下所示:

a = [1, 8, -1, -9];
b = [-5, 8, 1, -6, 7, 9];
for i=1:numel(a)
    c(i) = 0;
    for k = i : numel(a)
        c(i) = c(i) + a(k) + b(k);
    end
end

fprintf('%7.2f\n', c)
这些是相应的输出,请解释原因:

  -3.00      (2 blank spaces in front)  
   1.00      (3 blank spaces in front)
 -15.00      (1 blank space  in front)
 -15.00      (1 blank space  in front)
格式字符串“%7.2f\n”中的“7”指定的最小宽度为。。。7.默认行为是右对齐的(并且在格式字符串中没有更改),因此通过在左侧填充空格来实现7个字符的最小宽度。当使用固定宽度字体时,这种格式字符串通常用于在数字列中实现对齐条目


这是一个事实上的用户界面标准,垂直堆叠的数字应在小数点处对齐(也应对齐到虚拟小数点:即使不显示该点,也应对齐该点的位置)。对一个人来说,浏览列表并理解条目的相对大小更容易。

解释输出是你的家庭作业吗?您希望代码有什么输出?在MATLAB命令提示符下键入
doc fprintf
。或者找一本关于
fprintf
格式说明符的教程。获取这些输出是我的家庭作业,我只是不知道怎么做。我得到了不同的数字@JimHawkinsWell如果您运行代码,只要它给出准确的输出。这是一个非常简单的算法,你甚至可以手工计算。