您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 代理模型中的径向基函数以及matlab程序
径向基函数利用样本点x𝑖的响应值,通过基函数的线性叠加来计算待测点x处响应值的径向基模型的基本形式如下:f(𝑥)=∑𝑤𝑖∙𝜙(𝑟𝑖)𝑛𝑖=1=𝒘𝑇𝝋其中权系数𝒘=(𝑤1,𝑤2,···,𝑤𝑛)𝑻,𝝋=[(𝜙(𝑟1),𝜙(𝑟2),···,𝜙(𝑟𝑛))]𝑻𝑟𝑖=‖𝑥−x𝑖‖是待测点x与样本点x𝑖之间的欧氏距离𝜙(𝑟)是径向函数常用的径向函数有Gauss函数𝜙(𝑟)=exp(−𝑟2𝑐2)Multiquadric函数𝜙(𝑟)=(𝑟2+𝑐2)12,c是给定大于零的常数根据插值条件f(x𝑗)=y𝑖(𝑗=1,···,n),可得方程组𝝓∙𝒘=𝒀矩阵𝝓=[𝜙ij]=[𝜙(‖x𝑖−x𝑗‖)]向量𝒀=(y1,⋯,y𝑛)𝑻(𝑖,𝑗=1,⋯,𝑛)在样本点不重合且函数ϕ为征订函数,上式存在唯一解𝒘=𝝓−𝟏∙𝒀附:MATLAB程序%求解RBF方程的系数functionb=RBFMain()clc;clear;%读取插值点的数据Num=xlsread('set_of_test.xlsx');[row,line]=size(Num);%读取插值点的结果F=xlsread('result_of_weight.xlsx');%计算r值r=eye(row);fori=1:rowforj=1:rowtemp=0;fork=1:linetemp=temp+(Num(i,k)-Num(j,k))^2;endr(i,j)=sqrt(temp+1);endend%求解方程系数b=r\F;%写入excelxlswrite('set_of_coefficient.xlsx',b);end%RBF径向基函数主程序functionresult=RBFMain2()clear;clc;%插值点Input=xlsread('set_of_test.xlsx');[row,line]=size(Input);%需要预测的一组插值点X=xlsread('set_of_indict.xlsx');%读取系数b=xlsread('set_of_coefficient.xlsx');%计算r值r=[];fori=1:rowtemp=0;forj=1:linetemp=temp+(X(j)-Input(i,j))^2;endr(i)=sqrt(temp+1);end%求解方程result=b'*r';end
本文标题:代理模型中的径向基函数以及matlab程序
链接地址:https://www.777doc.com/doc-2713739 .html