Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2010-04-11, 15:26   #1
heitianshi
初级会员
 
注册日期: 2009-04-14
帖子: 3
声望力: 0
heitianshi 正向着好的方向发展
默认 Hopfield神经网络识别数字问题,急!!!

function Hopfield()
tic
clc;
%定义个目标向量
t5=[0 0 0 0 0 0 1;0 0 0 0 0 0 1;0 0 1 1 1 1 1;...
0 0 1 1 1 1 1;1 0 0 0 0 1 1;1 1 1 1 1 0 0;...
1 1 1 1 1 0 0;0 0 0 0 0 1 1]';
t7=[0 0 0 0 0 0 0;0 0 0 0 0 0 0;1 1 1 1 1 0 0;...
1 1 1 1 1 0 0;1 1 1 1 1 0 0;1 1 1 0 0 1 1;...
1 1 1 0 0 1 1;1 1 1 0 0 1 1]';
t4=[0 0 1 1 0 0 1;0 0 1 1 0 0 1;0 0 1 1 0 0 1;...
0 0 1 1 0 0 1;0 0 0 0 0 0 1;0 0 0 0 0 0 1;...
1 1 1 1 0 0 1; 1 1 1 1 0 0 1;]';
t9=[1 1 1 0 0 1 1;1 0 0 1 1 0 0;1 0 0 1 1 0 0;...
1 0 0 1 1 0 0;1 1 0 0 0 0 0;1 1 1 1 1 0 0;...
1 1 1 1 1 0 0;1 1 1 1 1 0 0]';
T=[t7 t5 t4 t9]; %形成总的目标向量
net=newhop(T); %设计hopfield网络
%定义测试样本
T7=[0 0 0 0 1 0 1;0 1 0 0 1 0 0;0 1 1 1 1 0 0;...
1 1 1 1 1 0 0;1 0 1 1 1 0 1;0 1 1 1 0 0 1;...
0 0 1 1 0 0 1;0 1 1 1 0 0 1]'; %7×8
subplot(1,3,1);
figt(t7);
title('待试数字')
subplot(1,3,2);
figt(T7); %绘制测试样本二值化图像
title('测试样本')
%网络仿真
y=sim(net,8,[],T7);
y=y>0.5 %二值化
subplot(1,3,3);
figt(y); %绘出仿真输出二值化图像
title('仿真结果')
toc

%绘制测试样本二值化图像的自定义函数
function figt(t)
hold on
axis square %以当前坐标轴范围为基础,将坐标轴区域调整为方格形
for j=1:8
for i=1:7
if t((j-1)*7+i)==0
fill([i i+1 i+1 i],[9-j,9-j,10-j,10-j],'k')
else
fill([i i+1 i+1 i],[9-j,9-j,10-j,10-j],'w')
end
end
end
hold off
这是用matlab编程,利用hopfield神经网络识别数字的程序,在仿真的时候不能进行仿真,sim()语句,请高手指教!!!谢谢
heitianshi 当前离线   回复时引用此帖
旧 2010-04-11, 15:35   #2
beginer
普通会员
 
beginer 的头像
 
注册日期: 2007-04-04
帖子: 91
声望力: 20
beginer 正向着好的方向发展
默认 回复: Hopfield神经网络识别数字问题,急!!!

貌似可以运行的呀,结果图:hop.jpg
beginer 当前离线   回复时引用此帖
旧 2010-04-11, 15:54   #3
heitianshi
初级会员
 
注册日期: 2009-04-14
帖子: 3
声望力: 0
heitianshi 正向着好的方向发展
默认 回复: Hopfield神经网络识别数字问题,急!!!

你好!程序是可以运行,但是没有达到要求,要求第三个仿真图像应近似于第一个标准图像,但是这个程序结果很明显,并没有进行仿真,仿真输出的矩阵和输入的矩阵是一样的。您能帮忙再看看吗?谢谢了
heitianshi 当前离线   回复时引用此帖
旧 2010-04-11, 18:34   #4
beginer
普通会员
 
beginer 的头像
 
注册日期: 2007-04-04
帖子: 91
声望力: 20
beginer 正向着好的方向发展
默认 回复: Hopfield神经网络识别数字问题,急!!!

