Problema para implementar una función en MATLAB
Publicado por Aitor (49 intervenciones) el 10/04/2017 18:30:45
Estoy teniendo problemas para implementar la función que podéis encontrar abajo en Matlab. Aquí tenéis una foto y el código correspondiente:

Cuando lo ejecuto, me dice que la función no es invertible, lo cual no tiene sentido. ¿Alguien sabe qué es lo que está mal?
Muchas gracias a todos y que tengáis un buen día.

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
for i=1:1:length(mu)
aux1 = zeros(size(v));
for j = 1:1:length(v)
a = mu0(i) + (j-1)*mu(i);
if a < 10, aux1(j) = exp(-0.4527*a^(0.86)+0.0218);
else, aux1(j) = sqrt(pi/a)*exp(-a/4)*(1-20/(7*a));
end
aux1(j) = aux1(j)^(j-1);
end
lambda = v*transpose(aux1);
aux2 = zeros(size(r));
for j = 1:1:length(r)
b = 1-(1-lambda)^(j-1);
if b < 10, aux2(j) = subs(finverse(exp(-0.4527*x^(0.86)+0.0218)),x,b);
else, aux2(j) = subs(finverse((sqrt(pi/x)*exp(-x/4)*(1-20/(7*x))),x),x,b);
end
aux2(j) = aux2(j)^(j-1);
end
mu(i) = h*transpose(aux2);
if (sign(mu(i)) == 1), z(i) = 1;
else, z(i) = 0;
end
end
Muchas gracias a todos y que tengáis un buen día.
Valora esta pregunta


0