Matlab - Distribucion triangular

 
Vista:

Distribucion triangular

Publicado por Maria (27 intervenciones) el 08/04/2016 10:06:54
Hola!! os adjunto mi programa! Se trata de una distribucion triangular determinista que genera variables a traves de la funcion de disrtribucion acumulada. La cuestion es que no entiendo porque w no tiene el mismo numero de elementos que N. Alguien puede explicarmelo???Algo ocurre en el bucle if!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
N=input('N: ');
 
G=1./(2*(N)):1./(N):1;
G=transpose(G);
 
for i=1:1:N
if G(i)<= 0.5
 G(i)
 W=sqrt(2*G(i))-1;
 
else
 G(i)
 W=1-sqrt(2-2*G(i));
 
end
w(i)=W;
end
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

Distribucion triangular

Publicado por Cristina (3 intervenciones) el 08/04/2016 13:30:03
Hola,
he ejecutado tú código y w si que tiene la misma dimensión que el valor de la variable N. De hecho es un vector fila con el mismo número de elemento que valor hay en N. He incluido al final del código dos instrucciones para ver los valores de las dos variables (N y w), así como la longitud del vector w:
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
clear all;
close all;
clc
 
N=input('N: ');
 
G=1./(2*(N)):1./(N):1;
G=transpose(G);
 
for i=1:1:N
if G(i)<= 0.5
  G(i)
  W=sqrt(2*G(i))-1;
else
  G(i)
  W=1-sqrt(2-2*G(i));
end
 
w(i)=W;
 
end
 
N
w
length(w)

Al ejecutar el código obtengo esto:
N: 25
ans = 0.020000
ans = 0.060000
ans = 0.10000
ans = 0.14000
ans = 0.18000
ans = 0.22000
ans = 0.26000
ans = 0.30000
ans = 0.34000
ans = 0.38000
ans = 0.42000
ans = 0.46000
ans = 0.50000
ans = 0.54000
ans = 0.58000
ans = 0.62000
ans = 0.66000
ans = 0.70000
ans = 0.74000
ans = 0.78000
ans = 0.82000
ans = 0.86000
ans = 0.90000
ans = 0.94000
ans = 0.98000
N = 25
w =

Columns 1 through 14:

-0.80000 -0.65359 -0.55279 -0.47085 -0.40000 -0.33668 -0.27889 -0.22540 -0.17538 -0.12822 -0.08348 -0.04083 0.00000 0.04083

Columns 15 through 25:

0.08348 0.12822 0.17538 0.22540 0.27889 0.33668 0.40000 0.47085 0.55279 0.65359 0.80000

ans = 25

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar