
Visualizar la matriz inicial de ventas, el vector de probabilidad inicial y final
Publicado por jonathan (4 intervenciones) el 17/05/2015 07:59:37
[b][b]muy buenas noches en este momento intento crear una cadena de markov en java IDE Netbeans la idea del enunciado es esta
calcular una matriz de transición en n-pasos, y calcular la probabilidad al cabo de k etapas.
Con ayuda de un generador de números pseudo-aleatorios simular las ventas realizadas por cinco
vendedores de una empresa cualquiera, en los cinco primeros meses del año anterior.
Permitir al usuario de la aplicación calcular mediante una cadena de Markov cual sera el porcentaje de
ventas al cabo de k meses. Donde k es ingreso por el usuario.
Visualizar la matriz inicial de ventas, el vector de probabilidad inicial
mi progreso hasta ahora va en la creacion de la matriz 5x5 la cual debe ser aleatoria y generada en el rango de 0 y 100 no repetidos ahora debo tomar en las cinco pimeras filas el total y promediarlas y luego igualmente las cinco columnas
este el codigo que llevo hasta ahora la dicultad que me genera es poder multiplicar la matriz resultante por ella misma y luego hacerlo dos veces mas osea potencia de 4 si alguien me puede orientar gracias le agradeceria muchisimo
//codigo
package m1;
import java.util.Random;
public class Matriz {
private int matriz [][];
private int matriz2 [][];
private int matriz3 [][];
private Random random;
private int totalf=0;
private int totalc=0;
private double promedio = 0;
private double p;
public Matriz(){
matriz = new int[5][5];
random = new Random();
//matriz2 = new int[5][5];
}
public void llenarMatriz(){
try{
for(int i = 0;i<matriz.length;i++){
for (int j = 0;j<matriz.length;j++){
matriz[i][j] = random.nextInt(100);
}
}
}catch(Exception e){
System.out.println(e.getMessage());
}
}
/**public void multimatriz(){ //metodo nultiplicar matriz
{ // abre primer ciclo for
for ( int j=0;j<matriz.length; j++)
{ // abre el segundo ciclo for
for ( int i=0;i< matriz.length ; i++ )
matriz2 = matriz[i][j]*matriz[i][j];
}
}
}*/
public void imprimirMatriz() {
for(int f=0;f<matriz.length;f++) {
double promediofila = 0;
for(int c=0;c<matriz[f].length;c++) {
System.out.print(matriz[f][c]+" ");
totalf = totalf + matriz[f][c];
totalc = totalc + matriz[c][f];
promediofila = promediofila + matriz[f][c];
for(int m=0;m<matriz.length;m++){
double procol =0;
for(int n=0;n<matriz[c].length;n++){
procol = procol + matriz[c][f];
}
}
}
System.out.println(" su total en el 1mes es: "+totalf +" su promedio en filas es: "+(promediofila/matriz[f].length)+" su total en columnas es: "+totalc+" su promedio en columna es: ");
totalf = 0;
totalc = 0;
}
}
calcular una matriz de transición en n-pasos, y calcular la probabilidad al cabo de k etapas.
Con ayuda de un generador de números pseudo-aleatorios simular las ventas realizadas por cinco
vendedores de una empresa cualquiera, en los cinco primeros meses del año anterior.
Permitir al usuario de la aplicación calcular mediante una cadena de Markov cual sera el porcentaje de
ventas al cabo de k meses. Donde k es ingreso por el usuario.
Visualizar la matriz inicial de ventas, el vector de probabilidad inicial
mi progreso hasta ahora va en la creacion de la matriz 5x5 la cual debe ser aleatoria y generada en el rango de 0 y 100 no repetidos ahora debo tomar en las cinco pimeras filas el total y promediarlas y luego igualmente las cinco columnas
este el codigo que llevo hasta ahora la dicultad que me genera es poder multiplicar la matriz resultante por ella misma y luego hacerlo dos veces mas osea potencia de 4 si alguien me puede orientar gracias le agradeceria muchisimo
//codigo
package m1;
import java.util.Random;
public class Matriz {
private int matriz [][];
private int matriz2 [][];
private int matriz3 [][];
private Random random;
private int totalf=0;
private int totalc=0;
private double promedio = 0;
private double p;
public Matriz(){
matriz = new int[5][5];
random = new Random();
//matriz2 = new int[5][5];
}
public void llenarMatriz(){
try{
for(int i = 0;i<matriz.length;i++){
for (int j = 0;j<matriz.length;j++){
matriz[i][j] = random.nextInt(100);
}
}
}catch(Exception e){
System.out.println(e.getMessage());
}
}
/**public void multimatriz(){ //metodo nultiplicar matriz
{ // abre primer ciclo for
for ( int j=0;j<matriz.length; j++)
{ // abre el segundo ciclo for
for ( int i=0;i< matriz.length ; i++ )
matriz2 = matriz[i][j]*matriz[i][j];
}
}
}*/
public void imprimirMatriz() {
for(int f=0;f<matriz.length;f++) {
double promediofila = 0;
for(int c=0;c<matriz[f].length;c++) {
System.out.print(matriz[f][c]+" ");
totalf = totalf + matriz[f][c];
totalc = totalc + matriz[c][f];
promediofila = promediofila + matriz[f][c];
for(int m=0;m<matriz.length;m++){
double procol =0;
for(int n=0;n<matriz[c].length;n++){
procol = procol + matriz[c][f];
}
}
}
System.out.println(" su total en el 1mes es: "+totalf +" su promedio en filas es: "+(promediofila/matriz[f].length)+" su total en columnas es: "+totalc+" su promedio en columna es: ");
totalf = 0;
totalc = 0;
}
}
- codigo-cadena-markov2.rar(775,0 B)
Valora esta pregunta


0