Matlab - USO DE DATOS DE EXCEL

 
Vista:
sin imagen de perfil
Val: 66
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

USO DE DATOS DE EXCEL

Publicado por Deyner (28 intervenciones) el 05/11/2016 08:03:58
Buenas estimados amigos

Tengo una duda respecto al uso de datos, en especial el filtrado, para ser más claro tengo un archivo de excel en el cual tengo escrito algo así:
PALABRA CLAVE (1COLUMNA) TRADUCCIÓN(2COLUMNA)
y abajo está con varios valores (palabras) que ingrese a mano, la cuestión es la siguiente:
tengo que crear un programa en el cual al ejecutarlo me pida el ingreso de una palabra y realice lo siguiente:
*)verificar si la palabra pertenece a la lista, si está en la lista mostrar su traducción, es decir el valor de la columna correspondiente a dicha palabra, y si no está dar la opción de que se pueda agregar o no a la lista.

pensaba en algo parecido
abrir con algo así el excel (podría ser otra alternativa)
[fid,texto,raw]=fopen('archivo.xlsx','w+');
palabra=input('Ingrese la palabra a buscar: ','s');
la busqueda algo asi, pero no se como hacer para buscar entre las palabras de la lista
[A,cont]=fscan(texto,'s')
y para modificar pensaba usar el xlswrite('archivo.xlsx',palabra,'A10') pero tengo que llenar de forma textual la ubicación, por ello hay alguna forma para que cambie en donde se colocará para cada vez que agregue otra palabra?
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

USO DE DATOS DE EXCEL

Publicado por Royeth (1818 intervenciones) el 05/11/2016 17:07:23
Te recomiendo que si vas a tener una base de datos en excel que vas a estar editando lo mejor es que hagas el código en visual basic para aplicaciones y no en MATLAB , en vba incluso puedes hacer un formulario y te resulta mucho mejor ya que podrías ejecuarlo desde cualquier pc que tenga excel , Y si necesitas usar matlab entonces te recomiendo que pases el archivo de excel a una base de datos de matlab (.mat) ya que así no tienes que importar datos , hacer procedimiento y exportar ,

Otra recomendación que te doy si lo quieres hacer más avanzado es que hay métodos en bioinformática para detectar si dos secuencias de ADN tienen cierta similaridad ,aun si algunos nucleotidos han mutado o desaparecido , estos métodos se pueden aplicar también para comparar dos textos , ya que muchas veces hay errores de tipeo y esas cosas y con esto puedes buscar coincidencias similares y no necesariamente exactas

para buscar la palabra como tenías pensado puede ser algo así :
1
2
3
4
5
6
7
8
9
10
[~,d]=xlsread('esempio.xlsx');
d(1,:)=[];
palabra='jkl';
b=d(strcmp(d(:,1),palabra),2);
if isempty(b)
%la palabra no está , aquí colocar la opción de 
%agregarla
else
    disp(b)
end



y te dejo el archivo adjunto con que hice la prueba
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
1
Comentar
sin imagen de perfil
Val: 66
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

USO DE DATOS DE EXCEL

Publicado por Deyner (28 intervenciones) el 05/11/2016 22:16:19
Gracias pro tomarte tu tiempo lo probaré :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
sin imagen de perfil
Val: 66
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

USO DE DATOS DE EXCEL

Publicado por Deyner (28 intervenciones) el 07/11/2016 07:42:25
Gracias amigo funciono perfectamente, aún falta pulir estos programas pero de algo estoy comenzando y gracias nuevamente lo adjunto por si le sirva a alguien más:

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
%Al inicio leer el archivo donde están guardadas las palabras
[~,texto]=xlsread('palabras_clave.xlsx');
texto(1,:)=[];
%Ingreso de la palabra para la búsqueda de su descripción
palabra=input('Ingrese la palabra a buscar: ','s');
descrip=texto(strcmp(texto(:,1),palabra),2);
%Si la celda donde debería estar su descripción está vacía dar opción a
%agregarla a la lista
if isempty(descrip)
    disp('El término buscado no se encuentra en la lista');
    disp('desea agregarla escribir (si) de otra forma (no)');
    opcion=input('Respuesta si/no: ','s');
    switch opcion
        case 'si'
            %Se pide como dato la palabra, descripción y ubicación de la
            %celda a guardar en la lista
            palabri=input('Nueva palabra para agregar a la lista: ','s');
            celdai=input('Ingrese la celda en donde guardarla: ','s');
            descripi=input('Colocar la traducción o descripción: ','s');
            celdaf=input('Ingrese la celda en donde guardarla: ','s');
            %Se modifica el archivo excel según lo que se agrega
            [estado1]=xlswrite('palabras_clave.xlsx',{palabri},'Hoja1',celdai);
            [estado2]=xlswrite('palabras_clave.xlsx',{descripi},'Hoja1',celdaf);
            %Bloque de error por si hubiera falla en la escritura o
            %modificación del archivo excel
            if estado1==0
                disp('El ingreso de la palabra ha fallado.')
            end
            if estado2==0
                disp('El ingreso de la palabra ha fallado.')
            end
        case 'no'
            disp('Gracias por usar el programa');
        otherwise
            disp('Respuesta no válida');
    end
%Si encontró llena la celda de descripción, mostrará la misma
else
    fprintf('El comando o función %s tiene la siguiente descripción:\n',palabra);
    disp(descrip);
end
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