Sie sind auf Seite 1von 4

%Matlab para geofisica Universidad de Pamplona septiembre 24 2014

%comandos basicos........................
% whos muestra todas las variables en uso
% help comando... mostrar respecto a comando
% home coloca cursor en laparte superior y limpia pantalla
% clear all borra todaslasvariables utilizadas hasta el momento
% figure abre una ventana de grafico
% para visualizar una variable o conocer sus valores siplemente se teclea
el
%nombre de la variable
% recuerde las mayusculas se diferencian de las minusculas
%.....................................................
%VECTORES Y MATRICES
% VECTORES 3D
%............................................
clear all
X=[1 3 7];%VECTOR X=(1,3,7)
Y=[2 4 0];
%operaciones entre X y Y
Z=X+Y;% SUMA
Z1=X-Y;%RESTA
W= 3*X;%PRODUCTO POR ESCALAR
P=X*Y'; %PRODUCTO ESCALAR NOTA : Y' SIGNIFICA TRANSPONER Y
% o tambien :
p=dot(X,Y) %da lo mismo
%para hallar el anguloentre losvectores X y Y
Nx=sqrt(X(1)^2+X(2)^2+X(3)^2); %magnitud de X
Ny= sqrt(Y(1)^2+Y(2)^2+Y(3)^2) %magnitud de Y
cose= P/(Nx*Ny);
angulo=acos(cose)% angulo cuyo coseno es cose en radianes
angulo1= angulo*180/pi; % angulo en grados entre los vectores
%producto vectorial...................................
T1=X(2)*Y(3)-X(3)*Y(2);% componente x del vector cruz X x Y
T2=X(3)*Y(1)-X(1)*Y(3);% componente y del vector cruz X x Y
T3=X(1)*Y(2)-X(2)*Y(1);% componente z del vector cruz X x Y
T=[T1 T2 T3];% el vector X x Y
% o tambien
T=cross(X,Y);
%doble producto vectorial
%X x (Y x Z)
T1=cross(Y,Z);
T2=cross(X,T1);% = X x(Y x Z)
%..................................................................
%producto escalar y vectorial combinados .......................
%con tres vectores A, B y C 3 D no coplanares se puede formar un
paralelepipedo
%cuyo volumen es A.(BxC)
%sean
A=[ 1 1 1]; B=[-2 5 4]; C=[1 3 6];
P= cross(B,C); % B x C
volumen = abs(dot(A,P));% A.(P)
% nota abs()es valor absoluto de ()

%000000000000000000000000000000000000000000000000000000000000000000000000
00
%graficos enmatlab ejemplos
clear all
x=0:0.1:2*pi; %puntos en el intervalo [0, 2pi]
ycero=zeros(length(x));% length(x) da la dimension o elnumero de
elementos del vector x
y1=sin(x);y2=cos(x);% se definen dos funciones
%y3=cos(x+pi/2);
plot(x,ycero,x,y1,x,y2);
title('Grafica de seno y coseno');
xlabel('X aqui puedeescribir la etiqueta del ejex');
ylabel('Y aqui puede escribir la etiqueta del eje y');

