MATLAB神经网络43个案例分析【第14/15章源程序不能正常运行——一种道听途说的解决办法】
鄙人在下载并运行《MATLAB神经网络43个案例分析》随书附带的源程序时发现,chapter14文件夹中的chapter_WineClass.m文件并不能正常运行。命令行窗口出现了如下警告:
与此对应的,绘图过程停止在了如下状态:
显然,并没有出现chapter14/html/chapter_WineClass_03的效果:
检查matlab右侧工作区,accuarcy和predict_label两个变量都为[ ],显然源程序并没有顺利地执行,并实现预测测试集分类。
百度一番,并没有找到合适的解决方法,后来听一小伙计说作如下修改便可:
【以下内容划重点!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!】
将源程序中:
%% SVM网络预测
[predict_label, accuracy] = svmpredict(test_wine_labels, test_wine, model);
修改为:
[predict_label,accuracy,dec_values] = svmpredict(test_wine_labels, test_wine, model);
其实就是在svmpredict函数对应的输出变量里多增加了dec_values变量
经此修改之后重新运行源程序,一切正常,得到想要的结果。
后来发现,在运行chapter15文件夹中的chapter_GA.m、chapter_GridSearch.m、chapter_PSO.m三个文件时也不能正常运行,经过同样的修改方法:对应位置添加dec_values变量之后三个程序均能正常运行,得到想要的结果。
【注:以上方法也是鄙人道听途说来的,并不能保证完全正确或者解决所有意外情况,仅供参考,欢迎大家及时分享交流各种bug解决办法】