Matlab - problema con comparar el primer caracter de una matriz

 
Vista:
sin imagen de perfil

problema con comparar el primer caracter de una matriz

Publicado por Emi (6 intervenciones) el 17/09/2015 19:16:04
hola,
este es mi caso, tengo creada una matriz de 5x7, como si fuera una base de datos, en la primera columna están los nombres, necesito que al ingresar diferentes nombres, estos ingresen a la matriz, luego al ingresar una letra genere otra matriz con todos los nombres que empiezan con esa misma letra, se que para comparar la cadena carácter por carácter se usa strncmp pero no se como generar la comparación.

alguien me podría ayudar, gracias
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
Imágen de perfil de Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

problema con comparar el primer caracter de una matriz

Publicado por Royeth (1818 intervenciones) el 17/09/2015 20:30:29
aquí te escribo un ejemplo de lo que deseas debe ser un array no una matriz :

1
2
3
d = {'as', 'ada', 'bgf', 'cde', 'fgr' 'amn' 'fre' 'bf' 'drt' 'asd'};
letra='f';
d(cell2mat(cellfun(@(x) strcmp(x(1),letra), d, 'UniformOutput', false)))


Saludos
https://www.facebook.com/royethmatlab/
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
sin imagen de perfil

problema con comparar el primer caracter de una matriz

Publicado por Emi (6 intervenciones) el 17/09/2015 22:47:23
gracias Royeth por tu respuesta, pero lo que sucede es que me es obligatorio hacerlo con una matriz
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

problema con comparar el primer caracter de una matriz

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 18/09/2015 00:25:26
Podrias poner un ejemplo concreto de la matriz que mencionas.

Saludos
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
[email protected]
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com
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
sin imagen de perfil

problema con comparar el primer caracter de una matriz

Publicado por Emi (6 intervenciones) el 18/09/2015 00:37:57
X= {rosa, martinez , bogota, o positivo, soltera, 30 años; maria, fernandez, Cali, A negativo, casada, 20 años; jose, sanchez, cali, a positivo, soltero, 18 años; Juan, ramirez, bogota, o positivo, casado, 70 años; pedro, bonilla , medellin, o positivo, soltero, 27 años}

así seria la matriz, gracias.
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

problema con comparar el primer caracter de una matriz

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 18/09/2015 00:48:55
¿Ahora que deseas hacer con esa matriz?. Un ejemplo concreto como seria, porque estoy viendo que los nombres no se repiten.

tu pregunta no es clara.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clear all
M= {'rosa',    'martinez' , 'bogota', 'o positivo', 'soltera', '30 años';
       ' maria',  'fernandez', 'Cali',  'a negativo', 'casada', '20 años';
       'jose',     'sanchez', 'cali', 'a positivo', 'soltero', '18 años';
       'Juan', 'ramirez', 'bogota', 'o positivo', 'casado', '70 años';
      'pedro', 'bonilla' , 'medellin', 'o positivo', 'soltero', '27 años'}
a=input('ingrese letra a=','s');
l=1;
for i=1:size(M,1)
        var=M{i};
        if strcmp(var(1),a)
          N{l}=var;
          l=l+1;
    end
end
N

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>> matriz_celda
 
M =
 
    'rosa'      'martinez'     'bogota'      'o positivo'    'soltera'    '30 años'
    ' maria'    'fernandez'    'Cali'        'a negativo'    'casada'     '20 años'
    'jose'      'sanchez'      'cali'        'a positivo'    'soltero'    '18 años'
    'Juan'      'ramirez'      'bogota'      'o positivo'    'casado'     '70 años'
    'pedro'     'bonilla'      'medellin'    'o positivo'    'soltero'    '27 años'
 
ingrese letra a=j
 
N =
 
    'jose'
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
sin imagen de perfil

problema con comparar el primer caracter de una matriz

Publicado por Emi (6 intervenciones) el 18/09/2015 01:07:49
es que los nombres no son fijos, los puse como ejemplos, de igual manera lo que necesito es que al ingresar una letra ,en un codigo de busqueda, por ejemplo j me salga el nombre de juan y jose (hablando del ejemplo que coloque), y cada nombre con sus respectivos datos
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

problema con comparar el primer caracter de una matriz

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 18/09/2015 01:16:05
pero en ningún momento dices que salda con sus datos. Justamente por eso te decía que te pregunta no era clara. tienes ser preciso en tu pregunta para hacer un código de acuerdo a tus respectivas, caso contrario vas a recibir soluciones muy parecidas. Y también para evitar repreguntas de parte de las personas que ayudamos en el foro,
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
sin imagen de perfil

problema con comparar el primer caracter de una matriz

Publicado por Emi (6 intervenciones) el 18/09/2015 01:17:42
vale, que pena, gracias.
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

problema con comparar el primer caracter de una matriz

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 18/09/2015 01:38:49
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
clear all
M= {'rosa',    'martinez' , 'bogota', 'o positivo', 'soltera', '30 años';
       ' maria',  'fernandez', 'Cali',  'a negativo', 'casada', '20 años';
       'rose',     'sanchez', 'cali', 'a positivo', 'soltero', '18 años';
       'Juan', 'ramirez', 'bogota', 'o positivo', 'casado', '70 años';
      'redro', 'bonilla' , 'medellin', 'o positivo', 'soltero', '27 años'};
a=input('ingrese letra a=','s');
l=1;
for i=1:size(M,1)
        var=M{i};
        if strcmp(var(1),a)
          N{l,1}=M(i,:);
          l=l+1;
    end
end
for i=1:size(N,1)
display(cellstr(N{i}))
end



1
2
3
4
5
6
7
>> matriz_celda
ingrese letra a=r
    'rosa'    'martinez'    'bogota'    'o positivo'    'soltera'    '30 años'
 
    'rose'    'sanchez'    'cali'    'a positivo'    'soltero'    '18 años'
 
    'redro'    'bonilla'    'medellin'    'o positivo'    'soltero'    '27 años'



Saludos
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
[email protected]
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

problema con comparar el primer caracter de una matriz

Publicado por Emi (6 intervenciones) el 18/09/2015 01:50:15
muchas gracias :D
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