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

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

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

1 从 Excel 中导入数据

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

导入函数:

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

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

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

20230329210339

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

clc
clear all
close all

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

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

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

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

20230329210656

2 神经网络工具箱

打开 Matlab 的神经网络工具箱

20230403165301

或者直接输入命令:nftool

20230403165933

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

20230403173631

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

20230403185428

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

20230403185702

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

20230403190104

点击 Train 即可开始训练

20230403190241

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

20230403190336

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

20230403190716

猜你喜欢

转载自blog.csdn.net/u011895157/article/details/129936946