matlab人工神经网络教程,人工神经网络作业MATLAB仿真(共3篇)

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我们立即下架或删除。

简介:人工神经网络仿真作业(3篇)

人工神经网络仿真作业1:

三级倒立摆的神经网络控制

人工神经网络仿真作业2:

基于模型整体逼近的机器人RBF网络自适应控制

人工神经网络仿真作业3:

基于RBF的机械手无需模型自适应控制研究

神经网络仿真作业1:三级倒立摆的神经网络控制

摘要:建立了基于人工神经网络改进BP算法的三级倒立摆的数学模型,并给出了BP网络结构,利用Matlab软件进行训练仿真,结果表明,改进的BP算法控制倒立摆精度高、收敛快,在非线性控制、鲁棒控制等领域具有良好的应用前景。

1.引言

倒立摆系统的研究开始于19世纪50年代,它是一个典型的非线性、高阶次、多变量、强耦合和绝对不稳定系统.许多抽象的控制概念,如系统的稳定性、可控性、系统的收敛速度和抗干扰能力都可以通过倒立摆直观地表现出来。随着现代控制理论的发展,倒立摆的研究对于火箭飞行控制和机器人控制等现代高科技的研究具有重要的实践意义。目前比较常见的倒立摆稳定控制方法有线性控制,如LQR,LQY等;智能控制,如变论域自适应模糊控制,遗传算法,预测控制等。

2.系统的数学模型

2.1三级倒立摆的模型及参数

三级倒立摆主要由小车,摆1、摆2、摆3组成,它们之间自由链接。小车可以在水平导轨上左右平移,摆杆可以在铅垂平面内运动,将其置于坐标系后如图1 所示:

规定顺时针方向的转角和力矩均为正。此外,约定以下记号:为外界作用力,为小车位移,(=1,2,3)为摆与铅垂线方向的夹角, 分别为摆的链接点位置。其它的系统参数说明如下:

-- 小车系统等效质量; -- 二摆质心至旋转轴之间的距离;

-- 一摆质量; -- 三摆质心至旋转轴之间的距离;

-- 二摆质量; -- 一、二摆之间的距离;

-- 三摆质量; -- 二、三摆之间的距离;

-- 一摆对其质心处转动惯量; -- 小车系统的摩擦系数;

-- 二摆对其质心处转动惯量; -- 一摆转轴处的摩擦阻力矩系数;

-- 三摆对其质心处转动惯量; -- 二摆转轴处的摩擦阻力矩系数;

-- 一摆质心至旋转轴之间的距离; -- 三摆转轴处的摩擦阻力矩系数。

2.2三级倒立摆的非线性模型为:

其中

3.神经网络控制器的设计

3.1 BP神经网络

人工神经网络(ANN)由于具有信息的分布存储、并行处理以及自学习能力等优点,在信息处

理、模式识别、智能控制及系统建模等领域得到越来越广泛的应用。近年来,已有多种ANN模型被提出并得以深入研究。其中,80%~90%的人工神经网络模型是采用BP网络或它的改进形式,它是前向网络的核心部分,体现了网络最精华的部分。标准的BP网络是根据Widrow-Hoff规则,采用梯度下降算法,主要由信息信号的正向传播和误差信号的反向传播两部分组成。

BP神经网络在未经任何训练的情况下,不能作为系统控制器使用。训练样本数的多少对训练结果有很大影响。样本数越多,网络训练结果越精确,但运行时间加长,计算成本也增加,所以合理选择样本数据非常重要。在实际仿真过程中,经过试探训练样本数为5000时结果较为合理,此时样本数据能够反映系统的基本特征,可以得到预期的仿真结果。

3.2控制程序

整个的程序设计如下:

p=[x3_1';x3_2';x3_3';x3_4';x3_5';x3_6';x3_7';x3_8'];

u=x_u';%%初始化训练数据

net=newff(minmax(p),[8,1],{'tansig','purelin'},'trainlm');

%%生成一个两层的神经网络,第一层的传递函数为,第二层的传递函数为