%.....................................................
clear all
figure
x=-1:0.01:1;
ycero=zeros(length(x));
y1=2*x;% y=2x
y2=x.^2; %y=x al cuadrado
y3=x.^3; % y= x al cubo
%etc etc
y4= y1+y2+y3; %y=2x + x al cuadrado + x al cubo
plot(x,ycero,x,y1,x,y2,x,y3,x,y4);
title('Grafica de tres polinomios y su suma ');
xlabel('X ');
ylabel('Y ');
%000000000000000000000000000000000000000000000000000000000000000000000000
0
% funciones de dos variables independientes
%Z= f(X,Z);
clear all
[X,Y] = meshgrid(-2:.5:2); %obtiene una malla enel plano XY
Z= sin(X)+cos(Y);
surf(X,Y,Z);
title('Grafico tridimensional');
xlabel('X ');
ylabel('Y ');
% o :
figure;
surf(X,Y,Z);colormap(gray);
title('Grafico tridimensional');
xlabel('X ');
ylabel('Y ');
figure
[C,h] = contour(X,Y,Z);% obtener curvas de nivel....
clabel(C,h);
title('Curvas de nivel');
xlabel('X ');
ylabel('Y ');
% hay otras instrucciones de grafico quese pueden explorar
% hay otra forma de visualizar y es con imagenes
X1= X(1,:);Y1=Y(1,:);%toma la primera fila de X y la primera fila de
Y
imagesc(X1,Y1,Z);
colorbar; % barra de colores indicando los valores de Z
title('Visualizacion por medio de imagenes');
xlabel('X ');
ylabel('Y ');
%....................................................................
%calculo diferencial
clear all
[x,y] = meshgrid(-1:.02:1, -1:.02:1);
z = sqrt(x.^2+y.^2);
surf(x,y,z);colormap(gray);
title('Grafico tridimensional');
xlabel('X ');
ylabel('Y ');
figure
[C,h] = contour(x,y,z);% obtener curvas de nivel....
clabel(C,h);%coloca losvalores para lasdiferentes curvas de nivel
title('Curvas de nivel');
xlabel('X ');
ylabel('Y ');
[x1,y1] = meshgrid(-1:0.1:1, -1:0.1:1);
z1 = sqrt(x1.^2+y1.^2);
[dzx,dzy] = gradient(z1);%obtiene dzx=dz/dx y dzy=dz/dy
quiver(x1,y1,dzx,dzy);% dibuja elcampo vectorial dado por elgradiente
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% matematicas simbolica..........................................
clear all
x=sym('x'); %defino a x como una variable simbolica
y=sin(x); % defino a y
dfdx= diff(y);%calcula simbolicamente laderivada de y respecto a x
d2dfdx =diff(y,2);%calcula la segunda derivada
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% parafunciones de mas de una variable z=f(x,y)
clear all
x=sym('x'); %defino a x como una variable simbolica
y=sym('y'); %defino a y como una variable simbolica
z=x*y; % z= xy
dzdx=diff(z,x);%calculo dz/dx
dzdy=diff(z,y);%calculo dz/dy
d2zdx=diff(z,x,2);%calculo d2z/dx2
d2zdy=diff(z,y,2);%calculo d2z/dy2
gradiente=[dzdx, dzdy];% gradiente de z
laplaciano= d2zdx+d2zdy;% calculo del laplaciano de z
%............................................................
clear all
%funciones de tres variables independientes
.................................
x=sym('x'); %defino a x como una variable simbolica
y=sym('y'); %defino a y como una variable simbolica
z=sym('z'); %defino a z como una variable simbolica
w=sqrt(x^2+y^2 + z^2);%campo escalar
dwdx=diff(w,x);%calculo dw/dx
dwdy=diff(w,y);%calculo dw/dy
d2wdx=diff(w,x,2);%calculo d2w/dx2
d2zdy=diff(w,y,2);%calculo d2w/dy2
dwdz=diff(w,z);%calculo dw/dz
d2wdz=diff(w,z,2);%calculo d2w/dz2
gradiente=[dwdx, dwdy, dwdz];% gradiente de z
laplaciano= d2wdx+d2wdy+d2wdz ;% calculo del laplaciano de z
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% calculo de la divergencia y rotacional
% de un campo vectorial
clear all
x=sym('x'); %defino a x como una variable simbolica
y=sym('y'); %defino a y como una variable simbolica
z=sym('z'); %defino a z como una variable simbolica
T= [x+y+z, x*y, z];
T1=T(1);T2=T(2); T3=T(3);
d1=diff(T1,x);
d2=diff(T2,y);
d3=diff(T3,z);
divergencia=d1+d2+d3;% divergencia de T
r1=diff(T2,z)-diff(T3,y);
r2=diff(T1,z)-diff(T3,x);
r3=diff(T1,y)-diff(T2,x);
rotacional = [r1 r2 r3];

Das könnte Ihnen auch gefallen