Código de Java - Elementos de estadística.java

Imágen de perfil
Val: 493
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Elementos de estadística.javagráfica de visualizaciones


Java

Publicado el 29 de Mayo del 2018 por Rafael Angel
1.109 visualizaciones desde el 29 de Mayo del 2018
Basado en un libro de estadística de un curso de estadística que estoy llevando.
Permite realizar algunas tareas básicas de estadística.
Es un class.

Requerimientos

NetBeans. JVM

1.0

Publicado el 29 de Mayo del 2018gráfica de visualizaciones de la versión: 1.0
1.110 visualizaciones desde el 29 de Mayo del 2018
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Me permitió estudiar estadística.
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
/**
 *
 * @author Rafael Angel Montero Fernández.
 * Son algunas formulas y funciones basicas de estadistica.
 * Para sacar un porcentaje cuando se usan más de 100, por ejemplo 1000 es una poblacion muy grande y cuando son millones se usan 100000. A esto se le llama ampliacion.
 */
public class Elementos_de_estadistica
{
 
/**
 * 
 * @param a_b_c_y_hasta_el_infinito Los numeros que se usaran para la operacion de la proporcion.
 * @param indice_al_cual_sacarle_la_proporcion
 * @return El resultado de una operacion matematica llamado proporcion.
 * Es una razon pero con dos propiedades más dentro de la operacion.
 * 1) Relaciona dos numero del mismo universo de numeros.
 * 2) Relaciona una parte con el todo.
 * Numeros A, B, C del mismo universo de numeros; la proporcion es:
 * B/A+B+C=Total.
 * Parte de la fraccion (A+B+C) representa al numero B.
 * B varia entre cero o uno.
 */
    public double proporcion(double a_b_c_y_hasta_el_infinito[], int indice_al_cual_sacarle_la_proporcion)
    {
        return (a_b_c_y_hasta_el_infinito[indice_al_cual_sacarle_la_proporcion]/this.sumatoria_de_nuemros(a_b_c_y_hasta_el_infinito));
    } //proporcion
 
 
    /**
     * 
     * @param numeros_para_la_sumatoria vector de numeros para realizar una sumatoria.
     * @return retorna el resultado de la sumatoria.
     */
    public double sumatoria_de_nuemros(double numeros_para_la_sumatoria[])
    {
        double sumatoria=0.0;
        for(int i=0; i<=numeros_para_la_sumatoria.length-1; i++)
        {
            sumatoria+=numeros_para_la_sumatoria[i];
        }  //for
        return sumatoria;
    }//sumatoria_de_nuemros
 
 
    /**
     * 
     * @return Retorna el resultado de una operacion matematica llamada Razon.
     * Es la relacion entre dos numeros.
     * La razon es A/B, indicando cuantas veces cabe B en A.
     */
    public double razon(double a, double b)
    {
        return a/b;
    }//razon
 
    /**
     * 
     * @param a_b_c_y_hasta_el_infinito vector de numeros para la sumatoria.
     * @param indice_al_cual_sacarle_la_proporcion un numero del vector que será el que se use para saber su proporcion.
     * @param por_cien_por_mil_por_diez_mil_por_cien_mil el resultado multiplicado por uno de los indicados en el parametro o mayor para dar un porcentaje. 
     * Nota cuando son poblaciones muy grandes no se usa 100, sino que se usa de 1000 en adelante.
     * O sea uno entre mil, uno entre diez mil...
     * @return retorna un valor absoluto que indica el porcentaje. Usted le pondra el simbolo con un string.
     */
    public double proporcion_en_la_practica(double a_b_c_y_hasta_el_infinito[], int indice_al_cual_sacarle_la_proporcion, int por_cien_por_mil_por_diez_mil_por_cien_mil)
    {
        return this.proporcion(a_b_c_y_hasta_el_infinito, indice_al_cual_sacarle_la_proporcion) * por_cien_por_mil_por_diez_mil_por_cien_mil;
    }//proporcion_en_la_practica
 
