神经网络工具箱拟合曲面
方法:
利用matlab app里的Neural Net Fitting,拟合时设置数据时一定要注意矩阵维度的对应,官方有个参考案例是对506个社区的影响房价的13个参数进行研究,而后输出该社区房价的均值。这里可以参考知乎这篇文章:https://zhuanlan.zhihu.com/p/108023675
里面讲的很详细。
这里输入只有x轴和y轴坐标两个元素,输出是z轴坐标。把x轴排成一列,y轴坐标排成一列(注意对应关系),然后把两个合成一个2维的矩阵,列有多长无所谓,然后z轴坐标也排成一列(注意对应),导入到工具箱里,拟合好后要把图形画出来。
用下面的代码:
x=linspace(0,80,101);
[nX,nY]=meshgrid(x,-5:0.1:5);
NX=[nX(:),nY(:)];
NZ=sim(net,NX');
ZZ=reshape(NZ,101,101);
s=surf(nX,nY,ZZ); %显示图像
set(gca,'YDir','reverse'); %反转y轴坐标
画好以后就是下面这个样子。
注意:拟合时x,y不必等分,比如这里可以x是81,y是101。