问题内容是根据列车的入口速度,出口速度和间隔时间这三个输入量来估计区间距离,T是调整后的期望距离,运行程序出现以下错误
Warning: NEWFF used in an obsolete way.
> In obs_use at 18
In newff>create_network at 127
In newff at 102
In bplizi at 1031
See help for NEWFF to update calls to the new argument list.
Error using traingd (line 102)
Inputs and targets have different numbers of samples.
Error in network/train (line 106)
[net,tr] = feval(net.trainFcn,net,X,T,Xi,Ai,EW,net.trainParam);
Error in bplizi (line 1044)
[net_1,tr]=train(net_1,P,T);
求大神指导!!
以下是原代码:
clear all;
x1=[256*1矩阵];
x2=[256*1矩阵];
x3=256*1矩阵];
P=[x1,x2,x3];
T=[256*1矩阵];
net_1=newff([0,1;0,1;0,1],[6,1],{'tansig','purelin'},'traingdm');
inputWeights=net_1.IW{1,1};
inputbias=net_1.b{1};
% 当前网络层权值和阈值
layerWeights=net_1.LW{2,1};
layerbias=net_1.b{2};
% 设置训练参数
net_1.trainParam.epochs = 10000;
net_1.trainParam.goal = 1e-3;
net_1.trainParam.show=50;
net_1.trainParam.lr=0.05;
net_1.trainParam.mc=0.9;
% 调用 TRAINGDM 算法训练 BP 网络
[net_1,tr]=train(net_1,P,T);
% 对 BP 网络进行仿真
A = sim(net_1,P);
plot(P,T)
% 计算仿真误差
V=net_1.iw{1,1};%输入层到中间层权值
theta1=net_1.b{1};%中间层各神经元阈值
W=net_1.lw{2,1};%中间层到输出层权值
theta2=net_1.b{2};%输出层各神经元阈值
E = T - A;
MSE=mse(E);
figure(1)
plot(E,'- *')
title('BP网络训练误差','fontsize',10)
ylabel('误差','fontsize',10)
xlabel('样本','fontsize',10)
如何使用matlab编写多输入单输出BP神经网络
在你的代码基础上说了。clc;clear;close all;p=load('originaldata.txt');%你问题最后说的数据文件名跟这个不同。p1=p';t=[1];% 这个输出(Targets)应该和输入数据对应,输入数据有10个,输出应该也是10个 所以改为 t是一个1x10的行向量,每个元素对应10个输入数据的输出。不知道你的训练数据...
MATLAB中BP神经网络多输入单输出程序
把输入转置一下 应该就可以了,这样就有10列,对应10个输出,每列的三行就对应3维
请教一个关于matlab BP神经网络输出层的问题
1,一般,BP神经网络是3层的,有一个输入层,一个隐层,一个输出层。2,你如果学的不需要不是十分深入的话,调整隐层数和隐层结点数,隐层的转换函数,就可以调整预测准确度。3,BP神经网络的隐层数,各隐层的节点数都是要不断的调节的,不过有一个一般性的范围。隐层节点数 L<n-1或L=log2...
MATLAB,BP神经网络,两输入一输出。输入P1=[1 1 1],P2=[0.74 0.70 0.68...
1 inputs over TS timesteps% Each X{1,ts} = 2xQ matrix, input #1 at timestep ts.%% and returns:% Y = 1xTS cell of 1 outputs over TS timesteps.% Each Y{1,ts} = 1xQ matrix, output #1 at timestep ts.%% where Q is number of samples (or series) and TS...
matlab神经网络工具箱训练出来的函数,怎么输出得到函数代码段
用公式计算测试数据[x1;x2]的输出,输入要归一化,输出反归一化 in = mapminmax('apply',[x1;x2],inputStr);y=w3*tansig(w2*tansig(w1*in+b1)+b2)+b3;y1=mapminmax('reverse',y,outputStr);用bp神经网络验证计算结果 out = sim(net,in);out1=mapminmax('reverse',out,outputStr);...
matlabbp神经网络出现这样错误,是错在哪里了?
问题的根源是你拼写错了。你把traingdx拼成了taingdx,少了个r。'traingdx'这一项代表的是学习训练函数,'traingdx'具体是指学习率可变的动量BP算法。下图是用traingdx参数训练的一个模型结构,证明运行成功了,当然隐藏层和输出层是我随便写的,和你发的代码不一样。希望可以帮助到您,能有帮助的话麻烦...
用matlab做BP神经网络时候,输入的矩阵行列数和输出的行列数不一样怎么...
你在gui点的时候,选完输入输出矩阵下面有个选项问你样本按列排列或是按行排列(默认按列),而你这个给机器的是按行的。一般是把pt都转置成11*7和9*7,7个样本。再训练就对了。
运行遗基于遗传算法的BP神经网络MATLAB代码程序时总是出错...
%训练网络net=train(net,XX,YY);a=sim(net,XX) ;%程序二:适应值函数function [sol, val] = gabpEval(sol,options)% val - the fittness of this individual% sol - the individual, returned to allow for Lamarckian evolution% options - [current_generation]load data2...
用matlab的nntool工具箱训练好的一个BP神经网络,下一步要怎么做才能进行...
a=sim(net,x)说实话我也菜鸟级别,你看一下最后这个函数能不能用:其中“a”自己随便可以设的,其实就是个代表返回值 “net”换成你训练好的函数,“x”换成你的输入矩阵
matlabbp神经网络
在MATLAB中,可以使用神经网络工具箱来创建BP神经网络。选择合适的网络类型,如多层前馈神经网络,并根据问题需求设置输入层、隐藏层和输出层的节点数。二、训练神经网络 创建好神经网络后,需要使用训练数据集对其进行训练。训练过程中,网络通过不断地调整权重和偏置来最小化预测误差。MATLAB提供了多种训练...