Chinuxsoft

jueves, 5 de noviembre de 2009

Fracmentos de códigos en Matlab

Hola amigos, disculpen, no he tenido tiempo para actulizar mi Blog, en esta ocasión les traigo algunos códigos para empesar a programar en Matlab, para los que no conocen, voy a definir sobre este lenguaje de programación para uso cientifíco, espero que la disfruten.

The MATLAB and Simulink product families are fundamental computational tools at the world's educational institutions. Adopted by more than 3500 universities and colleges, MathWorks products accelerate the pace of learning, teaching, and research in engineering and science. MathWorks products also help prepare students for careers in industry, where the tools are widely used for research and development. más información, http://www.mathworks.com/

Para mejor la defición un poco de información en Español..

MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es un software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows y Apple Mac OS X.

Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets).

Es un software muy usado en universidades y centros de investigación y desarrollo. En los últimos años ha aumentado el número de prestaciones, como la de programar directamente procesadores digitales de señal o crear código VHDL.

Tipos de secuencia

Este código que presento, es funcional son tipos de secuencias que se declaran para utiilzar al programar.

function [x,n]= impseq (n0,n1,n2)

n=[n1:n2]; x= [(n-n0)== 0];

function [x,n]= stepseq (n0,n1,n2)

n = [n1:n2]; x=[(n-n0) >= 0];

function [y,n]= sigadd (x1, n1, x2, n2)

n = min(min (n1), min(n2)): max(max(n1); max(2));

y1= zeros (1,length(n));y2=y1;

y1(find ((n>=min(n1))& (n<=max(n1))== 1)=x1;

y2(find ((n>=min(n2))& (n<=max(n2))==1)=x2;

y=y1+y2;

function [y,n]= sigmult(x1, n1, x2, n2)

n = min(min (n1), min(n2)): max(max(n1); max(2));

y1= zeros (1,length(n));y2=y1;

y1(find ((n>=min(n1))& (n<=max(n1))== 1)=x1;

y2(find ((n>=min(n2))& (n<=max(n2))==1)=x2;

y=y1.* y2;

function [y,n]= sigshif(x, m,n0)

n = m+n0; y=x;

function [y,n]= sigfold(x,n)

n = fliplr(x); n= - fliplrm(n);

Hecho estas secuencias, ahora presentamos algunos ejemplos, dentro de las secuencias de nuestra aplicación.

Nuestra ecución se plantea de la siguiente manera

x(n)=2&(n+2)-&(n-4), -5<-n<-5.

Soluci[on

n=[-5:5];
x = 2*impseq (-2,-5,5)-impseq(4,-5,5);
stem (n,x); title ('Sequence in problem 2.1a')
xlabel ('n'); ylabel('x(n)');