⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 edge_index_example.m

📁 The MatlabBGL library fills a hole in Matlab s suite of algorithms. Namely, it provides a rich set o
💻 M
字号:
load ../graphs/bfs_example.mat

[i,j,val] = find(A);

% assign a randon number to each edge in the graph
edge_rand = rand(num_edges(A),1);

Av = sparse(i,j,edge_rand, size(A,1), size(A,2));

ee = @(ei,u,v) fprintf('examine_edge   %2i,   %1i,   %1i,   %4f,   %4f\n', ...
    ei, u, v, edge_rand(ei), Av(u,v));

fprintf('\n-------\n');
fprintf('Example of using the transposed edge index incorrectly\n');
fprintf('-------\n');
fprintf('               ei,   u,   v,     er(ei),     A(u,v)\n');
breadth_first_search(A,1,struct('examine_edge',ee));

% build a tranposed edge index to edge index map
Aind = sparse(i,j,1:num_edges(A),size(A,1), size(A,2));
[i,j,trans_ei_to_ei] = find(Aind');


ee = @(ei,u,v) fprintf('examine_edge   %2i,   %1i,   %1i,   %4f,   %4f\n', ...
    ei, u, v, edge_rand(trans_ei_to_ei(ei)), Av(u,v));

fprintf('\n-------\n');
fprintf('Example of using the transposed edge index correctly,\n');
fprintf('but with a different value specified for (u,v) and (v,u)\n')
fprintf('-------\n');
fprintf('               ei,   u,   v,     er(ei),true er(ei)\n');
breadth_first_search(A,1,struct('examine_edge',ee));



% build a transposed edge index to edge index map respecting how each edge
% is undirected


[i,j,val] = find(triu(A,1));

edge_rand = rand(num_edges(A)/2,1);

Av = sparse([i; j], [j; i], [edge_rand; edge_rand], size(A,1), size(A,2));

% build a tranposed edge index to edge index map
Aind = sparse([i; j],[j; i],[1:num_edges(A)/2 1:num_edges(A)/2], size(A,1), size(A,2));
[i,j,trans_ei_to_ei] = find(Aind');





ee = @(ei,u,v) fprintf('examine_edge   %2i,   %1i,   %1i,   %4f,   %4f\n', ...
    ei, u, v, edge_rand(trans_ei_to_ei(ei)), edge_rand(Aind(u,v)));

fprintf('\n-------\n');
fprintf('Example of using the transposed edge index correctly,\n');
fprintf('but a single value for both (u,v) and (v,u) edges\n')
fprintf('-------\n');
fprintf('               ei,   u,   v,     er(ei),true er(ei)\n');
breadth_first_search(A,1,struct('examine_edge',ee));


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -