Matlab 在for循环的每个循环期间正确输出新的分配

Matlab 在for循环的每个循环期间正确输出新的分配,matlab,for-loop,Matlab,For Loop,我希望每次循环for时都输出一个新的答案。目前正在更新通量,使其仅为最后一个循环输出 for i = 1:nx fluence= data1cm(i).data(:,3).*25000000.*(energygap); %dim=size(c) %'fluence' num2str((i)+1)= fluence; end 正如您索引到data1cm(i)中一样,您可以以相同的方式将值保存到fluence中,例如,如果data1cm(i).data(:,3)。*2500

我希望每次循环
for
时都输出一个新的答案。目前正在更新
通量
,使其仅为最后一个循环输出

for i = 1:nx
    fluence= data1cm(i).data(:,3).*25000000.*(energygap);
    %dim=size(c)
    %'fluence' num2str((i)+1)= fluence;
end

正如您索引到
data1cm(i)
中一样,您可以以相同的方式将值保存到
fluence
中,例如,如果
data1cm(i).data(:,3)。*25000000.*(energygap)
的结果是您可以执行的标量

for i = 1:nx
    fluence(i)= data1cm(i).data(:,3).*25000000.*(energygap);
end
然后,
fluence
将是所有结果的1*nx数组

为了提高效率,应始终初始化变量,即使用一些临时值创建变量,然后覆盖这些值

fluence = zeros(1,nx);
for i = 1:nx
    fluence(i)= data1cm(i).data(:,3).*25000000.*(energygap);
end

在这里,我用零初始化
fluence
,然后所有这些零都被
data1cm(I)的结果覆盖。其他初始化包括
one
nan

这取决于
data1cm(i)是什么。data
energygap
是什么。请看。