matlab程序看不懂,求大神解释每一句的意思。

clcclearall%产生输入变量x1,x2x=rand(2,2001);例如:这里X是取2到2001吗?那下面又将X转换到-10到10什么意思?trainx是什么?%... clc
clear all

% 产生输入变量x1,x2
x=rand(2,2001); 例如:这里 X是取2到2001吗?那下面又将X转换到-10到10 什么意思?trainx是什么?
% 将x转换到[-10 10]之间
trainx=(x-0.5)*10*2;
trainx1=trainx(1,:);
trainx2=trainx(2,:);

% 产生输出变量y
trainy=3*exp(trainx1)+4*trainx1.^2+trainx1.^3+3*exp(trainx2)+4*trainx2.^2+trainx2.^3

[trainx_,ps1]=mapminmax(trainx,0,1);
[trainy_,ps2]=mapminmax(trainy,0,1);

%BP神经网络构建
net=newff(trainx_,trainy_,1);
net.trainParam.epochs=1000;
net.trainParam.lr=0.1;
net.trainParam.gama=0.1;
net.trainParam.goal=0.0004;

% 建立测试样本
[n,m]=meshgrid(-10:0.1:10);
row=size(n);
tx1=n(:);
tx1=tx1';
tx2=m(:);
tx2=tx2';
tx=[tx1;tx2];
% BP网络预测
%预测数据归一化
tx_=mapminmax('apply',tx,ps1);

%预测输出
an=sim(net,tx_);

%预测数据反归一化

typ=mapminmax('reverse',an,ps2);

% 绘制三维图像

%目标函数图像
[trainx1,trainx2]=meshgrid(-10:0.1:10);
trainy=3*exp(trainx1)+4*trainx1.^2+trainx1.^3+3*exp(trainx2)+4*trainx2.^2+trainx2.^3
subplot(1,3,1)
mesh(trainx1,trainx2,trainy);
zlim([0,10^5])
title('目标函数图像')

%BP神经网络图像
p=reshape(typ,row);
subplot(1,3,2)
mesh(n,m,p);
zlim([0,10^5])
title('BP神经网络图像')

%目标函数与BP神经网络的误差图像
subplot(1,3,3)
error=trainy-p;
mesh(trainx1,trainx2,error);
zlim([-10^5,10^5])
title('误差图像')
errorsum=sum(abs(error))

z=corrcoef(trainy,p)
展开
 我来答
百度网友db4b04636
2015-04-22 · TA获得超过2915个赞
知道小有建树答主
回答量:834
采纳率:92%
帮助的人:341万
展开全部
x=rand(2,2001);生成两行2001列的服从均匀分布的随机数。(共4002个)

默认是从0到1. 可以通过 20*x+10的方法(楼主的代码也可以)变换到从-10到10的随机数。

其他的就没有什么了,感觉注释比较全,如果了解神经网络的相关知识的话。理解起来并不困难。
追问
所以下面也麻烦给我解释一下嘛,就是因为不懂啊。最好每一句
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式