我是靠谱客的博主 无辜唇膏,最近开发中收集的这篇文章主要介绍向matlab2021a中导入FullBNT出现的问题,“无效表达式。请检查缺失的乘法运算符、缺失或不对称的分隔符或者其他语法错误。要构造矩阵,请使用方括号而不是圆括号。”问题描述解决办法测试代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 问题描述
  • 解决办法
  • 测试代码

  实验课要求使用matlab构建贝叶斯网络分类器,于是在网上查阅相关资料。找到了这篇博客 利用matlab进行简单的贝叶斯网络构建,按照文中的方式下载toolbox并进行搜索路径的添加。添加完之后出现了两个问题。

问题描述

1.toolbox中的某些函数和matlab内置函数同名
  这个问题没有处理,毕竟是一次实验课作业,但没有将该搜索路径永久保存,避免以后使用同名函数出现错误。
在这里插入图片描述
2.频繁弹出下图中的对话框
  这个问题就影响正常使用了,不管是运行程序还是查看工作区的变量,都会弹出这个窗口。
在这里插入图片描述
  而且FullBNT中的函数也无法正常使用(按照官网的例子,网络图可视化后只有结点,没有连线)并报错。
在这里插入图片描述
在这里插入图片描述

  几次尝试后,发现不导入FullBNT的搜索路径,就不会出现该问题(如果已经永久保存搜索路径的话,可能需要对该搜索路径进行删除,个人猜测,如有错误,请评论区指正)。打开draw_graph.m这个文件后也发现,这个函数的最后一次修改在2000年,函数中使用的语法在2021版本的编辑器中打开会标红,估计是代码编写时间太久远,造成了和编译器的兼容出现了些问题。(官方文档的最后一次更新也在久远的2007年)

解决办法

  大概搞清问题后,就去找版本更新的toolbox。感谢这位网友的指路,找到了最近更新在2014年的BNT,按照第一篇博客中的方法将这个新的BNT解压缩,移动文件位置,并添加搜索路径就可以了。

以下是具体步骤:
(1) 解压bnt-master.zip,将整个目录bnt-master复制到MATLAB的安装目录的TOOLBOX目录下(我的是 D:matlab2021atoolbox)
(2) 将BNT添加到matlab的搜索路径中

addpath(genpath(‘D:matlab2021atoolboxbnt-master’))

  上述的两个问题都得到了解决,但暂时只进行了draw_graph()函数的使用,不知道后续是否会出现其他问题。
在这里插入图片描述

测试代码

注意修改搜索路径

clc
clear
close all

addpath(genpath('D:matlab2021atoolboxbnt-master'));

N = 4;
dag = zeros(N, N);
C = 1; S = 2; R = 3; W = 4;

dag(C, [S R]) = 1;
dag([S R], W) = 1;

draw_graph(dag);

感谢上述所有网友的分享。

最后

以上就是无辜唇膏为你收集整理的向matlab2021a中导入FullBNT出现的问题,“无效表达式。请检查缺失的乘法运算符、缺失或不对称的分隔符或者其他语法错误。要构造矩阵,请使用方括号而不是圆括号。”问题描述解决办法测试代码的全部内容,希望文章能够帮你解决向matlab2021a中导入FullBNT出现的问题,“无效表达式。请检查缺失的乘法运算符、缺失或不对称的分隔符或者其他语法错误。要构造矩阵,请使用方括号而不是圆括号。”问题描述解决办法测试代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部