如何在matlab中将循环结果转换为向量或矩阵
事情是这样的: 我在for循环中嵌套了while循环。 我可以得到每个迭代的结果作为变量flp的结果。但现在我希望所有这些结果都存储在一个向量中,该向量的行数与另一个名为eci的变量的行数相同。我知道我必须预先分配向量。但我该如何从这里开始呢? 加油 以下是我迄今为止完成的代码:如何在matlab中将循环结果转换为向量或矩阵,matlab,Matlab,事情是这样的: 我在for循环中嵌套了while循环。 我可以得到每个迭代的结果作为变量flp的结果。但现在我希望所有这些结果都存储在一个向量中,该向量的行数与另一个名为eci的变量的行数相同。我知道我必须预先分配向量。但我该如何从这里开始呢? 加油 以下是我迄今为止完成的代码: for eci=0:0.0002:ecu fl=0; fcc=fc0*(2.254*sqrt(1+7.94*fl/fc0)-2*fl/fc0-1.254); ecc=ec0*(1+5*(fcc/
for eci=0:0.0002:ecu
fl=0;
fcc=fc0*(2.254*sqrt(1+7.94*fl/fc0)-2*fl/fc0-1.254);
ecc=ec0*(1+5*(fcc/fc0-1));
r=Ec/(Ec-fcc/ecc);
x=eci/ecc;
fc=fcc*x*r/(r-1+x^r);
el=(Ec*eci-fc)/(2*beta*fc);
flp=ke*kr*2*nf*tf*Ef*1000*el/B;
while abs(fl-flp)>0.0001
fl=flp;
fcc=fc0*(2.254*sqrt(1+7.94*fl/fc0)-2*fl/fc0-1.254);
ecc=ec0*(1+5*(fcc/fc0-1));
r=Ec/(Ec-fcc/ecc);
x=eci/ecc;
fc=fcc*x*r/(r-1+x^r);
el=(Ec*eci-fc)/(2*beta*fc);
flp=ke*kr*2*nf*tf*Ef*1000*el/B
end
end
eci=[0:0.0002:ecu]';
m=size(eci);
m(:,2)=[];
mat_result=zeros(m,1)
它非常刺激,从一个空向量开始,例如:
results = zeros(length(0:0.0002:ecu),1);
然后用t=t+1
在循环中的某个地方开始计数(当然要正确初始化),并存储返回的结果:
results(t) = myResult