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/