Simulación de red sin escala basada en Matlab

1. Descripción del problema:

        Las redes libres de escala tienen conexiones de heterogeneidad severa (en grados) entre nodos que no tienen una distribución uniforme seria de: la red se llama unos pocos El punto de nodo de concentrador tiene muchas conexiones, y la mayoría de los nodos Solo hay unas pocas conexiones. Algunos puntos Hub juegan un papel de liderazgo en el funcionamiento de la red sin escala. En términos generales, la naturaleza libre de escala de la red libre de escala es una propiedad inherente que describe la distribución desigual seria de una gran cantidad de sistemas complejos en su conjunto.

2. Parte del programa:

function matrix = FreeScale (X)
% By 201121250314
N = X; m0 = 3; m = 3;% inicializar
matriz_adjunta = dispersa (m0, m0);% inicializar matriz de adyacencia
para i = 1: m0
    para j = 1: m0
        si j ~ = i matriz_a
            adyacente (i, j) = 1;
        end
    end
end matriz_adjunta
= dispersa (
matriz_a adyacente); grado_nodo = ceros (1, m0 + 1);
grado_nodo (2: m0 + 1) = suma (matriz_a adyacente);
para iter = 4: N
    iter
    total_degree = 2 * m * (iter- 4) +6;
    cum_degree = cumsum (node_degree);
    choose = zeros (1, m);
    % Seleccione el primer vértice conectado al nuevo punto
    r1 = rand (1 ) * grado_total;
    para i = 1: iter-1
        if (r1> = cum_degree (i)) & (r1 <cum_degree (i + 1))
            elija (1) = i;
            break
        end
    end
    % 选出 第二 个 和 新 点 相 连接 的 顶点
    r2 = rand (1) * total_degree;
    para i = 1: iter-1
        if (r2> = cum_degree (i)) & (r2 <cum_degree (i + 1))
            elija (2) = i;
            break
        end
    end
    mientras elige (2) == elija (1)
        r2 = rand (1) * total_degree;
        para i = 1: iter-1
            if (r2> = cum_degree (i)) & (r2 <cum_degree (i + 1))
                elija (2) = i;
                romper
            fin
        fin
    fin
    % Seleccione el tercer vértice conectado al nuevo punto
    r3 = rand (1) * total_degree;
    para i = 1: iter-1
        if (r3> = cum_degree (i)) & (r3 <cum_degree (i + 1))
            elija ( 3) = i;
            romper el
        final del
    final
 
        

3. Conclusión de la simulación:

D00009

Supongo que te gusta

Origin blog.csdn.net/ccsss22/article/details/114897072
Recomendado
Clasificación