sábado, 25 de mayo de 2013

Matlab For Genius (introduccion a Matlab 8)


El objetivo de estas publicaciones es hacer una introducción lo mas siempre posible al uso de Matlab 8. Tratando de explicarlo lo mas simple posible, "con peras y manzanas", "por las piedritas". Ya que muchas  ocasiones en nuestras propias universidades  es necesario aprender muchas cosas antes de  empezar a hacer nada en matlab. Por lo que en estos pequeños post iremos a la parte practica y si es necesario conocer algún concepto lo explicaremos en el trayecto, así que empezamos.


Creación de arrays


>> %creando un vector
>> a = [1,3,5,6]

a =

     1     3     5     6

>> %creando una matris
>> b = [1,2,3;4,5,6;7,9,10]

b =

     1     2     3
     4     5     6
     7     9    10

Operaciones basicas  de arrays

>> %multiplicando un vector a por un escalar m
>> m = 0.5

m =

    0.5000

>> ma = a*m

ma =

    0.5000    1.5000    2.5000    3.0000

>> %multiplicando una matris por un escalar
>> mb = b*m

mb =

    0.5000    1.0000    1.5000
    2.0000    2.5000    3.0000
    3.5000    4.5000    5.0000

>> %tambien podemos hacer operaciones entre estas
>> %obteniendo el seno del vector 1
>> sena=sin(a)

sena =

    0.8415    0.1411   -0.9589   -0.2794
recordando un poco de calculo vectorial
>> binversa = inv(b)

binversa =

   -1.3333    2.3333   -1.0000
    0.6667   -3.6667    2.0000
    0.3333    1.6667   -1.0000

>> %para optener la matris identidad
>> bindentidad = b*binversa

bindentidad =

    1.0000         0    0.0000
    0.0000    1.0000         0
    0.0000   -0.0000    1.0000

sábado, 18 de mayo de 2013

Animacion de un pendulo en MAtlab



Código Fuente.


freqs  = 5:15;
num = numel(freqs);
lengths = 1./sqrt(freqs);
piover6 = pi/6;

figure
axis([-0.3 0.3 -0.5 0]);
axis off;
org=zeros(size(freqs));
xpos=zeros(size(freqs));
ypos=zeros(size(freqs));
pendula =  line([org;org],[org;org],'LineWidth',1,'Marker','.','MarkerSize',25 ...
                ,'Color',[0 0 0],'visible','off' );


vidObj = VideoWriter('pendula_wave.avi');
open(vidObj);

count =0;
for t=0:0.001:1
    count=count+1;
omegas = 2*pi*freqs*t;
xpos = sin(piover6*cos(omegas)).*lengths;
ypos = -cos(piover6*cos(omegas)).*lengths;

 for i=1:num
 set(pendula(i),'visible','on');
 set(pendula(i),'XData',[0 xpos(i)]);
 set(pendula(i),'YData',[0 ypos(i)]);
 drawnow
 end
 currFrame = getframe;
 writeVideo(vidObj,currFrame)

 F(i) = getframe;
end

close(vidObj);

martes, 30 de abril de 2013

Shape Context Based Corresponding Point Models

El Ejemplo 2D creará un modelo de punto correspondiente (PCM) para un conjunto de 10 contorno de la mano 2D.

El Ejemplo 3D creará un PCM de un conjunto de mandíbula 10 3D superficies trianguladas.

También hay ejemplos utilizando el PCM de entrenar y utilizar modelos 2D/3D forma activa (ASM) y modelos de apariencia activa (AAM). (carpeta "ActiveModels_version7")

El ejemplo 2D toma un par de minutos. El 3D-ejemplo alrededor de 7 horas, y requiere 64 bits Matlab.

La asignación no rígida entre conjuntos de datos se mantiene difeomorfa para evitar doblar la malla. Sin embargo, el optimizador no tuvo éxito en todos los casos de la 3D-ejemplo (tal vez en la próxima actualización)



DESCARGAR 



jueves, 25 de abril de 2013

Aplicacion de Matlab a la Economia


En este ejemplo se pondrá de relieve cómo MATLAB se puede utilizar para llevar a cabo:

Análisis de distribución de valor actual neto de una mina

Modelización y simulación de los precios futuros de tasas de interés y rutas

Las evaluaciones de riesgo basadas en la distribución de los resultados económicos




lunes, 22 de abril de 2013

interpolación ecuación cuadrática, en Matlab

Determinar coeficientes de una ecuación de interpolación cuadrática al tener 3 valores de x, y.

se supone que tiene una ecuación cuadrática y = ax ^ 2 + bx + c y tienen 3 puntos en x y 3 puntos en y. Este script determina a, b​​, c