Problema con el matlab

  1. #1
    El chico de los Gif's Avatar de ParaleloEDM
    Registro
    26 may, 13
    Ubicación
    Varsovia
    Mensajes
    2,308
    Me gusta (Dados)
    321
    Me gusta (Recibidos)
    604

    Problema con el matlab

    tengo que hacer una actividad con el matlab, en la que es el juego de la vida, si alguien no sabe lo que es que lo busque, es largo.
    Resumiendo, tengo que hacer un comando que me mire todas las parcelas que tocan a una parcela en una matriz, en la matriz solo hay 1 y 0, lo que quiero es que me sume todas las parcelas asi lo reconoce mas rapido si hay 3 o mas y que de negativo en esa parcela

  2. #2
    ForoParalelo: Miembro Avatar de riemman_
    Registro
    16 jun, 13
    Mensajes
    381
    Me gusta (Dados)
    46
    Me gusta (Recibidos)
    117
    Sólo consideras los unos?

  3. #3
    El chico de los Gif's Avatar de ParaleloEDM
    Registro
    26 may, 13
    Ubicación
    Varsovia
    Mensajes
    2,308
    Me gusta (Dados)
    321
    Me gusta (Recibidos)
    604
    @Zapato y Cordón Es subforo, te podria reportar por esto

  4. #4
    El chico de los Gif's Avatar de ParaleloEDM
    Registro
    26 may, 13
    Ubicación
    Varsovia
    Mensajes
    2,308
    Me gusta (Dados)
    321
    Me gusta (Recibidos)
    604
    Cita Iniciado por riemman_ Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    Sólo consideras los unos?
    a ver, el problema consiste en que los 1 no pueden estar en muchos grupos, si 1 uno toca mas de 3 1 se vuelve 0, y si no toca ningun 1 tambien se vuelve 0

  5. #5
    Haxballero Avatar de AveFelix
    Registro
    07 abr, 13
    Mensajes
    4,599
    Me gusta (Dados)
    10885
    Me gusta (Recibidos)
    1925
    Cita Iniciado por ParaleloEDM Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    a ver, el problema consiste en que los 1 no pueden estar en muchos grupos, si 1 uno toca mas de 3 1 se vuelve 0, y si no toca ningun 1 tambien se vuelve 0
    Yo tengo la misma práctica pero en lenguaje java. Supongo que en Matlab habrá bucles for y sentencias if, así que sólo tienes que montarte una buena estructura y sumar todos los unos que tienes a tu alrededor. Luego ya sólo tienes que probar la cantidad de 1 que has sumado.

  6. #6
    ForoParalelo: Miembro Avatar de riemman_
    Registro
    16 jun, 13
    Mensajes
    381
    Me gusta (Dados)
    46
    Me gusta (Recibidos)
    117
    No se mucho de Matlab, pero el algoritmo sería algo así

    matriz m
    j son las filas
    k las columnas

    contador =0
    for (a entre 0 y j, de uno en uno)(
    for (b entre 0 y k, de uno en uno)(
    if(a-1 >0 and b-1>0 and a+1 <j and b+1 <k)(
    for ( i entre a-1 y a+b, de uno en uno)(
    for (p entre b-1 y b+1) (
    if(m[i][o] =1, sumas uno al contador)
    )
    )
    if contador >=3, m[a][b] =0;
    contador =0
    )
    )
    )

  7. #7
    ForoParalelo: Miembro Avatar de riemman_
    Registro
    16 jun, 13
    Mensajes
    381
    Me gusta (Dados)
    46
    Me gusta (Recibidos)
    117
    Eso lo que haría sería comprobar uno a uno los elementos de la matriz y sus elementos colindantes, si los elementos colindantes suman más de 3, se pone el elemento a 0.

  8. #8
    El chico de los Gif's Avatar de ParaleloEDM
    Registro
    26 may, 13
    Ubicación
    Varsovia
    Mensajes
    2,308
    Me gusta (Dados)
    321
    Me gusta (Recibidos)
    604
    Cita Iniciado por riemman_ Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    Eso lo que haría sería comprobar uno a uno los elementos de la matriz y sus elementos colindantes, si los elementos colindantes suman más de 3, se pone el elemento a 0.
    Sisisisi es eso, comprovar los colindantes, pero no se me ocurre como ponerlo en el matlab, lo tengo pensado en el papel xD

  9. #9
    ForoParalelo: Miembro Avatar de riemman_
    Registro
    16 jun, 13
    Mensajes
    381
    Me gusta (Dados)
    46
    Me gusta (Recibidos)
    117
    Cita Iniciado por ParaleloEDM Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    Sisisisi es eso, comprovar los colindantes, pero no se me ocurre como ponerlo en el matlab, lo tengo pensado en el papel xD
    No me aventuraría con la sintaxis de Matlab porque no sé demasiado, pero es lo que hay jajaja

  10. #10
    Avatar de Del Pita Del
    Registro
    26 oct, 13
    Ubicación
    Aragón
    Mensajes
    7,512
    Me gusta (Dados)
    2098
    Me gusta (Recibidos)
    2072
    Cita Iniciado por ParaleloEDM Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    Sisisisi es eso, comprovar los colindantes, pero no se me ocurre como ponerlo en el matlab, lo tengo pensado en el papel xD
    Yo es que de matemáticas sólo controlo Máxima y Octave, si quieres le pregunto a alguien en el curro, pero vamos...

  11. #11
    El chico de los Gif's Avatar de ParaleloEDM
    Registro
    26 may, 13
    Ubicación
    Varsovia
    Mensajes
    2,308
    Me gusta (Dados)
    321
    Me gusta (Recibidos)
    604
    Cita Iniciado por Del Pita Del Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    Yo es que de matemáticas sólo controlo Máxima y Octave, si quieres le pregunto a alguien en el curro, pero vamos...
    Y en octave como seria, porque son parecidos, y tambien lo puedo hacer en octave

  12. #12
    Avatar de Del Pita Del
    Registro
    26 oct, 13
    Ubicación
    Aragón
    Mensajes
    7,512
    Me gusta (Dados)
    2098
    Me gusta (Recibidos)
    2072
    Cita Iniciado por ParaleloEDM Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    Y en octave como seria, porque son parecidos, y tambien lo puedo hacer en octave
    A ver, no lo uso desde hace bastante, pero tendrías que ir definiendo funciones para M ij de manera que sumara para M kl Mk-1l, Mk+1l, Mkl-1, Mkl+1 y ya poner la condición 0=sumatorio Mkl>3 =0
    Prueba definiendo la función f(x) como si hicieras un ejercicios con operaciones elementales y haz un testeo con varias matrices.

    Pero no creo que el programa Octave sea lo más eficiente para este tipo de cosas.

  13. #13
    El chico de los Gif's Avatar de ParaleloEDM
    Registro
    26 may, 13
    Ubicación
    Varsovia
    Mensajes
    2,308
    Me gusta (Dados)
    321
    Me gusta (Recibidos)
    604
    Cita Iniciado por Del Pita Del Ver mensaje
    El mensaje está oculto porque el usuario está en tu lista de ignorados.
    A ver, no lo uso desde hace bastante, pero tendrías que ir definiendo funciones para M ij de manera que sumara para M kl Mk-1l, Mk+1l, Mkl-1, Mkl+1 y ya poner la condición 0=sumatorio Mkl>3 =0
    Prueba definiendo la función f(x) como si hicieras un ejercicios con operaciones elementales y haz un testeo con varias matrices.

    Pero no creo que el programa Octave sea lo más eficiente para este tipo de cosas.
    Yaya, bueno me lo mirame, merci por la ayuda

  14. #14
    AutoBanned Avatar de Domovik
    Registro
    25 abr, 13
    Mensajes
    1,106
    Me gusta (Dados)
    86
    Me gusta (Recibidos)
    293
    mmm problema con matlab se nota que ya empezo la uni. jjejee

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •