martes, 25 de agosto de 2009

Leer caracteres en un .txt en Matlab

Bueno es te es un pequeño codigo en matlab para el conteo de caracteres ASCII en un archivo .txt y espero les sirva, igual si alguien tiene una mejor forma o una nueva idea que lo comparta.
IPN Programando con Talento Mexicano

%programa para el conteo de caracteres de un archivo .txt
%Improve and enjoy it!!
clc;
k=1;
caracteres(k)=0;%matris para graficar
fid = fopen('El amor viene y va.txt');%abrir el archivo
cadena = fscanf(fid,'%c');%escanear el archivo y guardarlo en la matriz cadena
for i=32:255 %en 32 es espacio, 225 caracteres ascii
dat=char(i);%char convierte el numero ascii a caracter
total=length(strfind(cadena,dat));
%strfind busca un string en otro, formando una matris con la posicion donde
%fue encontrado, leghth calcula el tamaño de la matris
probabilidad=total/length(cadena);%probablidad #eventos/#totalEventos
if(total ~= 0)%sí el total a sido diferente se cero se mostrara
caracteres(k)=total;
fprintf('Caracter: \t%c se repitio:\t %d veces ',dat,total);
fprintf('con probabilidad\t %f \n',probabilidad);
k=k+1;
end
end
fprintf('Tama?o del texto de:%d caracteres',length(cadena));%tamaño total del txt
bar3(caracteres);%grafica de barras
%referencia
%http://www.mathworks.com/access/helpdesk/help/techdoc/index.html

viernes, 7 de agosto de 2009

Matrices y Vectores en Matlab

Matlab es un programa para calculo de matrices básicamente

Definición de una matriz 3x3

>> A=[1 2 3 ;4 5 6;7 8 9]

A =

1 2 3
4 5 6
7 8 9

>> B=[11 12 13 ;14 15 16;17 18 19]

B =

11 12 13
14 15 16
17 18 19

Declaración de una matriz transpuesta
>> A'

ans =

1 4 7
2 5 8
3 6 9

Declaracion

>> B' (DE CLARACION DE UNA MATRIZ B TRASPUESTA)

ans =

11 14 17
12 15 18
13 16 19

>>x=2.*A (MULTIPLICACION POR UN ESCALAR)

x =

2 4 6
8 10 12
14 16 18

>> Y=A*B (MULTIPLICACION DE A *B)

Y =

90 96 102
216 231 246
342 366 390

>> f=A.*B (MULTIPLICACION DE A *B PERO UNO A UNO)

f =

11 24 39
56 75 96
119 144 171

>> a=A(2,3) (ELEMENTO DE 2,3 DE LA MATRIS A)

a =

6

>> b=B(3,2) (ELEMENTO DE 3,2 DE LA MATIS B)

b =

18

>> c=A(1,:) ( TODOS LOS ELEMENTO DE LA LINEA 1 DE LA MATIS A)
c =

1 2 3

>> d=B(:,1) ( TODOS LOS ELEMENTO DE LA COLUMNA 1 DE LA MATIS B)

d =

11
14
17

>> A(2,3)=B(3,2) (EL ELEMENTO 3,2 DE LA MATRIZ A LO PASAMOS AL ELEMENTO 2,3 DE A)

A =

1 2 3
4 5 18
7 8 9

>> A(:,1)=B(:,1) (TODOS LOS ELEMENTO DE LA COLUMNA 1 DE LA MATIS B LOS PASAMOS ALA COLUMNA 1 DE LA MATRI A)


A =

11 2 3
14 5 6
17 8 9