jueves, 29 de marzo de 2012

Procesamiento de audio con matlab

Procesamiento de audio con matlab.
Este es una aplicación para leer un audio, reproducirlo, pausarlo, continuar, parar  y grabar desde el micrófono, ademas podemos cambiar el volumen a nuestro gusto, o si deseamos solo cambiamos uno de los altavoces, esta hecho  con simulink.

José Jeremías Caballero
Servicios de Programación en MatLab
Lima - Perú
Para mayor informacion, contactarse a jjcc94@hotmail.com

el comando cd en Matlab

 ¿Para que sirve el comando cd de matlab?.
Respuesta: El comando cd sirve para cambiar de directorio y pwd sirve para ver en que directorio nos encontramos, y dir sirve para ver los archivos del directorio actual.
ejemplo:
>> pwd
ans =
C:\Users\jeremias\Desktop\MATLAB
>> dir
.                      IMAGENES               subir_bajar_volumen.m 
..                     pol10.m               
>> cd('IMAGENES')
>> pwd
ans =
C:\Users\jeremias\Desktop\MATLAB\IMAGENES
>> dir
.               Imagen0972.jpg  Imagen4911.jpg  bg_7993835.jpg  pout.tif       
..              Imagen3981.JPG  Imagen4940.jpg  caballero.jpg  
>> cd ..
>> pwd
ans =
C:\Users\jeremias\Desktop\MATLAB
José Jeremías Caballero
Servicios de Programación en MatLab
Lima - Perú
Para mayor informacion, contactarse a jjcc94@hotmail.com
http://www.matlabcaballero.blogspot.com/
 

miércoles, 28 de marzo de 2012

Uso de Legend en un bucle

Quiero hacer código sencillo que me vaya creando un plot con una serie de puntos a través de un bucle. Quiero que cada vez que mi bucle avance una iteración se vaya 'adicionando' a la leyenda los puntos que va representado en la figura, de manera que cuando haya recorrido todo el bucle tenga en este caso una  leyenda compuesta por n elementos de los datos leídos. (Siendo A una matriz alfa numérica, donde la primera fila es una cadena y los demás filas son números, y A.data es una matriz numérica) ¿Hay algún comando tipo hold on para las gráficas que haga que mi leyenda vaya adicionando líneas?
function caracteristicas_aleatorias1
close all
A=importdata('caracteristicas_aleatorias.txt');
filas=size(A.data,1);
figure(1)
marcadores='+o*.xsd^v><ph';
estilo ={'-','--',':','-.'};
color='rgbcmyk';
axis([min(A.data(:,1))-0.2 max(A.data(:,1))+0.2 min(A.data(:,2)) max(A.data(:,2))])
hold on
for i=1:filas
   pos_marcadores=round(1+(length(marcadores)-1)*rand);
   pos_estilo=round(1+(length(estilo)-1)*rand);
   pos_color=round(1+(length(color)-1)*rand); 
   plot(A.data(i,1),A.data(i,2),[cell2mat(estilo(pos_estilo)) marcadores(pos_marcadores)...
   color(pos_color)],'linewidth',2)
   a{i}=['(',num2str(A.data(i,1)),' , ', num2str(A.data(i,2)),')'];
   set(legend(a),'Location','Northeast')
   pause(1)
end
hold off

EJECUCION
>> caracteristicas_aleatorias1
data =
    0.8869    0.6026
    0.9050    0.1843
    0.4984    0.1975
    0.5292    0.8620
    0.9097    0.1256
    0.5786    0.6456
    0.7758    0.4373
    0.6614    0.6126
    0.4697    0.7375
    0.2198    0.3033

José Jeremías Caballero
Servicios de Programación en MatLab
Lima - Perú
Para mayor informacion, contactarse a jjcc94@hotmail.com
http://www.matlabcaballero.blogspot.com/
 

domingo, 25 de marzo de 2012

Matlab me da una respuesta muy larga usando numeros complejos

