Matlab - Contador de palabras

   
Vista:

Contador de palabras

Publicado por Samuel mamer_tote@live.com (4 intervenciones) el 10/03/2016 01:20:53
Como puedo hacer un programa para comprar 2 textos y que me diga cuantas palabras se repiten y que además me diga que tanto % se parecen los textos
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 JOSE JEREMIAS CABALLERO

Contador de palabras

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3440 intervenciones) el 10/03/2016 14:01:19
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
clear all
clc
s1=['Selecciona SI, si deseas recibir notificación de', ...
'respuesta de cualquier mensaje de este hilo a través', ...
'de correo electrónico. En cualquier momento podrás',...
  'cancelar la recepción de estos mensajes']
 
s2=['Selecciona SI, si deseas recibir notificación de', ...
'respuesta de cualquier mensaje de este hilo a través', ...
'de correos electrónico. Enn cualquier momentos podrás',...
  'cancelar la recepción de estos mensajes']
Espacios1=strfind(s1,' ');
k=1;
for i=1:length(Espacios1)
    palabras1{i}=s1(k:Espacios1(i)-1);
    k=Espacios1(i)+1;
end
 
    Espacios2=strfind(s2,' ');
k=1;
for i=1:length(Espacios2)
    palabras2{i}=s2(k:Espacios2(i)-1);
    k=Espacios2(i)+1;
end
diferentes=0;
for i=1:length(Espacios1)
    if ~strcmp(palabras1{i},palabras2{i})
        diferentes=diferentes+1;
    end
end
 if diferentes==0
     disp('los textos son iguales')
 else
     disp('los textos son desiguales'),
     disp(['Hay ',num2str(diferentes),' palabras diferentes']);
 end

1
2
3
4
5
6
7
8
9
10
11
12
13
>> comparar_textos
 
s1 =
 
Selecciona SI, si deseas recibir notificación derespuesta de cualquier mensaje de este hilo a travésde correo electrónico. En cualquier momento podráscancelar la recepción de estos mensajes
 
 
s2 =
 
Selecciona SI, si deseas recibir notificación derespuesta de cualquier mensaje de este hilo a travésde correos electrónico. Enn cualquier momentos podráscancelar la recepción de estos mensajes
 
los textos son desiguales
Hay 3 palabras diferentes

Aca un avance, lo puedes terminar el programa, agregando todo los demás datos que necesitas.

Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online y Presencial en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com
El correo es para servicios de 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

Contador de palabras

Publicado por Samuel (4 intervenciones) el 11/03/2016 02:16:02
Gracias es muy bueno el programa pero no especifique que era para 2 archivos txt
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

Contador de palabras

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3440 intervenciones) el 11/03/2016 02:21:16
Este es un foro de ayuda, y ayudamos en lo que podemos. El usuario debe aportar parte de solución.
saludos.
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

Contador de palabras

Publicado por Samuel (4 intervenciones) el 11/03/2016 02:28:02
Si de echo le envíe uno con lo que llevaba corre bien hasta que le ponga un texto que tenga más palabras que el otro y no se como hacerle para introducir 2 textos que no tengan la misma cantidad de líneas ni palabras y que corra el programa
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

Contador de palabras

Publicado por Samuel (4 intervenciones) el 11/03/2016 02:36:00
esto es lo que tengo:

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
fileID = fopen('datos.txt');
fileID2 = fopen('datosb.txt');
A = textscan(fileID,'%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s ');
%A=textread('datos.txt', '%s');
%A=cellstr(A);
%A=char(A);
B = textscan(fileID2,'%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s');
%B=textread('datosb.txt','%s');
%B=cellstr(B);
%B=char(B);
fclose(fileID);
fclose(fileID2);
%celldisp(C)
 
n=numel(A);%length
m=numel(B);%length
 
k=0;
p=m+n;
for i=1:m
 for j=1:n
 
     if strcmp(A{i},B{j})==true
 
 
        % if A(i)==B(j) 
 
k=k+1;
C(k)=A(i);
  end
end
end
porcentaje=(100/p)*k;
C=C';
celldisp(C)
k
fprintf('%i porciento\n',porcentaje)
 
%fid=fopen('repetidos.txt','w');
%fprintf(fid,'%s', C);
%fclose(fid);
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