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

📄 forecast6.m

📁 平时练习时的一些仿真程序
💻 M
字号:
%  本程序是基于人工免疫原理的天气预报系统的MATLAB实现程序
%  实现了对6月份的气象预报
%  具体算法请参考该文献 
%  易世华2006年3月15日
clc
clear
load data2 
load data3
n=size(agf,1);
result=zeros(n,6);
result(:,1:3)=agf(:,13:15);
agnor=1/sqrt(12)*agf(:,1:12);
for i=1:n                            %第i个抗原  
    for c=1:8
        for j=1:nm(c)
            M(j,16,c)=1-sqrt((M(j,1:12,c)-agnor(i,:))*(M(j,1:12,c)-agnor(i,:))');
        end        
    end 
    [Mmax1 num1]=max(M(:,16,:));    %找出刺激值最大的记忆细胞
    [Mmax2 num2]=max(Mmax1(1,1,:));
    M(num1(1,1,num2),16,num2)=0;
     
    [Mmax3 num3]=max(M(:,16,:));
    [Mmax4 num4]=max(Mmax3(1,1,:));
    M(num3(1,1,num4),16,num4)=0;
   
    [Mmax5 num5]=max(M(:,16,:));
    [Mmax6 num6]=max(Mmax5(1,1,:));
    M(num5(1,1,num6),16,num6)=0;
    
    fore1=zeros(1,8);
    fore1(num2)=0.45;
    
    fore2=zeros(1,8);    
    fore2(num4)=0.35;
    
    fore3=zeros(1,8);
    fore3(num6)=0.2;
    
    fore=fore1+fore2+fore3;         %3个刺激值最大的记忆细胞投票决定天气情况的预报值             
    [maxfore c]=max(fore);    
    switch c
         case 1
              result(i,4:6)=[0 0 0];                 
         case 2
              result(i,4:6)=[0 0 1];  
         case 3
              result(i,4:6)=[0 1 0];
         case 4
              result(i,4:6)=[0 1 1];    
         case 5
              result(i,4:6)=[1 0 0];    
         case 6
              result(i,4:6)=[1 0 1];    
         case 7
              result(i,4:6)=[1 1 0];    
         case 8
              result(i,4:6)=[1 1 1];        
    end 
end
today=(n-sum(bitxor(result(:,1),result(:,4))))/n
tomorrow=(n-sum(bitxor(result(:,2),result(:,5))))/n
tomorrow2=(n-sum(bitxor(result(:,3),result(:,6))))/n

    

⌨️ 快捷键说明

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