http://www.lawebdelprogramador.com/foros/Matlab/1320558-Matlab_me_da_una_respuesta_muy_larga_usando_numeros_complejos.html
clear all;
format short
eqn1='4=(V1/8)+((V1-V2)/(2-1*j*4))+((V1-V3)/(1*j*10))';
eqn2='0=(V2/(1*j*6))+((V2-V1)/(2-1*j*4))+((V2-V3)/1)';
eqn3='-2=(V3/(-1*j*2))+((V3-V2)/1)+((V3-V1)/(1*j*10))';
answer=solve (eqn1,eqn2,eqn3,'V1','V2','V3');
V1=vpa (sym (answer. V1)), V2=vpa (sym (answer. V2)), V3=vpa (sym (answer.
V3))
 
%Respuesta de Matlab
 
V1 =(8.0*j*(- 98.0*j^2 + 43.0*j + 9.0))/(- 29.0*j^3 + 33.0*j^2 + 20.0*j + 2.0)
V2 =-(12.0*j^2*(10.0*j^2 + 7.0*j - 14.0))/(- 29.0*j^3 + 33.0*j^2 + 20.0*j + 2.0)
V3 =-(2.0*j*(60.0*j^3 + 37.0*j^2 + 3.0*j + 4.0))/(- 29.0*j^3 + 33.0*j^2 + 20.0*j + 2.0)

% Yo quiero una respuesta tipo: A= a+bi

V1 =
15.6478 - 2.8792i
 
V2 =
3.8798 + 3.4230i
 

  V3 =
2.0131 + 1.0529i
SOLUCION EN MATLAB
clear all;
eqn1='4=(V1/8)+((V1-V2)/(2-1*j*4))+((V1-V3)/(1*j*10))';
eqn2='0=(V2/(1*j*6))+((V2-V1)/(2-1*j*4))+((V2-V3)/1)';
eqn3='-2=(V3/(-1*j*2))+((V3-V2)/1)+((V3-V1)/(1*j*10));'
[v1 v2 v3]=solve (eqn1,eqn2,eqn3,'V1','V2','V3')
V1=str2num(char(v1))
V2=str2num(char(v2))
V3=str2num(char(v3))
Ejecucion
>> dsolvecaballero
V1 =
  15.6478 - 2.8792i

V2 =
   3.8798 + 3.4230i
V3 =
   2.0131 + 1.0529i
José Jeremías Caballero
Servicios de Programación en MatLab
Lima - Perú
Para mayor informacion, contactarse a jjcc94@hotmail.com

 

Reconocimiento de Rostro en Matlab

Aca le presento, un nuevo aplicación de Matlab. La cual es el reconocimiento de Rostro.
José Jeremías Caballero
Servicios de Programación en MatLab
Lima - Perú
Para mayor informacion, contactarse a jjcc94@hotmail.com

 

jueves, 22 de marzo de 2012

Abriendo Librerias en Matlab Interface

http://www.lawebdelprogramador.com/foros/Matlab/1319469-Problema_union_dos_direcciones.html


 Hola, estoy haciendo una GUI y me he encontrado con el siguiente problema. Tengo una carpeta que tiene dos archivos con datos (radiobutton1 y radiobutton2). En lugar de poner directamente la dirección de esos archivos lo que hago es primero preguntar en dónde se encuentra esa carpeta y guardar esa dirección.
 

José Jeremías Caballero
Servicios de Programación en MatLab
Lima - Perú
Para mayor informacion, contactarse a jjcc94@hotmail.com

martes, 20 de marzo de 2012

Creacion de Toolbar en Matlab Guide


Colocar imagenes o iconos en los menus de las GUIDE de matlab en vez del nombre,
iconos tales como el disquette de guardar, la lupa + ,la lupa -, La mano de arratres, etc.

José Jeremías Caballero
Servicios de Programación en MatLab
Lima - Perú
Para mayor informacion, contactarse a   jjcc94@hotmail.com


Programación y algoritmos: asesorías, servicios, revision, creación y cursos

Asesorías, servicios, revisión, creación y cursos    modalidad online Servicios ofrecidos Asesoría Online Personalizada en MATLAB y...