find_error.m
来自「免疫算法实现多峰、多极值函数平面曲面拟合」· M 代码 · 共 30 行
M
30 行
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function count=find_error(result,t_x,t_y,er);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%count=find_error(result,t_x,t_y,er)根据已有结果判断哪些样本需要重新细逼近
%输入参数:
% result:当前网络
% t_x:当前输入样本
% t_y:当前输出样本
% er:容差阈值
%输出样本:
% count:需要拟合的样本的index
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[pwidth,plength]=size(t_x);
error=zeros(1,plength);
cont=find(result(:,1));
centers=result(cont,2:(size(result,2)-1));
%获得相关信息
radius=result(cont,size(result,2));
cou1=find(radius<.01);
radius(cou1)=.01;
r1=1./(radius*sqrt(2));
r2=r1*ones(1,size(t_x,2));
result1=zeros(1,plength);
p1=radbas(dist(centers,t_x).*r2);
weights=t_y*pinv(p1);
result1=weights*p1;
error=t_y-result1;
%计算误差
count=find(abs(error)>er);
%获得拟合的index
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?