Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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_For Loop - Fatal编程技术网

Matlab for循环仅显示迭代的最后一个值

Matlab for循环仅显示迭代的最后一个值,matlab,for-loop,Matlab,For Loop,我在Matlab中使用for循环函数,以这样的一行显示我的值 [4;0;5;0;6;0;7;0;8;0;9;0;3;0;6] ,但通过使用此代码: A = [4;5;6;7;8;9;3;6]; B = zeros; C=height(A); D=15; for l = 1:2:D for k = 1:C B(l,1)=A(k,1); end end 行中仅显示最后的值,如下所示: [6;0;6;0;6;0;6;0;6;0;6;6;0;6;0;6] 对于这个例子,

我在Matlab中使用for循环函数,以这样的一行显示我的值

[4;0;5;0;6;0;7;0;8;0;9;0;3;0;6]

,但通过使用此代码:

A = [4;5;6;7;8;9;3;6];
B = zeros;
C=height(A);
D=15;
for l = 1:2:D
    for k = 1:C
        B(l,1)=A(k,1);
    end
end
行中仅显示最后的值,如下所示:

[6;0;6;0;6;0;6;0;6;0;6;6;0;6;0;6]

对于这个例子,我只使用整数,但实际方程要复杂得多,我认为我真的需要使用循环函数

谢谢你的帮助。

当你跑步时

for l = 1:2:D
    for k = 1:C
        B(l,1)=A(k,1);
您正在将一个值写入向量
B
的第
l
项,然后用其他值覆盖该项
C-1
次(最后一个值是
a(end)
)。您的方法的主要问题是不需要两个循环,因为没有正交维度可以遍历;您可以改为使用:

A = [4;5;6;7;8;9;3;6];
C = size(A,1);
B = zeros( 2*C-1, 1 );
for l=1:C
    B( 2*l-1, 1 )=A(l,1);
end
其中
循环可能会被完全删除,以支持向量化操作:

B(1:2:end,1) = A(:,1);

如果您安装了信号处理工具箱,您也可以使用该函数,特别是如果结果中的前导零或尾随零不是问题。

您只是想在每个值之间插入零吗?非常感谢您的帮助。这正是我想要的。