• 基于BP神经网络的轨迹跟踪(Matlab代码实现)


     👨‍🎓个人主页:研学社的博客 

    💥💥💞💞欢迎来到本博客❤️❤️💥💥

    🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

    ⛳️座右铭:行百里者,半于九十。

    📋📋📋本文目录如下:🎁🎁🎁

    目录

    💥1 概述

    📚2 运行结果

    🌈3 Matlab代码实现

    🎉4 参考文献


    💥1 概述

    BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。具体来说,对于如下的只含一个隐层的神经网络模型:

    BP神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。 

    📚2 运行结果

     

     

    🌈3 Matlab代码实现

    部分代码:

    for k=1:1:1000
        %时间
        time(k)=k*ts;
        %% 输入层
        %BP输入1
        u(k)=0.50*sin(3*2*pi*k*ts);
        %控制对象输出,BP输入2
        y(k)=u_1^3+y_1/(1+y_1^2);
        %% 隐含层
        for  j=1:1:6
            I(j)=x'*w1(:,j);
            Iout(j)=1/(1+exp(-I(j)));
        end
        %% 输出层
        yn(k)=w2'*Iout;         % Output of NNI networks
        %% 跟踪误差
        e(k)=y(k)-yn(k);    % Error calculation
        %% 反向传播
        w2=w2_1+(xite*e(k))*Iout+alfa*(w2_1-w2_2);
        
        for j=1:1:6
            FI(j)=exp(-I(j))/(1+exp(-I(j)))^2;
        end
        
        for i=1:1:2
            for j=1:1:6
                dw1(i,j)=e(k)*xite*FI(j)*w2(j)*x(i);

    for k=1:1:1000
        %时间
        time(k)=k*ts;
        %% 输入层
        %BP输入1
        u(k)=0.50*sin(3*2*pi*k*ts);
        %控制对象输出,BP输入2
        y(k)=u_1^3+y_1/(1+y_1^2);
        %% 隐含层
        for  j=1:1:6
            I(j)=x'*w1(:,j);
            Iout(j)=1/(1+exp(-I(j)));
        end
        %% 输出层
        yn(k)=w2'*Iout;         % Output of NNI networks
        %% 跟踪误差
        e(k)=y(k)-yn(k);    % Error calculation
        %% 反向传播
        w2=w2_1+(xite*e(k))*Iout+alfa*(w2_1-w2_2);
        
        for j=1:1:6
            FI(j)=exp(-I(j))/(1+exp(-I(j)))^2;
        end
        
        for i=1:1:2
            for j=1:1:6
                dw1(i,j)=e(k)*xite*FI(j)*w2(j)*x(i); 

    🎉4 参考文献

    部分理论来源于网络,如有侵权请联系删除。

    [1]张海荣,舒志兵.BP神经网络整定的PID在机器人轨迹跟踪中的应用[J].电气传动,2007(09):36-39.DOI:10.19457/j.1001-2095.2007.09.010. 

  • 相关阅读:
    使用echarts实现立体-柱状图
    请解释Java中的Hibernate框架
    数字化工厂的实施挑战与解决方法
    java中fastJSON解析复合
    python中sql拼接时对字段可能为空的处理思路
    01_SpringMVC介绍
    【iMessage苹果推群发】软件安装利用dropbox分享外链进行访问原始文件
    「Java开发指南」如何利用MyEclipse启用Spring DSL?(二)
    剑指JUC原理-9.Java无锁模型
    basic_vsr 代码介绍
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/128075415