20 de junio de 2011

Ejemplos Básicos Matlab

Ejemplos basicos en Matlab:

% 1. Cálculos sencillos
var=23.45 + 1.67*sqrt(32.74) / (1 + exp(-2));


% 2. Cálculo de area y volumen de la esfera
r = 17.4;
area = 4*pi*r^2;
volumen = 4/3*pi*r^3


% 3 Hacer una pequeña tabla y plotear la curva
x = 0:6;
y = sin(pi*x/6);
plot(x,y)


% 4 Dibujar dos parábolas
x = -10:10;
y = x.*x - 100;
f1 = 0.2*y;
f2 = 0.5*y;
plot(x,f1,x,f2),
title('Dos Parabolas')


% 5 Escribir vectores usando operaciones elemento a elemento
x = [0.1 0.6 log(3) sqrt(2) 3*pi/4];
f=7*x.*exp(-x);
g=x.^2+f./x;
plot(x,f,'o',x,f,x,g)
resultado = [x' f' g'] % Tabula el resultado en tres columnas


% 6 Una espiral dada en forma parametrica
t = 0:0.2:30;
x = t.*cos(t);
z = t.*sin(t);
plot(x,z);
title('Espiral')



% 7 Otras funciones MATLAB útiles
y = rand(1,10),
plot(1:length(y),y,'x') % 7 valores al azar entre 0 y 1

ymax = max(y) % Maximo de las componentes de y
s = sum(y) % Suma de componentes
y = round(100*y) % Ahora y es un vector de enteros entre 0 y 100
z = sort(y) % Ordena el vector en forma creciente
zz=fliplr(z) % Da vuelta el vector (flipud lo da vuelta en vertical)


% 8 Estrellas : se plotean 100 estrellas y 400 puntos al azar
xs = rand(1,100);
ys = rand(1,100);
xd = rand(1,400);
yd = rand(1,400);
plot(xs,ys,'*',xd,yd,'.');
title('Estrellas en el cielo')
clear % Vacía todas las variables



% 9 Circulo : Dibujar un circulo
xc=3;
yc=-3;
r=6.5; % Centro y radio
n = 50;
k=0:n;
fi=2*pi*k/n;
x=xc+r*cos(fi);
y = yc+r*sin(fi);
plot(xc,yc,'x',x,y);
axis([-5 10 -10 6]),
axis equal;
grid on



% 10 Serie, ejemplo con loop while
% Calculo de la suma de 1 - 1/4 + 1/9 - 1/16 + 1/25 - 1/36 + .....
s=0;k=1; term=1; p=1;

while abs(term)>1e-5
s=s + term;
k= k + 1
p= -p;
term= p / k^2 ;
end

nterm = k;
sum = s;
sumexacta=pi^2/12
diff=sum-sumexacta


% 11 Una sucesión numérica clásica
% Tome un entero.
% Si es par se divide entre 2,
% Si es impar se multiplica por 3 y se suma uno y se repite

n= input('Un entero, por favor : ') ; % Tratar por ejemplo n = 7 , n= 107

while n > 1
if rem(n,2)==0,
n = n/2,
else
n = 3*n+1,
end
end


% 12 Como el anterior pero con vectores y ploteo del resultado
n= input('Un entero, por favor : ') ; % Tratar por ejemplo n = 7 , n= 107
nt = n;

while n > 1
if rem(n,2)==0
n = n/2
else
n = 3*n+1
end
nt=[nt,n];
end

nt;
plot(nt)


% 13 Un sistema de ecuaciones lineales
A = [ 2 2 3 -1
0 3 1 2
4 -2 3 -2
1 1 -2 -3];

b = [5 8 4 12]';
x= A\b; % La solución de Ax = b
bc = A*x; % Chequeo de la solución



% 13 Cuadrado mágico
n=input('n= ');
A = magic(n);
colsum = sum(A);
filasum = sum(A');
diagsum = sum(diag(A));
% Para chequear la otra diagonal damos vuelta la matriz
Aud = flipud(A);
diagsum2 = sum(diag(Aud));
mesh(A) % 3-D plot de la matriz


% 14 Plot tridimensional
xv=-6:6;
yv=-5:7;
[x,y]=meshgrid(xv,yv);
z=x.*exp(-0.1*(x.^2+y.^2));
mesh(z);

figure % Crea otra figura para la nueva grafica
contour(x,y,z,10)

Ejemplos proporcionados por Dave Correa

Consulta e información:
Dave Correa

correa.dave30@gmail.com
http://fismatlab.blogspot.com/

18 de junio de 2011

Services, advice and help in Matlab programming

Development projects and work on issues of science and engineering (mechanical, hydraulic systems, civil, industrial, environmental, chemical, electrical, electronics, physics, mathematics, statistics, ...) using programming software and graphical Matlab.

I teach courses, seminars, training workshops and classroom programming and graphic display on Matlab, mainly oriented to signal and image processing, numerical methods, statistics and general data processing, development and automation of processes and systems through the implementation of Matlab functions script, GUI and  executable.

It provides advice and assistance in developing all kinds of university-level scientific technical and physical sciences, engineering, statistics and mathematics with Matlab.

The cost of the services are negotiable, 50% at start and 50% to finish the job.

To contract and information:

E-mail: correa.dave30 @ gmail.com
http://fismatlab.blogspot.com/