zoukankan      html  css  js  c++  java
  • BP实现函数拟合

    %%
    clc;
    clear all;
    close all;
    
    %% 生成正弦曲线
    x = linspace(-2*pi, 2*pi, 100);
    y = sin(x);
    % 对目标值加入噪声
    n = 0.1 * rand(1, length(x));
    y = y + n;
    
    % figure();
    % plot(x, y, 'b-');
    
    %% 数据归一化,创建测试数据集
    [x_, ps] = mapminmax(x);
    data_input = x_;
    data_target = y;
    
    % figure();
    % plot(data_input, data_target, 'b-');
    
    data_test = linspace(-5, 5, 50);
    data_true = sin(data_test);
    data_t = mapminmax('apply', data_test, ps);
    
    % figure();
    % plot(data_t, data_true, 'b-');
    
    %% 创建神经网络(也可打开nntool,在matlab中使用gui创建神经网络)
    hidden_layer_size = 10;
    net = feedforwardnet(hidden_layer_size);
    [net, tr] = train(net, data_input, data_target);
    
    %% 拟合结果
    data_y = sim(net, data_t);
    % data_y = net(data_t);
    figure();
    e = 0.5 * (data_true - data_y) .^ 2;
    plot(e);
    xlabel('x axis');
    ylabel('y axis');
    legend('error');
    
    figure();
    hold on;
    plot(data_test, data_y, '*');
    plot(x, y, 'b');
    xlabel('x axis');
    ylabel('y axis');
    legend('prediction', 'real value');
    
    这篇文章,是又一个故事的结束...
    lazy's story is continuing.
  • 相关阅读:
    久违了,我的博客
    眼前一亮的WI微逸输入法
    致第一次安装(yong)小小输入法的你
    输入法使用体验及引申
    小小输入法使用小记
    RIME-使用小心得
    FreeRTOS run on eclipse
    流行输入法使用小记
    FreeBSD虚拟机——小折腾
    vmware版本选择
  • 原文地址:https://www.cnblogs.com/Hello-world-hello-lazy/p/15216926.html
Copyright © 2011-2022 走看看