%%
clc;
clear all;
close all;
load('fogang_rdm.mat')
load('fogongr_ps.mat')
%
% for k=1:size(p_xtm,2)
% r_ps(k)=sqrt((p_xtm(k)/1068*200+100)^2+((p_ytm(k)-1400/2)*150/1400)^2);
% end
% for kk=1:size(phase_jilei,2)
% for k=1:size(p_xtm,2)
% r_ps(k)=sqrt((p_xtm(k)-row/2)^2+p_ytm(k)^2);
% end
%% 生成正弦曲线
% x = linspace(-2*pi, 2*pi, 100);
% y = sin(x);
% % 对目标值加入噪声
% n = 0.1 * rand(1, length(x));
% y = y + n;
% figure();
% plot(x, y, 'b-');
for num_image=1:30
i=0;
for k=2:size(r_ps,2)
if(mod(k,6)==1)
continue;
end
i=i+1;
x(i)=r_ps(1,k);
y(i)=rdm(k, num_image);
end
j=0
for k=1:6:size(r_ps,2)
j=j+1;
data_test(j) = r_ps(1,k);
data_true (j)= rdm(k, num_image);
end
%% 数据归一化,创建测试数据集
[x_, ps] = mapminmax(x);
data_input = x_;
data_target = y;
% figure();
% plot(data_input, data_target, 'b-');
% data_test = p_ytm;
% data_true = phase_jilei;
% data_test(find(b==0))=[];
% data_true (find(b==0))=[];
data_t = mapminmax('apply', data_test, ps);
% figure();
% plot(data_t, data_true, 'b-');
%% 创建神经网络(也可打开nntool,在matlab中使用gui创建神经网络)
hidden_layer_size =15;
net = feedforwardnet(hidden_layer_size);
[net, tr] = train(net, data_input, data_target);
%% 拟合结果
data_y(num_image,:) = sim(net, data_t);
data_y_zhen(num_image,:) = data_true;
end
% end
% data_y = net(data_t);
figure(1);
e = (data_true - data_y)./data_true ;
e1=data_true - data_y;
plot(e);
xlabel('x axis');
ylabel('y axis');
legend('error');
figure(2);
hold on;
plot(data_test, data_y, '*');
plot(x, y, 'b');
xlabel('x axis');
ylabel('y axis');
legend('prediction', 'real value');