?? forecast.m
字號(hào):
% 本程序是基于人工免疫原理的天氣預(yù)報(bào)系統(tǒng)的MATLAB實(shí)現(xiàn)程序
% 實(shí)現(xiàn)了對(duì)4、5月份的氣象預(yù)報(bào)
% 具體算法請(qǐng)參考該文獻(xiàn)
% 易世華2006年3月15日
clc
clear
load data1
load data2
result=zeros(n,6);
result(:,1:3)=ag(:,13:15);
for i=1:n %第i個(gè)抗原
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
[Mmax num]=max(M(:,16,:)); %找出刺激值最大的記憶細(xì)胞
[Mmax num2]=max(Mmax(1,1,:));
M(num(1,1,num2),16,num2)=0;
[Mmax num]=max(M(:,16,:));
[Mmax num4]=max(Mmax(1,1,:));
M(num(1,1,num4),16,num4)=0;
[Mmax num]=max(M(:,16,:));
[Mmax num6]=max(Mmax(1,1,:));
M(num(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個(gè)刺激值最大的記憶細(xì)胞投票決定天氣情況的預(yù)報(bào)值
[Mmax num]=max(fore);
switch num
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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -