问题遇到的现象和发生背
本人想构建一个复杂贝叶斯网络结构,结果第一步就卡死了~
问题相关代码,请勿粘贴截图
N = 9;
dag = zeros(N,N);
Metal = 1; LAS = 2; pH = 3; SS = 4; TN=5; TP=6, DOM=7, TEMP=8, CL=9;
dag(pH,[TN TP SS Metal]) = 1;
dag(SS,[DOM Metal]) = 1;
dag(DOM, Metal)=1;
dag(TN, Metal)=1;
dag(TP, Metal)=1;
dag(TEMP, Metal) = 1;
dag(LAS, Metal) = 1;
dag(CL, Metal) = 1;
discrete_nodes = 1:N;
node_sizes = 8ones(1,N);
bnet =mk_bnet(dag,node_sizes,'names',{'Metal','LAS’,'pH','SS','TN','TP’,'DOM','TEMP','CL'},'discrete',discrete_nodes);
bnet.CPD{Metal} = tabular_CPD(bnet,Metal,[0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5]);
bnet.CPD{TP} = tabular_CPD(bnet,TP,[0.5 0.5]);
bnet.CPD{TN} = tabular_CPD(bnet,TN,[0.5 0.5]);
bnet.CPD{LAS} = tabular_CPD(bnet,LAS,[0.5 0.5]);
bnet.CPD{TEMP} = tabular_CPD(bnet,TEMP,[0.5 0.5]);
bnet.CPD{CL} = tabular_CPD(bnet,CL,[0.5 0.5]);
bnet.CPD{DOM} = tabular_CPD(bnet,DOM,[0.5 0.5]);
bnet.CPD{SS} = tabular_CPD(bnet,SS,[0.5 0.5 0.5 0.5]);
bnet.CPD{pH} = tabular_CPD(bnet,pH,[0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5]);
figure
draw_graph(dag)
运行结果及报错内容
bnet =mk_bnet(dag,node_sizes,'names',{'Metal','LAS’,'pH','SS','TN','TP’,'DOM','TEMP','CL'},'discrete',discrete_nodes); ↑
无效表达式。请检查缺失的乘法运算符、缺失或不对称的分隔符或者其他语法错误。要构造矩阵,请使用方括号而不是圆括号。
我的解答思路和尝试过的方法
我尝试更改了运行符号以及names中的名称,似乎都没有用,现在有点丈二和尚摸不着头脑
我想要达到的结果
各位看看到底问题出现在哪里?