[已答复] 我利用RBF人工神经网络对数据进行预测,模型用的是newgrnn,在数据预测出现了错误使用 network/sim (line 270),Input data sizes do not match net.inputs{1}.size.

[复制链接]
小peng同学 发表于 2021-10-14 15:32:24
我是MATLAB新手,根据书上书写的,请问有没有大神帮忙知道一下,样本训练已经完成了,在预测时出现了:错误使用 network/sim (line 270)Input data sizes do not match net.inputs{1}.size.
%原始数据预处理
a=[ 0.65 1.79 1.52
    0.65 1.81 1.51
    0.65 1.84 1.51
    0.65 1.87 1.50
    0.65 1.90 1.50
    0.65 1.94 1.49
    0.70 1.93 1.61
    0.70 1.96 1.60
    0.70 2.00 1.60
    0.70 2.03 1.59
    0.70 2.07 1.59
    0.70 2.11 1.58
    0.80 2.23 1.86
    0.80 2.28 1.85
    0.80 2.32 1.84
    0.80 2.36 1.83
    0.80 2.40 1.82
    0.80 2.40 1.82
    0.90 2.52 2.17
    0.90 2.56 2.17
    0.90 2.63 2.15
    0.90 2.71 2.13
    0.90 2.79 2.11
    0.90 2.87 2.09
    1.00 2.86 2.57
    1.00 2.91 2.56
    1.00 2.97 2.54
    1.00 3.05 2.52
    1.00 3.13 2.49
    1.00 3.20 2.47
    1.05 3.10 2.78
    1.05 3.18 2.76
    1.05 3.25 2.73
    1.05 3.32 2.71
    1.05 3.40 2.68
    1.05 3.48 2.66];
%数据的归一化处理
C=a(:,1)';
D=a(:,2)';
T=a(:,3)';
C1=(C-min(C'))/(max(C')-min(C'))-0.5;
D1=(D-min(D'))/(max(D')-min(D'))-0.5;
P=[C1
   D1  ];
T;
%ANN模型预测
spread=0.05;
net=newgrnn(P,T,spread);
a1=[ 0.65 1.90 1.50
    0.70 2.07 1.59
    0.80 2.40 1.82
    0.90 2.79 2.11
    1.00 3.13 2.49
    1.05 3.40 2.68 ];
C0=a1(:,1);
D0=a1(:,2);
C10=(C0-min(C'))/(max(C')-min(C'))-0.5;
D10=(D0-min(D'))/(max(D')-min(D'))-0.5;
P0=[C10
    D10 ];
hv=sim(net,P0) ;
hv1=hv';
t00=a1(:,3);
b=[hv1,t00]
plot(hv1,t00,'ko')
hold on
x0=[1 3];
y1=[1 3];
Q1=polyfit( x0,y1,3);
f1=polyval(Q1,x0);
plot(x0,y1,x0,f1,'k-','LineWidth',0.25);


1 条回复


20141303 发表于 2021-10-14 18:50:27
仅供参考
  1. %原始数据预处理
  2. a=[ 0.65 1.79 1.52
  3.     0.65 1.81 1.51
  4.     0.65 1.84 1.51
  5.     0.65 1.87 1.50
  6.     0.65 1.90 1.50
  7.     0.65 1.94 1.49
  8.     0.70 1.93 1.61
  9.     0.70 1.96 1.60
  10.     0.70 2.00 1.60
  11.     0.70 2.03 1.59
  12.     0.70 2.07 1.59
  13.     0.70 2.11 1.58
  14.     0.80 2.23 1.86
  15.     0.80 2.28 1.85
  16.     0.80 2.32 1.84
  17.     0.80 2.36 1.83
  18.     0.80 2.40 1.82
  19.     0.80 2.40 1.82
  20.     0.90 2.52 2.17
  21.     0.90 2.56 2.17
  22.     0.90 2.63 2.15
  23.     0.90 2.71 2.13
  24.     0.90 2.79 2.11
  25.     0.90 2.87 2.09
  26.     1.00 2.86 2.57
  27.     1.00 2.91 2.56
  28.     1.00 2.97 2.54
  29.     1.00 3.05 2.52
  30.     1.00 3.13 2.49
  31.     1.00 3.20 2.47
  32.     1.05 3.10 2.78
  33.     1.05 3.18 2.76
  34.     1.05 3.25 2.73
  35.     1.05 3.32 2.71
  36.     1.05 3.40 2.68
  37.     1.05 3.48 2.66];
  38. %数据的归一化处理
  39. C=a(:,1)';
  40. D=a(:,2)';
  41. T=a(:,3)';
  42. C1=(C-min(C'))/(max(C')-min(C'))-0.5;
  43. D1=(D-min(D'))/(max(D')-min(D'))-0.5;
  44. P=[C1
  45.    D1  ];
  46. T;
  47. %ANN模型预测
  48. spread=0.05;
  49. net=newgrnn(P,T,spread);
  50. a1=[ 0.65 1.90 1.50
  51.     0.70 2.07 1.59
  52.     0.80 2.40 1.82
  53.     0.90 2.79 2.11
  54.     1.00 3.13 2.49
  55.     1.05 3.40 2.68 ];
  56. C0=a1(:,1);
  57. D0=a1(:,2);
  58. C10=(C0-min(C'))/(max(C')-min(C'))-0.5;
  59. D10=(D0-min(D'))/(max(D')-min(D'))-0.5;
  60. P0=[C10,D10 ]';
  61. hv=sim(net,P0) ;
  62. hv1=hv';
  63. t00=a1(:,3);
  64. b=[hv1,t00]
  65. plot(hv1,t00,'ko')
  66. hold on
  67. x0=[1 3];
  68. y1=[1 3];
  69. Q1=polyfit( x0,y1,3);
  70. f1=polyval(Q1,x0);
  71. plot(x0,y1,x0,f1,'k-','LineWidth',0.25);
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表