objfun2.m

来自「malab语言实现bspline曲线拟合」· M 代码 · 共 28 行

M
28
字号
function [objv,fitnv] = objfun2(m,p,Chrom,Q)

% 适应度计算函数

NN = [];
s = size(Chrom,1);
for k = 1:s
    t = Chrom(k,1:m+1);
    n = Chrom(k,m+2);
    NN = [NN;n];
    u = knotpara(t,p,n,m); 
    for i = 1:m-1
        w = basicfun(n,p,t(i+1),u);
        N(i,:) = w(1:n+1)';
    end
    tt = Q(2:m,:);
    QQ = N*pinv(N)*tt;
    ww = QQ - tt;
    RMSE = 0;
    for i = 1:m-1
        RMSE = RMSE + ww(i,1)^2 + ww(i,2)^2 ;
    end
    objv(k) = RMSE;
    clear N;
end
objv = objv';
fitnv = 1./(1+objv+0.001*(NN)*log(35));

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?