【matlab入门训练】
本文将用模型生成的数据构建可供matlab神经网络训练使用的数据库(数据类型)。即采用训练后的神经网络来拟合逼近该模型。
1、模型输入为五个独立变量(x1,x2,x3,x4,x5),输出为一个结果y,即多输入单输出模型。假设每个独立变量均有7个离散取值,采用for循环嵌套,则模型输出y为7*7*7*7*7矩阵。
for q=1:1:7 %%%
x1(q+1)=x1(q)+0.7;
for p=1:1:7 %%%
x2(p+1)=x2(p)+0.3;
for i=1:1:7 %%%%%%
x3(i+1)=x3(i)+0.2;
for qk=1:1:7 %%%
x4(qk+1)=x4(qk)+0.04;
for pk=1:1:7 %%%
x5(pk+1)=x5(pk)+4;
y(q,p,i,qk,pk)=opd0505(x1(q),x2(p),x3(i),x4(qk),x5(pk));
......
2、对于输出y,可直接用reshape函数可以将y转化为1行16807列的标准格式,即yo=reshape(y,1,16807)。
3、对于输入(x1,x2,x3,x4,x5),同样采用for循环嵌套,生成含有(x1,x2,x3,x4,x5)坐标点的7*7*7*7*7元胞数组,每个cell含有(x1,x2,x3,x4,x5)坐标点:
xo=cell(7,7,7,7,7);
for q=1:1:7 %%%
x1(q+1)=x1(q)+0.7;
for p=1:1:7 %%%
x2(p+1)=x2(p)+0.3;
for i=1:1:7 %%%%%%
x3(i+1)=x3(i)+0.2;
for qk=1:1:7 %%%
x4(qk+1)=x4(qk)+0.04;
for pk=1:1:7 %%%
x5(pk+1)=x5(pk)+4;
xo{q,p,i,qk,pk}=[x1(q);x2(p);x3(i);x4(qk);x5(pk)]
......
4、对获取的ordina用reshape函数可以转化为1行16807列的标准格式,然后用cell2mat函数将元胞数组转化为矩阵: xo2=cell2mat(xo);
5、此时,数据组输入xo2为5*16807矩阵,数据组输出yo为1*16087矩阵,即为matlab神经网络训练的标准格式。该网络为5输入1 输出,样本量为16807。