Matlab - Implementación de esta función matemática en Matlab

 
Vista:
sin imagen de perfil
Val: 68
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Implementación de esta función matemática en Matlab

Publicado por Aitor (49 intervenciones) el 11/06/2017 15:00:56
Estoy teniendo algunos problemas para implementar la siguiente función:

mdvfG

Para expresar la función inversa de phi(x) he calculado por mi cuenta en papel el caso correspondiente al primer trozo de la función.

Estoy teniendo que hacer algo mal, ya que el resultado debería ir siendo cada vez ''más positivo'' (mayor que cero) con cada iteración.

Os dejo aquí mi código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
l = [0 0.3078 0.27287 0 0 0 0.41933];
    r = [0 0 0 0 0 0.4 0.6];
 
    sigma = 0.8747;
 
    mu0 = 2/sigma;
 
    iterations = 50;
 
    % Density evolution algorithm depiction for finding the treshold of irregular LDPC codes
    syms x;
 
    l_idle = zeros(1,length(l));
    r_idle = zeros(1,length(r));
 
    Q_1 = exp(-0.4527*x^0.86 + 0.0218);
    Q_2 = sqrt(pi/x)*exp((-x/4)*(1-20/(7*x)));
 
    mv = zeros(1,iterations+1);
 
    for k=2:length(mv)
        for i = 1:length(l_idle)
            if ((mu0 + (i-1)*mv(k-1)) < 10)
                l_idle(i) = double(subs(Q_1,x,(mu0 + (i-1)*mv(k-1))));
            else
                 l_idle(i) = double(subs(Q_2,x,(mu0 + (i-1)*mv(k-1))));
            end
        end
        lambda = l*transpose(l_idle);
 
        for j = 1:length(r_idle)
            b = 1-(1-lambda)^(j-1);
            if b < 10, r_idle(j) = subs(((log(x)-0.0218)/-0.4527)^(1/0.86),x,b);
            else,      r_idle(j) = subs(finverse(Q_2,x),x,b);
            end
        end
        mv(k) = r*transpose(r_idle);
    end

Mi problema es que la variable `r_idle(1)` es igual a `-Inf` cuando `b=0` dado `j=1`.

¿Sabéis cómo podría solucionar esto?

Muchas gracias de antemano, y que tengáis un buen día.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder