clc;
clear all;
load msesample;
n1=length(x1);
n2=length(x2);
x=[x1;x2];
e=ones(length(x),1);
y=[e x];
b=e;
%b=rand(length(x),1);
yita=1;
eps=0.01;
yy=inv(y'*y)*y';
result=yy*b;
for i=n2:length(x)
y(i,:)=y(i,:).*(-1);
end
a=[1;2;1];
an=zeros(3,100);
an(:,1)=a;
flat=zeros(length(x),1);
n=1;
while(n<=100)
for i=1:length(x)
if y(i,:)*an(:,n)<=b(i)
an(:,(n+1))=an(:,n)+y(i,:)'*(b(i)-y(i,:)*an(:,n))*yita/n;
end
end
if abs(an(:,(n+1))-an(:,n))<=eps
break;
else
n=n+1;
end
end
n
w=an(:,n)
ne=0;
for i=1:length(x)
if y(i,:)*w ne=ne+1;
end
end
ne
pe=ne/length(x)
subplot(1,2,1)
plot(x1(:,1),x1(:,2),'bo',x2(:,1),x2(:,2),'ro');
hold on
syms xa xb;
g=w(1)+w(2)*xa+w(3)*xb;
ezplot(g);
title('最小均方误差判决')
legend('第一类样本','第二类样本')
gtext(strcat('错误率为:',num2str(pe)),'Fontsize',8)
subplot(1,2,2)
hold on
i=1:n;
plot(i,an(:,i));
title('权向量')
xlabel('迭代次数')
ylabel('权向量取值')
讨 了在 M T A 探 A L B环 境 中 实现 遗 传算 法各 算 子 的 缟程 方法 并 以一 十 简单 的 实例 说 明 所 编程 序在 函 数全 局 寻优 中的 应用 = 关键词 :遗 传 算法 ( A) A L B G ;M T A 中圈分 类 号 :T 3 1 6 P0 文 献标 识码 :A 文 章编 号 :1 139 (0 1O ·0 0 ∞ .65 20 )80 舳-3
A n t g rt m n M A T Ge ei Al o i c h i LAB
L U -o h a B I Cu - u , AO n , 1 n c a Ho g . We - h o 1
( &
Ab h E : Th dn i l f g n t e p epe o e el c
吣
o ere& Tcn oy, 咖 fS/, ee e dg & h
td a d 。 n
10 8 . 啪 0 0 3
t m a e n h h s b e
r aia o n e lz t n i MAT i LAB 雌 b e loas d A u c in h e n ds se fn t o te MATL B r r m h A p ̄ a
o t z t np d lr a e n p i a o r  ̄e a h s b e mi i
目l o d mo sr t 0 o t z to u c irdi e n lae t l he h p i ai n f n t u t mi o y
I 畸
:G nt lo f ( e e ca f  ̄ GA)MA L B i gi l ; TA
1 遗 传算 法概 述
遗 传算 法 ( ∞ cA  ̄fh , A) 借 鉴 生 物 界 自 G li m C 是 t 然选 择 和群 体进 化机 制形 成 的 一 种全 局 寻 优 算 法 。与 传统 的 优 化算 法 相 比 , 遗传 算 法 具 有如 下 优点 _ 1 不 _: ) 是从 单 个 点 , 而是 从 多个 点 构 成 的群 体 开 始搜 索 ; ) 2 在 搜索 最 优 解 过 程 中 , 只需 要 由 目标 函数 值 转 换 得 来 的 适 应值 信 息 , 而不 需要 导 数 等 其它 辅 助 信 息 ; ) 索 过 3搜 程不 易 陷人 局 部 最 优 点 。 目前 , 算 法 已渗 透 到 许 多 该 领 域 , 成 为解 决各 领 域复 杂 问题 的 有力 工具 怛J 并 。 在遗 传 算法 中 , 问题 空 间 中 的 决 策 变 量 通 过 一 将 定 编 码方 法 表 示 成 遗 传 空 间 的 一个 个 体 , 是 一