2

我有一个嵌套的 for 循环,在内部循环中我有一个数组,它将在每次迭代中改变大小和值,例如;

a=[ 2 3 4]

在下一次迭代中它将是:

a=[9 5]

但我的代码的结果是:

a=[9 5 4]

a(3) 是问题,它来自上一次迭代,我不想要它,我该怎么办?

我不知道如何在这里编写我的代码,因为它包含很多功能,您不会理解它!?

但它是这样的:

for j=1: 5
%l is the length of row in cell array(a) that varies from one row to another
for i=1:l
 dn=a{j,i};
spp(t)=dn(1)
end
 targ{j,1}=spp;
end

spp 是这里的问题

4

1 回答 1

3

插入clear删除临时变量的命令(一旦spp有三个元素,除非您清除它或声明它,否则它永远不会回到 2 元素向量)。

...
targ{j,1}=spp;
clear spp;
...

或者,您可以通过在填充变量之前声明变量来对 matlab 方式进行编码。在这种情况下,不需要明确的命令。

for j=1:5

    %l is the length of row in cell array(a) that varies from one row to another
    spp = zeros(1,l);
    for i=1:l
    ...
于 2013-08-07T08:06:42.990 回答