Bonjour à tous,
J''ai écrit une fonction qui prend en paramètre une matrice d'adjacence (carrée symétrie de taille n*n) et un réel T et qui me construit un dag avec comme nombre de noeuds n*T.
Tout est sensé bien fonctionner, par contre j'ai une liste d'erreurs à la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
bnet = mk_bnet(dag, node_sizes);
Voici la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
function Constr_Dag(M,T)
%M : Matrice d'adjacence;
%T : Nombre de pas de temps;
n = length(M);
N = n*T;
dag = zeros(N,N);
for t=1:T
    for i=1:n
        j=i+(t-1)*n;
        dag(j,find(M(i,:))+t*n) = 1;
    end
end
 
discrete_nodes = 1:N;
node_sizes = 2*ones(1,N);
 
bnet = mk_bnet(dag, node_sizes);
Je vous mets aussi les erreurs au cas où:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
Error using  * 
Inner matrix dimensions must agree.
Error in expm>PadeApproximantOfDegree (line 107)
        A2 = A*A; A4 = A2*A2; A6 = A2*A4;
Error in expm (line 29)
            F = PadeApproximantOfDegree(m_vals(i),A);
Error in reachability_graph (line )
  M = expm(double(full(G))) - eye(length(G));
Error in acyclic (line 18)
  R = reachability_graph(adj_mat);
Error in mk_bnet (line 89)
if ~acyclic(dag,directed)
J'ai vérifier le code à plusieurs reprise mais je ne vois pas pourquoi j'ai ces erreurs
Merci de votre aide.