已知函数 z=sin(xy),采用人工神经网络实现该函数的拟合:
- 定义: -π≤x≤π, -π≤y≤π,在 x, y 定义域中等距各取 30 各点,绘制 z=sin(xy)图像;
- 将上述数据集随机拆分成训练样本集(70%)、校验数据集(15%)、测试数据集( 15%)进行人工神经网络拟合,将拟合结果和原始函数绘制在同一张图中。
(1)一张图中首先z=sin(xy)是三维图像,三维图像绘制不能简单的将x与y相乘。将使用meshgrid函数。
具体代码如下:
结果如下:
(2)利用matlab中神经网络进行拟合;
代码如下;
1.打开matlab
2.找到 Neural Net Fitting并打开
3.点击next,选择如下:
4.点击next,根据题目要求训练样本集(70%)、校验数据集(15%)、测试数据集( 15%)可选择
5.点击next,选择网络层,默认为10,也可根据要求选择,如无要求,则默认即可。
6.点击next,并选择Train;
点击next后会出现训练网络,如下图;
点击performance;出现拟合线;
7.回到Train后的图,如下图所示,将input改为sx,targets改为sz;点击next;
8.一直点击next,知道出现下图;
9.点击Save results,但要注意的是Save Data to Workspace 中的Save network to MATLAB network object named;一定要勾选;
10.点击finish;
11.运行程序,结果如下;