    /**
     * 
     * @param a Un nuero a.
     * @param b Un numero b.
     * @param por_cien_por_mil_por_diez_mil_por_cien_mil el resultado multiplicado por uno de los indicados en el parametro o mayor para dar un porcentaje. 
     * Nota cuando son poblaciones muy grandes no se usa 100, sino que se usa de 1000 en adelante.
     * O sea uno entre mil, uno entre diez mil...
     * @return el valor retornado representa un porcentaje.
     */
    public double razon_en_la_practica(double a, double b, int por_cien_por_mil_por_diez_mil_por_cien_mil)
    {
        return this.razon(a, b) * por_cien_por_mil_por_diez_mil_por_cien_mil;
    }//razon_en_la_practica
 
    /**
     * 
     * @param monto_inicial_invertido Mo monto inicial invertido. Muchas veces Mo vale 1.
     * @param tasa_de_interes_por_periodo r tasa de interes por periodo.
     * @return retorna el resultado. La tasa de interes por periodo.
     */
    public double interes_simple(double monto_inicial_invertido, double tasa_de_interes_por_periodo)
    {
        return monto_inicial_invertido*tasa_de_interes_por_periodo;
    }//interes_simple
 
     /**
     * 
     * 
     * @param monto_inicial_invertido Mo monto inicial invertido. Muchas veces Mo vale 1.
     * @param tasa_de_interes_por_periodo r tasa de interes por periodo.
     * @param numero_de_periodos t es tiempo (Numero de tiempos o periodos).
     * @return retorna el resultado. La tasa de interes en todos los periodos.
     */
    public double interes_simple_por_periodo(double monto_inicial_invertido, double tasa_de_interes_por_periodo, int numero_de_periodos)
    {
        return this.interes_simple(monto_inicial_invertido, tasa_de_interes_por_periodo) *numero_de_periodos;
    }//interes_simple
 
     /**
     * 
     * 
     * @param monto_inicial_invertido Mo monto inicial invertido. Muchas veces Mo vale 1.
     * @param tasa_de_interes_por_periodo r tasa de interes por periodo.
     * @param numero_de_periodos t es tiempo (Numero de tiempos o periodos).
     * @return retorna el resultado. La suma total de intereses en todo el periodo considerado.
     * Esto corresponde al modelo aritmetico.
     */
    public double suma_total_ganada_en_intereses_en_todo_el_periodo(double monto_inicial_invertido, double tasa_de_interes_por_periodo, int numero_de_periodos)
    {
        return monto_inicial_invertido+this.interes_simple_por_periodo(monto_inicial_invertido, tasa_de_interes_por_periodo, numero_de_periodos);
    }//suma_total_ganada_en_intereses_en_todo_el_periodo
 
      /**
     * 
     * 
     * @param monto_inicial_invertido Mo monto inicial invertido. Muchas veces Mo vale 1.
     * @param tasa_de_interes_por_periodo r tasa de interes por periodo.
     * @param numero_de_periodos t es tiempo (Numero de tiempos o periodos).
     * @return retorna el resultado. La suma total de intereses en todo el periodo considerado.
     * Esto corresponde al modelo aritmetico.
     */
    public double modelo_de_interes_compuesto(double monto_inicial_invertido, double tasa_de_interes_por_periodo, int numero_de_periodos)
    {
        return monto_inicial_invertido*(1+(tasa_de_interes_por_periodo*numero_de_periodos));
    }//suma_total_ganada_en_intereses_en_todo_el_periodo_simplificado
 
    //El siguiente es el modelo compuesto.
     /**
     * 
     * 
     * @param monto_inicial_invertido Mo monto inicial invertido. Muchas veces Mo vale 1.
     * @param tasa_de_interes_por_periodo r tasa de interes por periodo.
     * @param numero_de_periodos t es tiempo (Numero de tiempos o periodos).
     * @return retorna el resultado. La suma total de intereses en todo el periodo considerado en el modelo compuesto.
     */
    public double modelo_geometrico(double monto_inicial_invertido, double tasa_de_interes_por_periodo, int numero_de_periodos)
    {
        return monto_inicial_invertido*Math.pow(1+tasa_de_interes_por_periodo, numero_de_periodos);
    }//modelo_geometricomodelo_geometrico
 
