在matlab 中写的代码执行一次,程序就瘫了,执行的结果是错的,请问各位大神,问题出在什么地方? 5

P=[-0.5-0.50.3-0.1-30;-0.50.5-0.51.040];T=[11001];plotpv(P,T);net=newp([-30,1;-1,40],... P=[-0.5 -0.5 0.3 -0.1 -30;-0.5 0.5 -0.5 1.0 40];
T=[1 1 0 0 1];
plotpv(P,T);
net=newp([-30 , 1 ; -1 , 40],1);
pause
% plotpv(P,T);
linehandle=plotpc(net.IW{1},net.b{1});%权值&阈值
cla ;

E=1;
plotpv(P,T);
linehandle=plot(net.IW{1},net.b{1});
%训练感知器
net.adaptparam.passes=3;%设置最大的训练次数
net=init(net);
linehandle=plotpc(net.IW{1},net.b{1});
time=0; %循环次数
while(sse(E))
time = time + 1;
[net,Y,E]=adapt(net,P,T);%自适应学习函数47
linehandle=plotpc(net.IW{1},net.b{1},linehandle);
%drawnow;
end ;
pause
%检验该网络功能
p=[0.5;1.6];
a=net(p);
plotpv(p,a);
thepoint=findobj(gca,'type','line');
set(thepoint,'color','red');
hold on;
plotpv(P,T);
plotpc(net.IW{1},net.b{1});
hold off;
axis([-2 2 -2 2]) ;
disp('end')
展开
 我来答
lhmhz
高粉答主

2019-03-07 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17019

向TA提问 私信TA
展开全部

因为在代码中有 pause 暂停命令的存在(两处),而误认为程序有问题。处理方法,可以直接将 pause 暂停命令删除或用%注释符号就行了。处理后执行此代码,可以得到如下结果:

st濤濤
2019-03-07 · TA获得超过128个赞
知道答主
回答量:102
采纳率:78%
帮助的人:9.3万
展开全部
运行主程序时,原来工作空间中的x=[1.8 1.9 1.9 2.0]被主程序中语句x=[1.2 1.3 1.3 1.4]覆盖,而当x=[1.2 1.3 1.3 1.4]时,isIntt(x)运行过程中的f 就是[0 0 0 0]。所以程序是没有问题的,关键就在主程序中那句x=[1.2 1.3 1.3 1.4]会覆盖函数的输入,无论输入值是多少,结果都是f=[0 0 0 0]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式