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) 展开
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) 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询