lin0522 2021-07-08 12:26 采纳率: 20%
浏览 159
已采纳

matlab [net2,tr]=train(net2,P,T);问题

clear all
clc
close all

P=[3.03 2.38 4.26 5.65 6.62 1.21;3.05 2.34 4.08 5.53 6.66 1.25;3.08 2.36 4.19 5.61 6.54 1.26;3.15 2.39 4.25 5.78 6.49 1.25;3.19 2.42 4.31 5.80 6.78 1.28;3.51 18.78 6.46 7.53 9.61 1.28;3.56 14.07 6.02 7.59 9.53 1.33;3.64 15.48 6.57 7.67 9.48 1.36;3.66 24.50 6.59 7.62 9.42 1.35;3.68 15.26 6.32 7.71 9.55 1.39;4.35 19.24 8.54 10.4 15.9 1.41;4.36 21.78 8.61 10.2 16.1 1.43;4.38 25.35 8.69 10.7 15.7 1.47;4.39 22.50 8.63 11.0 16.4 1.51;4.41 17.65 7.52 10.8 16.2 1.46;9.35 27.52 9.52 15.2 20.3 1.51;9.40 21.96 9.61 15.6 19.2 1.57;9.69 18.29 9.18 16.2 19.7 1.64;9.78 29.78 9.68 15.9 21.1 1.68;9.88 24.32 9.47 15.7 20.3 1.62];
T=[0 0 0;0 0 0;0 0 0;0 0 0;0 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;0 1 0;0 1 0;0 1 0;0 1 0;0 1 0;0 0 1;0 0 1;0 0 1;0 0 1;0 0 1]';
net2=newff(minmax(P),[12,1],{'logsig','purelin'},'traingdm');
%设置训练参数
net2.trainParam.goal=0.001;
net2.trainParam.epochs=100;
net2.trainParam.lr=0.05;
net2.trainParam.show=1;
net2.trainParam.mc=0.9;
%调用Traingdm算法训练BP网络
[net2,tr]=train(net2,P,T);
% 对BP网络进行仿真
A=sim(net,P);

错误提示:
错误使用 network/train (line 320)
Inputs and targets have different numbers of samples.

出错 xunlian (line 15)
[net2,tr]=train(net2,P,T);

  • 写回答

1条回答 默认 最新

  • CSDN专家-Matlab_Fans 2021-07-08 19:59
    关注

    输入数据P与输出数据T的维度不匹配。改成下面的程序:

    clear all
    clc
    close all
    
    P=[3.03 2.38 4.26 5.65 6.62 1.21;3.05 2.34 4.08 5.53 6.66 1.25;3.08 2.36 4.19 5.61 6.54 1.26;3.15 2.39 4.25 5.78 6.49 1.25;3.19 2.42 4.31 5.80 6.78 1.28;3.51 18.78 6.46 7.53 9.61 1.28;3.56 14.07 6.02 7.59 9.53 1.33;3.64 15.48 6.57 7.67 9.48 1.36;3.66 24.50 6.59 7.62 9.42 1.35;3.68 15.26 6.32 7.71 9.55 1.39;4.35 19.24 8.54 10.4 15.9 1.41;4.36 21.78 8.61 10.2 16.1 1.43;4.38 25.35 8.69 10.7 15.7 1.47;4.39 22.50 8.63 11.0 16.4 1.51;4.41 17.65 7.52 10.8 16.2 1.46;9.35 27.52 9.52 15.2 20.3 1.51;9.40 21.96 9.61 15.6 19.2 1.57;9.69 18.29 9.18 16.2 19.7 1.64;9.78 29.78 9.68 15.9 21.1 1.68;9.88 24.32 9.47 15.7 20.3 1.62];
    T=[0 0 0;0 0 0;0 0 0;0 0 0;0 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;0 1 0;0 1 0;0 1 0;0 1 0;0 1 0;0 0 1;0 0 1;0 0 1;0 0 1;0 0 1]';
    net2=feedforwardnet(10);
    %设置训练参数
    net2.trainParam.goal=0.001;
    net2.trainParam.epochs=100;
    net2.trainParam.lr=0.05;
    net2.trainParam.show=1;
    net2.trainParam.mc=0.9;
    %调用Traingdm算法训练BP网络
    [net2,tr]=train(net2,P',T);
    % 对BP网络进行仿真
    A=sim(net2,P');
    

    结果:

    A =
    
      列 1 至 14
    
        0.0309    0.0394    0.0440    0.0385    0.0571    0.9922    0.9802    0.9930    1.0042    0.9908    0.0307    0.0307    0.0147   -0.2278
       -0.0407   -0.0455   -0.0435   -0.0433   -0.0326   -0.0146   -0.0132   -0.0151   -0.0151   -0.0121    0.9200    0.9813    0.9927    1.0665
        0.0125    0.0036    0.0027    0.0056    0.0028   -0.0097   -0.0062   -0.0065   -0.0089   -0.0070   -0.0466   -0.0762    0.0093    0.1634
    
      列 15 至 20
    
        0.0063   -0.3714    0.0163    0.0225    0.0169    0.0194
        0.9836    0.5031    0.0191    0.0181    0.0465    0.0319
        0.0001    0.9498    1.0419    1.0473    1.0665    1.0536
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 7月8日

悬赏问题

  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码