⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 untitled2.m

📁 免疫算法实现多峰、多极值函数平面曲面拟合
💻 M
字号:
clear all;
clc;

load matlabhia1.mat;
result2=result4;
x=-5:0.1:5;
y=-5:0.1:5;
for i=1:size(x,2)
    X(i,:)=x;
    Y(:,i)=y';
end
length1=length(find(result2(:,1)));
for k=1:length1
    for i=1:size(x,2)
        for j=1:size(y,2)
            temp=[X(i,j),Y(i,j)];
            count=find(result2(:,1));
            [sortt,count]=sort(result2(count,size(result2,2)));
            centers=result2(count,2:(size(result2,2)-1));
            radius=result2(count,size(result2,2));
            cou1=find(radius<.01);
            radius(cou1)=.01;
            r1=1./(radius*sqrt(2));
            r2=r1*ones(1,size(temp,1));
            p1=radbas(dist(centers,temp').*r2);
            Z(i,j,k)=p1(k);
        end
    end
end
figure;
hold on;
for k=1:length1
    z=reshape(Z(:,:,k),[size(X,1),size(X,2)]);
    temp_x=[];
    temp_y=[];
    for i=1:size(z,1)
        for j=1:size(z,2)
            if(z(i,j)>1e-2)
                temp_x=[temp_x,i];
                temp_y=[temp_y,i];
            end
        end
    end
    xx=X;
    yy=Y;
    xx(:,1:min(temp_x)-1)=[];
    xx(:,max(temp_x)-min(temp_x)+1:size(X,1)-min(temp_x)+1)=[];
    xx(1:min(temp_y)-1,:)=[];
    xx(max(temp_y)-min(temp_y)+1:size(X,1)-min(temp_x)+1,:)=[];
    yy(:,1:min(temp_y)-1)=[];
    yy(:,max(temp_y)-min(temp_y)+1:size(X,1)-min(temp_x)+1)=[];
    yy(1:min(temp_y)-1,:)=[];
    yy(max(temp_y)-min(temp_y)+1:size(X,1)-min(temp_x)+1,:)=[];    
    z(:,1:min(temp_y)-1)=[];
    z(:,max(temp_y)-min(temp_y)+1:size(X,1)-min(temp_x)+1)=[];
    z(1:min(temp_y)-1,:)=[];
    z(max(temp_y)-min(temp_y)+1:size(X,1)-min(temp_x)+1,:)=[];  
     if(length(find(z>0.5))>100)
         z=z;
     end
    mesh(xx,yy,z);
end
view([-37.5,-20]);

⌨️ 快捷键说明

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