Tabla y gráfica simultáneas en MATLAB

El siguiente código MATLAB coloca una tabla de valores en el lado izquierdo de la ventana y su gráfica correspondiente en el lado derecho:

 

f = figure('MenuBar','none');  % ventana principal
g = subplot(1,2,1);            % mitad izquierda de la ventana
h = subplot(1,2,2);            % mitad derecha de la ventana
u = get(g,'Units');            % guardar la posición...
p = get(g,'Position');         % ... de la mitad izquierda,...
delete(g)                      % ... luego eliminarla
% datos para tabular y graficar
k = 1:9;
X = power(k,2);
Y = power(k,3);
datos = [k',X',Y'];
% dibujar la tabla
nombres = {'k','X','Y'};
tabla = uitable('Parent',f,'Data',datos,'ColumnName',nombres,'Units',u,'Position',p);
% dibujar la gráfica
axes(h)
grafica = plot(k,X,k,Y);
legend('X(k)','Y(k)')

Por petición de JJ. Comenta cualquier problema. Saludos.

Categorías:Uncategorized

Centroide de una imagen

julio 12, 2011 2 comentarios

Con este código MATLAB podemos calcular el centroide de una imagen binaria o el “centro de masa” de una imagen en escala de grises:

function [R,C] = centroide(I)
% [REN,COL] = CENTROIDE(IMG)
%             Calcula el renglón y la columna
del centroide de IMG
%             —————————-
%             Ildeberto de los Santos Ruiz
%             idelossantos@ittg.edu.mx
%             —————————-
C = round((1:size(I,2))*sum(I,1)’/sum(I(:)));
R = round((1:size(I,1))*sum(I,2)/sum(I(:)));

Sólo deben guardar este código fuente en un archivo de texto .m y colocarlo en el path.

Categorías:Uncategorized

Curso de programación de microcontroladores PIC

septiembre 9, 2010 Deja un comentario

Echen un ojo a este curso de PICs de un “ché” argentino, les puede ser útil para entender los periféricos integrados al PIC (timers, adc, etc.):

PIC lesson in spanish

¿Aún te quedan algunas dudas después de este excelente tutorial?

Categorías:Uncategorized

Controlador de temperatura on-off con histéresis

septiembre 9, 2010 3 comentarios

Les dejo una versión minimalista (ejemplo “didáctico”) de este controlador programado en CCS PICC para un PIC18F4520, aunque se utilizan pocos pines del micro y se podría implementar incluso en un PIC12 de unos 8 pesos mexicanos (el PIC12F675, por ejemplo).

#include <18F4520.h>
#fuses HS, NOWDT, NOMCLR
#device adc = 10
#use delay(clock = 8MHz)

int16 t, rs, ri;

void main() {
setup_adc_ports(AN0_TO_AN2 | VSS_VREF);
setup_adc(ADC_CLOCK_INTERNAL);
while(TRUE) {
set_adc_channel(0);
delay_us(25);
rs = read_adc();
set_adc_channel(1);
delay_us(25);
ri = read_adc();
set_adc_channel(2);
delay_us(25);
t = read_adc();
if(t > rs) output_low(PIN_D0);
else if(t < ri) output_high(PIN_D0);
}
}

Únete a la celebración del bicentenario. ¡Viva México!

Categorías:Uncategorized

Nueva versión 1.5.0 de OpenModelica

La nueva versión de OpenModelica es más estable y compatible con Windows 7. La pueden descargar aquí.

¡Un saludo a todos!

Categorías:Uncategorized

Manual del compilador CCS PICC

Ya pueden descargar el manual actualizado del compilador CCS PICC (PCWHD) en http://www.ccsinfo.com/downloads/ccs_c_manual.pdf

Categorías:Uncategorized Etiquetas: , , ,