【问题标题】:Matlab -Neural Network Simulation (for Loop)Matlab - 神经网络模拟(for Loop)
【发布时间】:2012-05-10 12:40:25
【问题描述】:

我是 matlab NN 工具箱的新手,并创建了以下 NN 网络:

val.P=Exp;

net =newff(minmax(p),[20,3],{'tansig','purelin'},'trainlm');

net.trainParam.epochs = 5000;    %Max Ephocs
net.trainParam.goal = 1e-5;     %Training Goal in Mean Sqared Error
net.trainParam.min_grad = 0.05e-3;
net.trainParam.show = 50;       %# of ephocs in display
net.trainParam.max_fail =20;
net = init(net);

[net,tr]=train(net,p,t,[],[],val);
o1 = sim(net,Exp)

我怎样才能运行上述 20 次并将数据存储在一个变量 (o1) 中? 非常感谢任何帮助!

【问题讨论】:

  • 嗨,请参阅修改后的问题。

标签: matlab loops neural-network


【解决方案1】:
for iteration=1:20
  % Your NN code
  [net, tr]=train(net,p,t,[],[],val);
  o1(:,iteration) = sim(net,Exp);
end

之后,o1 将是一个包含所有结果的数组。

注意:由于我不知道您数据的维度,您可能需要将 o1(iteration) 修改为 o1(:,iteration) 或 o1(:,:,iteration) 等。无论您需要什么。

【讨论】:

  • 非常感谢您的回复,但是matlab给出了以下错误:??? o1[迭代] = sim(net,Exp); |错误:不平衡或意外的括号或括号。
  • o1 在 20 次迭代后是 我希望 matlab 给我一个 o1。我试过 o1(iteration,:) = sim(net,Exp);这就是matlab给我的???下标分配维度不匹配。
  • 正是我要回答的问题。就我个人而言,我会选择 o1(:, iteration),这样 sum(o1 - TestData) 就会为每个实验提供一个结果。 o1(:,:,iteration) 等对我来说更有意义......
  • 没有循环这会给你什么:o1 = sim(net,Exp);大小(o1)?
  • @Jia:非常感谢。 o1(:, 迭代) 解决了这个问题。
猜你喜欢
  • 2017-02-27
  • 2011-03-08
  • 2012-03-21
  • 1970-01-01
  • 1970-01-01
  • 2015-12-03
  • 2011-08-23
  • 2012-11-17
相关资源
最近更新 更多