用 Matlab 神经网络工具箱拟合复杂非线性函数

用 Matlab 神经网络工具箱拟合复杂非线性函数

首先,需要准备好数据,以一个单输入单输出的系统为例

1 从 Excel 中导入数据

如果不是从Excel中导入可以跳过该步骤

导入函数:

[num,txt,raw]=xlsread('xxx\xxx.xlsx');

num返回的是excel中的数据;txt输出的是文本内容;raw输出的是未处理数据;圆括号是文件所在的路径。

比如有这么一个表,我需要用第一列(综合间隙)作为输出,第四列(电流)作为输入

用 Matlab 神经网络工具箱拟合复杂非线性函数_第1张图片

我们就需要有两个数组变量来存储上面这两列

clc
clear all
close all

% 读入数据
[num,txt,raw]=xlsread('悬浮点数据\悬浮点4数据汇总.xlsx');

%输入
input=num(:,4);

%输出
output=num(:,1);

一定要运行一下,确保工作区里面有这俩,否则后面导入会报错的

用 Matlab 神经网络工具箱拟合复杂非线性函数_第2张图片

2 神经网络工具箱

打开 Matlab 的神经网络工具箱

用 Matlab 神经网络工具箱拟合复杂非线性函数_第3张图片

或者直接输入命令:nftool

用 Matlab 神经网络工具箱拟合复杂非线性函数_第4张图片

导入数据,前提是工作区内有

用 Matlab 神经网络工具箱拟合复杂非线性函数_第5张图片

这里有个坑!!!
如果是单输入单输出,一定要设置成列向量,否则只有一个样本。上面是一个样本,把 input 和 output 变成列向量后变成 39550 个

用 Matlab 神经网络工具箱拟合复杂非线性函数_第6张图片

对数据进行分块,多少用于训练?多少用于测试?一般选用默认即可

用 Matlab 神经网络工具箱拟合复杂非线性函数_第7张图片

设置隐藏层的神经元数量,默认为10,可自定义

用 Matlab 神经网络工具箱拟合复杂非线性函数_第8张图片

点击 Train 即可开始训练

用 Matlab 神经网络工具箱拟合复杂非线性函数_第9张图片

训练过程中会跳出一个窗口,显示训练进度,时间等消息

用 Matlab 神经网络工具箱拟合复杂非线性函数_第10张图片

训练结束后,回到刚才那个页面,连续两次点击 next。
可以把训练后的神经网络用 M语言的形式、simulink的形式、图片的形式保存下来

用 Matlab 神经网络工具箱拟合复杂非线性函数_第11张图片

你可能感兴趣的:(神经网络,ADRC技术,matlab,神经网络,机器学习)