function Hopfield()
tic
clc;
%定义个目标向量
t5=[-1 -1 -1 -1 -1 -1 1;-1 -1 -1 -1 -1 -1 1;-1 -1 1 1 1 1 1;...
-1 -1 1 1 1 1 1;1 -1 -1 -1 -1 1 1;1 1 1 1 1 -1 -1;...
1 1 1 1 1 -1 -1;-1 -1 -1 -1 -1 1 1]';
t7=[-1 -1 -1 -1 -1 -1 -1;-1 -1 -1 -1 -1 -1 -1;1 1 1 1 1 -1 -1;...
1 1 1 1 1 -1 -1;1 1 1 1 1 -1 -1;1 1 1 -1 -1 1 1;...
1 1 1 -1 -1 1 1;1 1 1 -1 -1 1 1]';
t4=[-1 -1 1 1 -1 -1 1;-1 -1 1 1 -1 -1 1;-1 -1 1 1 -1 -1 1;...
-1 -1 1 1 -1 -1 1;-1 -1 -1 -1 -1 -1 1;-1 -1 -1 -1 -1 -1 1;...
1 1 1 1 -1 -1 1; 1 1 1 1 -1 -1 1;]';
t9=[1 1 1 -1 -1 1 1;1 -1 -1 1 1 -1 -1;1 -1 -1 1 1 -1 -1;...
1 -1 -1 1 1 -1 -1;1 1 -1 -1 -1 -1 -1;1 1 1 1 1 -1 -1;...
1 1 1 1 1 -1 -1;1 1 1 1 1 -1 -1]';
T=[t7 t5 t4 t9]; %形成总的目标向量
net=newhop(T); %设计hopfield网络

%定义测试样本
T7=[-1 -1 -1 -1 1 -1 1;-1 1 -1 -1 1 -1 -1;-1 1 1 1 1 -1 -1;...
1 1 1 1 1 -1 -1;1 -1 1 1 1 -1 1;-1 1 1 1 -1 -1 1;...
-1 -1 1 1 -1 -1 1;-1 1 1 1 -1 -1 1]'; %7×8
subplot(2,3,1);
figt(t5);
title('待试数字5')

subplot(2,3,2);
figt(t7);
title('待试数字7')

subplot(2,3,3);
figt(t4);
title('待试数字4')

subplot(2,3,4);
figt(t9);
title('待试数字9')


subplot(2,3,5);
figt(T7); %绘制测试样本二值化图像
title('测试样本')


%网络仿真
for i=1:8
T=[t5(:,i) t7(:,i) t4(:,i) t9(:,i)];
net=newhop(T); %设计hopfield网络
y(:,i)=sim(net,1,[],T7(:,i));
end
for i=1:7
for j=1:8
if y(i,j)<=0
y(i,j)=-1;
else
y(i,j)=1;
end
end
end

subplot(2,3,6);
figt(y); %绘出仿真输出二值化图像
title('仿真结果')

toc

%绘制测试样本二值化图像的自定义函数
function figt(t)
hold on
axis square %以当前坐标轴范围为基础,将坐标轴区域调整为方格形
for j=1:8
for i=1:7
if t((j-1)*7+i)<=0
fill([i i+1 i+1 i],[9-j,9-j,10-j,10-j],'k')
else
fill([i i+1 i+1 i],[9-j,9-j,10-j,10-j],'w')
end
end
end
hold off

我不怎么懂神经网络,看了一下Help,上面是我的理解不知道对不对,附图:hopfield.jpg

此帖于 2010-04-11 20:42 被 beginer 编辑。 原因: 多了两句,红颜色的,删掉,不影响结果。
beginer 当前离线   回复时引用此帖
旧 2010-04-11, 20:30   #5
heitianshi
初级会员
 
注册日期: 2009-04-14
帖子: 3
声望力: 0
heitianshi 正向着好的方向发展
不错 回复: Hopfield神经网络识别数字问题,急!!!

太谢谢你了!!!结果完全正确。我还要好好研究研究啊,呵呵。。。。。。
heitianshi 当前离线   回复时引用此帖
旧 2010-04-11, 20:40   #6
beginer
普通会员
 
beginer 的头像
 
注册日期: 2007-04-04
帖子: 91
声望力: 20
beginer 正向着好的方向发展
默认 回复: Hopfield神经网络识别数字问题,急!!!

对了,把上面红颜色的两句删掉,多余了。
beginer 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 19:39


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.