    //tasa_de_cresimiento_aritmetico
     /**
     * 
     * 
     * @param monto_inicial_invertido Mo monto inicial invertido. Muchas veces Mo vale 1.
     * @param tasa_de_interes_por_periodo r tasa de interes por periodo.
     * @param numero_de_periodos t es tiempo (Numero de tiempos o periodos).
     * @return El valor de crecimiento aritmetico.
     */
    public double tasa_de_cresimiento_aritmetico(double monto_inicial_invertido, double tasa_de_interes_por_periodo, int numero_de_periodos)
    {
        return (1/numero_de_periodos)*((this.mt_monto_al_final_del_periodo(monto_inicial_invertido, tasa_de_interes_por_periodo, numero_de_periodos)/monto_inicial_invertido)-1);
    }//tasa_de_cresimiento_aritmetico
 
    /**
     * 
     * @param monto_inicial_invertido Mo monto inicial invertido. Muchas veces Mo vale 1.
     * @param tasa_de_interes_por_periodo r tasa de interes por periodo.
     * @param numero_de_periodos t es tiempo (Numero de tiempos o periodos).
     * @return el Mt o monto al final del periodo.
     * Es más que todo para usarse dentro de tasa_de_cresimiento_aritmetico, pero la hice publica para poderse usar en otras tareas.
     * Y en tasa_de_cresimiento_geometrico.
     */
    public double mt_monto_al_final_del_periodo(double monto_inicial_invertido, double tasa_de_interes_por_periodo, int numero_de_periodos)
    {
        return this.modelo_geometrico(monto_inicial_invertido, tasa_de_interes_por_periodo, numero_de_periodos);
    }//mt_monto_al_final_del_periodo
 
        /**
     * 
     * @param monto_inicial_invertido Mo monto inicial invertido. Muchas veces Mo vale 1.
     * @param tasa_de_interes_por_periodo r tasa de interes por periodo.
     * @param numero_de_periodos t es tiempo (Numero de tiempos o periodos).
     * @return el Mt o monto al final del periodo.
     */
    public double tasa_de_cresimiento_geometrico(double monto_inicial_invertido, double tasa_de_interes_por_periodo, int numero_de_periodos)
    {
        return Math.pow((this.mt_monto_al_final_del_periodo(monto_inicial_invertido, tasa_de_interes_por_periodo, numero_de_periodos)/monto_inicial_invertido),1/numero_de_periodos)-1;
    }//tasa_de_cresimiento_geometrico
 
    /**
     * Se usará en la formula exponencial.
     * Es el numero e.
     */
    private final double neper=2.7182818228;
 
 
    /**
     * 
     * @param valor_inicial Corresponde a algun valor inicial. Simbolo N0.
     * @param valor_futuro corresponde a un valor futuro tirando hacia el infinito. Simbolo t
     * @return retorna el crecimiento exponencial que ha sucedido desde el inicio hasta la fecha futura o valor futuro.
     */
    public double modelo_de_cresimiento_exponencial(double valor_inicial, double valor_futuro)
    {
        return ln(valor_inicial/valor_futuro);
    }//modelo_de_cresimiento_exponencial
 
    /**
     * 
     * @param numero cuaquier numero para pasarlo por el ln logaritmo natural de base Neper.
     * @return retorna el resultado del numero pasado por el logaritmo natural con base e (Neper).
     */
    public double ln(double numero)
    {
        return (Math.log10(numero)/Math.log10(neper) );
    } //ln
 
