利用神经网络进行曲线拟合

2026/1/15 16:10:54

闲来无事,利用神经网络进行曲线拟合 目的:拟合正弦曲线;

数据源:正弦曲线+扰动,来自y=sin(x)+n; 测试数据:来自y=sin(x);

神经网络:BP神经网络,nntool工具箱;

网络:1×10×1;即单隐含层,且隐含层有10个节点;

MATLAB代码: %%

%本例使用神经网络模拟曲线拟合 %% clc clear %%

x=linspace(-2*pi,2*pi,100);%生成输入数据 y=sin(x);%求出输入数据对应的目标值 n=0.1*rand(1,length(x));%对目标值加入干扰 y=y+n;%求出实际目标值 %%

[xx,ps]=mapminmax(x);%对x进行归一化 Data_input=xx;%网络训练输入

Data_target=y;%网络训练输入对应的目标值

Data_test=linspace(-5,5,20);%网络测试数据

Data_t=mapminmax('apply',Data_test,ps);%网络测试数据归一化 Data_true=sin(Data_test);%网络测试数据对应的目标值 %%

%打开nntool,利用输入输出数据训练网络,网络命名为network %%

Data_y=sim(network,Data_t);%利用训练好的网络求出测试数据对应的实际输出值 %% figure(1)

e=Data_true-Data_y; plot(e)%绘制误差曲线 xlabel('X轴'); ylabel('Y轴'); legend('误差') %% figure(2)

plot(Data_test,network1_outputs,'*',x,y) xlabel('X轴'); ylabel('Y轴');

legend('预测值','实际值','location','NorthEast')

下面具体说明nntool工具箱的使用:

命令行输入nntool:

打开工具箱界面:

单击Import,导入训练数据,并选择对应的训练类型,如图所示:

新建网络,命名为network,采用BP神经网络,即误差反向算法,选择Input data和Target data,其他选项默认,点击Create创建BP神经网络,如下图所示:

点击View,可以预览网络结构,如下图所示:


利用神经网络进行曲线拟合.doc 将本文的Word文档下载到电脑
搜索更多关于: 利用神经网络进行曲线拟合 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219