相关问题:
1.添加路径时:函数 assert 与某个 MATLAB 内置函数同名。建议您重命名该函数以避免潜在的名称冲突。
2.使用arrow.m文件时:matlab生成贝叶斯网络报错,未定义与 ‘matlab.graphics.axis.Axes’ 类型的输入参数相对应的运算符 ‘*’
3.使用draw_graph.m文件时:错误使用 set Patch 类中没有 Color 属性
解决过程
在网上查找了许多方法,有的替换arrow.m文件,有的提示删除draw_graph.m文件里某些行即可,这些方法都尝试过,当然也都有效,最后看了一些相关博客,发现可能是使用的贝叶斯网络工具包适配的版本较低,本人使用的是R2016a发现会出现相关错误,最后使用最新版的工具包后上述问题全部消失了,下面提供安装方法
安装方法
首先去github上下载相关最新更改后的版本https://github.com/bayesnet/bnt,这里需要注意不要下载错了,我第一次下载的时候发现下载的是BNT目录下的相关文件(整个文件的大小大概有13M),下载完成后将相关文件解压到matlab目录下的toolbox里面去即可
然后打开matlab保存一下我们的的路径,输入以下命令:
>>addpath(genpath('G:\matlab\toolbox\bnt-master'))
>>savepath %永久保存路径,以免下次重启MATLAB时重新添加
最后再进行贝叶斯网络的构建即可,这里我使用的是这位博主的一个例子https://blog.csdn.net/moodytong/article/details/8122327,最后构建出相关的网络如下,整个过程不再报错。