MATLAB如何将循环结果保存到数组

我就是想要达到这样的目的,就是想要每次训练的结果,不知道怎么编这个循环,我想要yxl1到yxl10000,该怎么变这个循环,万分感谢
net1=newff(Pxl',Txl,[3],{'tansig'},'traingd');
net1.trainParam.epochs=1;%训练次数
net1.trainParam.goal=0.01;%网络性能目标,训练的目标误差
net1.trainParam.lr=0.05;%学习速率
net1=train(net1,Pxl',Txl);%训练神经网络
yxl1=sim(net1,Pxl');

net2=newff(Pxl',Txl,[3],{'tansig'},'traingd');
net2.trainParam.epochs=2;%训练次数
net2.trainParam.goal=0.01;%网络性能目标,训练的目标误差
net2.trainParam.lr=0.05;%学习速率
net2=train(net2,Pxl',Txl);%训练神经网络
yxl2=sim(net2,Pxl');

net3=newff(Pxl',Txl,[3],{'tansig'},'traingd');
net3.trainParam.epochs=3;%训练次数
net3.trainParam.goal=0.01;%网络性能目标,训练的目标误差
net3.trainParam.lr=0.05;%学习速率
net3=train(net3,Pxl',Txl);%训练神经网络
yxl3=sim(net3,Pxl');

net4=newff(Pxl',Txl,[3],{'tansig'},'traingd');
net4.trainParam.epochs=4;%训练次数
net4.trainParam.goal=0.01;%网络性能目标,训练的目标误差
net4.trainParam.lr=0.05;%学习速率
net4=train(net4,Pxl',Txl);%训练神经网络
yxl4=sim(net4,Pxl');
for i=1:10000;
net1=newff(Pxl',Txl,[3],{'tansig'},'traingd');
net1.trainParam.epochs=i;%训练次数
net1.trainParam.goal=0.01;%网络性能目标,训练的目标误差
net1.trainParam.lr=0.05;%学习速率
net1=train(net1,Pxl',Txl);%训练神经网络
yxl1=sim(net1,Pxl');

end
该怎么修改,万分感谢

或者是一下用元胞数组,10000这么多数据引用起来很麻烦

for i=1:10000;
net1=newff(Pxl',Txl,[3],{'tansig'},'traingd');
net1.trainParam.epochs=i;%训练次数
net1.trainParam.goal=0.01;%网络性能目标,训练的目标误差
net1.trainParam.lr=0.05;%学习速率
net1=train(net1,Pxl',Txl);%训练神经网络
yxl{ii}=sim(net1,Pxl');
end

后面只要用yxl{n}引用第n个结果追问

我想问一下, yxl{i}=sim(net1,Pxl');算出来的1*10000cell就是每次训练的结果吗?sim(net1,Pxl')中的net1不用改为一个与i有关的吗?我是新手,多谢指教

追答

你这样还像是得到训练1次的结果
训练2次的结果
。。
。。

每次同重头开始,可能很费时间

如果要每次的训练结果好像不需要用循环的
你要仔细看看神经网络程序的相关函数怎么用

追问

我就是想要每次的训练结果,不设置循环那我该怎么保存每次的结果呢 ? 我就是想用每次的训练结果计算根据yxl{i}=sim(net1,Pxl')计算得到yxl值,得到10000个yxl值

温馨提示:答案为网友推荐,仅供参考