    /**
     * Esta trae los parametros opcionales.
     * @param numero_de_tabla Numero de la tabla, por ejemplo podria ser un texto donde se presentan cinco tablas diferentes.
     * @param titulo_de_la_tabla El titulo debe ser telegrafico, solo lo necesario y descriptivo.
     * @param nota_introductoria Opcional. Esta nota puede usarse como titulo largo o como aclaraciones de algunos valores en la tabla.
     * @param columna_matriz Es donde van las etiquetas principales.
     * @param encabezado_superior Etiquetas de nivel superior dentro del encabezado.
     * @param encabezado_inferior Etiquetas de nivel inferior dentro del encabezado. Por lo general pueden ser más que las superiores.
     * @param cuerpo Es donde va toda la informacion en numeros, porcentages, valores, o datos de texto.
     * @param nota_al_pie Son notas finales acerca de la tabla y su contenido.
     * @param fuente Fuente APA de donde se tomaron los datos, o la investigacion. O si es de una investigacion propia pero anterior igual debe citarse a si mismo.
     * @return retorna un texto con un formato lo más similar posible a una tabla estadistica.
     */
    public String tabla_estasdistica(int numero_de_tabla, String titulo_de_la_tabla, String nota_introductoria, String columna_matriz[], String encabezado_superior[], String encabezado_inferior[], String cuerpo[], String nota_al_pie, String fuente)
    {
        int i=0;
        //columna_matriz
        String fila_del_encavezado_superior="", fila_del_encavezado_inferior="";
 
        for (i=0; i<=encabezado_superior.length-1; i++)
        {
           fila_del_encavezado_superior+=encabezado_superior [i]+" | ";
        }//for
 
        for (i=0; i<=encabezado_inferior.length-1; i++)
        {
           fila_del_encavezado_inferior+=encabezado_inferior [i]+" | ";
        }//for
 
        String espacios="";
        for (i=0; i<=columna_matriz[0].length()-1; i++)
        {
           espacios+=" ";
        }//for
 
        String cuerpo_informativo_de_la_tabla=espacios;
        int cont=0;
        for (i=0; i<=cuerpo.length-1; i++)
        {
            cont++;
            if(cont<=encabezado_inferior.length-1)
            {
                cuerpo_informativo_de_la_tabla+=cuerpo [i]+" | ";
            }//if
            else
            {
                cuerpo_informativo_de_la_tabla+="\n" + espacios;
            }//else
        }//for
 
        return numero_de_tabla + "\n" + titulo_de_la_tabla + "\n" + nota_introductoria + "\n"+columna_matriz[0]+ " | "+fila_del_encavezado_superior+"\n"+ columna_matriz[1] + " | "+fila_del_encavezado_inferior+ "\n"+cuerpo_informativo_de_la_tabla+"\n\n"+nota_al_pie+"\n"+fuente;
    }//tabla_estasdistica
 
    /**
     * Esta funcion es la que viene sin los parametros opcionales.
     * @param numero_de_tabla Numero de la tabla, por ejemplo podria ser un texto donde se presentan cinco tablas diferentes.
     * @param titulo_de_la_tabla El titulo debe ser telegrafico, solo lo necesario y descriptivo.
     * @param columna_matriz Es donde van las etiquetas principales.
     * @param encabezado_superior Etiquetas de nivel superior dentro del encabezado.
     * @param encabezado_inferior Etiquetas de nivel inferior dentro del encabezado. Por lo general pueden ser más que las superiores.
     * @param cuerpo Es donde va toda la informacion en numeros, porcentages, valores, o datos de texto.
     * @return retorna un texto con un formato lo más similar posible a una tabla estadistica.
     */
    public String tabla_estasdistica(int numero_de_tabla, String titulo_de_la_tabla, String columna_matriz[], String encabezado_superior[], String encabezado_inferior[], String cuerpo[])
    {
        return this.tabla_estasdistica(numero_de_tabla, titulo_de_la_tabla, "", columna_matriz, encabezado_superior, encabezado_inferior, cuerpo, "", "");
    }//tabla_estasdistica sin los parametros opcionales.
 
 
}//Elementos_de_estadistica



Comentarios sobre la versión: 1.0 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4622
Revisar política de publicidad