net.trainParam.goal=0.0000001;%%设置与网络训练相关的数据,包括训练精度和最大训练次数

net.trainParam.epochs=5000;

net=init(net);%%初始化网络

net=train(net,p,u);%%根据前面的数据和设置的参数对网络进行训练

y=sim(net,p)%%对已经训练好的网络进行仿真,检查所得的网络是否符合要求

plot(u,'r')

hold on;

plot(y,'*')%%将训练所用数据和神经网络仿真的数据画在同一张图上,进行对比

gensim(net,-1)

%%如果所得到的网络符合要求,则将得到的网络生成一个simulink模块,替代原来的反馈矩阵对倒立摆模型进行控... 更多>>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 人工神经网络是一种模仿人脑神经元工作原理的计算模型,可以应用于模式识别、预测分析、控制系统等领域。在Matlab中,可以使用神经网络工具箱来实现人工神经网络的建模与训练。 以下是一个简单的人工神经网络Matlab源代码示例: ```matlab % Step 1: 导入数据 load fisheriris X = meas'; % 输入特征矩阵 T = dummyvar(species)'; % 目标输出矩阵 % Step 2: 创建并训练神经网络 hiddenLayerSize = 10; % 隐藏层神经元数量 net = patternnet(hiddenLayerSize); % 创建一个模式识别网络 net = train(net, X, T); % 使用训练样本集进行网络训练 % Step 3: 使用训练好的网络进行预测 predictedTargets = net(X); % Step 4: 计算分类准确度 [~, predictedLabels] = max(predictedTargets); [~, trueLabels] = max(T); accuracy = sum(predictedLabels == trueLabels) / numel(trueLabels); % Step 5: 显示分类结果及准确度 disp('预测结果:'); disp(predictedLabels); disp('实际结果:'); disp(trueLabels); disp(['准确度:', num2str(accuracy*100), '%']); % Step 6: 绘制混淆矩阵 plotconfusion(T, predictedTargets); ``` 以上代码实现了一个简单的模式识别网络,使用鸢尾花数据集进行训练和预测。通过输入特征矩阵和目标输出矩阵,创建并训练了一个具有10个神经元的隐藏层的人工神经网络。通过预测结果和实际结果的比较,计算出了分类准确度,并绘制了混淆矩阵来显示分类结果。 ### 回答2: 人工神经网络(Artificial Neural Networks)是一种模拟人类神经系统工作原理的计算模型。其中,matlab是一种强大的数学建模和仿真软件,适用于开发和实现人工神经网络算法。 编写人工神经网络matlab代码主要分为以下几个步骤: 1. 数据预处理:准备训练数据和测试数据,并对其进行归一化处理,以便网络模型能够更好地学习和预测。 2. 网络结构定义:根据任务的需求和数据特征,选择合适的网络结构。常见的神经网络结构包括前馈神经网络(Feedforward Neural Network)和循环神经网络(Recurrent Neural Network)等。 3. 随机权重初始化:根据网络结构,为网络中的连接权重赋予随机初始值。这是一个重要的步骤,因为初始化的权重值会影响网络的训练和性能。 4. 前向传播:通过将输入数据通过网络的各层进行计算和传递,得到网络的输出结果。 5. 损失函数定义:根据任务的不同,选择合适的损失函数。常见的损失函数包括均方差损失函数(Mean Square Error)和交叉熵损失函数(Cross-Entropy)等。 6. 反向传播:根据损失函数的导数,计算网络中各个参数对损失的贡献,并更新网络中的权重和偏差。这是通过梯度下降算法实现的,可以使用matlab的优化函数进行求解。 7. 训练模型:通过反复迭代前向传播和反向传播的步骤,使得网络的预测结果与真实值越来越接近,进而完成模型的训练。 8. 预测与测试:将测试数据输入训练好的网络模型,得到预测结果,并与真实值进行比较,评估模型的性能。 以上是一个简单的人工神经网络matlab实现流程,具体代码的编写取决于网络结构、任务特点和数据集的要求等。在编写代码时,还需要注意选择适当的matlab函数和工具箱来支持网络构建、参数调整和性能评估等方面的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值