0% encontró este documento útil (0 votos)
21 vistas19 páginas

Practicas

PRACTICA LAB GEO CAMPOS

Cargado por

alejo109035
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas19 páginas

Practicas

PRACTICA LAB GEO CAMPOS

Cargado por

alejo109035
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

Título: Introducción a matlab

Objetivos 1 (grado): Objetivos 2 (matlab):


- Conocer las coordenadas polares de - Aprender nociones básicas de ”matlab”
un vector en 2D - Aprender a realizar gráficas en 2D con “
- Saber proyectar un vector en una matlab”
dirección determinada - Conocer los operadores relacionales y
lógicos
- Utilizar las herramientas de matlab “dot”
para realizar el producto escalar entre
dos vectores
Desarrollo:

Práctica 1.1. En esta primera práctica se introducirán algunos conceptos básicos del
lenguaje de “matlab”. Abra el editor de MATLAB, para ello haga clic con el ratón
izquierdo en File/New/M-File y salve el archivo en blanco como primer_programa.m o
bien escriba en la consola primer_programa.m y presione ENTER. Se abrirá un editor de
textos en el que debe de copiar las líneas, que no están en verde (las líneas iniciadas con
“%” son reconocidas por matlab como un comentario y no se ejecutan).

%Borro las variables del Workspace


clear all;
%creo una variable que se utilizará como condición en una instrucción if
i=1;
%creo una variable que se utilizará como condición en una instrucción
%switch
c=0;
%%%%%%%%% MATRICES %%%%%%%%%%%%%%%%%%%%

%Genero una matriz 2x2


A=[1 2;2 1];
%Creo la inversa de la matriz anterior
B=inv(A);
%Multiplico las matrices A y B
C=A*B;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%% REPRESENTACION GRÁFICA %%%%%%%%%%%%%%%%

%creo un vector de 100 elementos entre 0 y 100


x=linspace(0,100,101);
%Normalizo el vector
x=x*2*pi/100;

%Creo una sentencia condicional para obtener una funcion y(x)


if i==0
y=sin(x);
else
y=2*x;
end

%Creo una sentencia condicional para realizar un plot


switch c
case 0
plot(x,y)
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Imprimo en la pantalla 'Mi primer programa'


disp('Mi primer programa')

Ejecute el script bien introduciendo en consola el nombre del archivo (sin la extensión
.m) o bien desde el editor presione con botón izquierdo del ratón el botón Run .
a) Intente reconocer y entender las diferentes líneas del programa
b) Analice los valores que aparecen en el “workspace” para las matrices A, B y C.
Para ello calcule manualmente la matriz B (A-1) y la matriz C (A*B).
c) Analice los valores que aparecen en el “workspace” para el vector x.
d) En la segunda línea del programa modificar el valor de i, por i=0. Ejecutar de
nuevo el programa y observar qué ocurre.
e) En la tercera línea del programa modificar el valor de c, por i=1. Ejecutar de
nuevo el programa y observar qué ocurre.

Práctica 1.2. Ejecute el script primer_programa y acto seguido salve el contenido de las
variables creadas por el script en un archivo que se llame datos.mat. Para ello realice
utilice los siguientes comandos:

>> primer_programa
>> save datos.mat
>> whos
>> clear
>> whos
>> load datos.mat
>> whos

Comentar los efectos de los comandos “clear”, “save”, “load” y “whos”

Práctica 1.3. Crear una función (raiz .m) que calcule las raíces de una ecuación de
segundo grado del tipo ax2+bx+c=0. El resultado será el siguiente:
a) Si a = 0 y b=0 el programa imprimirá en la pantalla: ‘la ecuación es
degenerada’
b) Si a = 0 y 𝑏 ≠ 0: 𝑥 = −𝑐/𝑏
−𝑏±√𝑏2 −4𝑎𝑐
c) Si 𝑎 ≠ 0 y 𝑏 ≠ 0: 𝑥 =
2𝑎
Para realizar esta práctica abra el editor de MATLAB y salve el archivo en blanco como
raiz.m. A continuación introduzca el siguiente código (sin las líneas en verde).

%Primero creo una función denominada raíz, con tres argumentos (a,b,c)
%el resultado se almacenará en el vector x
function x=raiz(a,b,c)

%%%%%%%%%% Comienza el bloque if %%%%%%%%%%

%aparece el operador relacional == (igual) y el operador lógico & (y)


if (a==0) & (b==0)
disp('la ecuación es degenerada')
x=[];
%aparece el operador relacional ne (no igual)
else if (a==0) & ne(b,0)
x=-c/b;
else
disc=sqrt(b^2-4*a*c);
x1=(-b+disc)/(2*a);
x2=(-b-disc)/(2*a);
x=[x1,x2];
end

%%%%%%%%%% Termina el bloque if %%%%%%%%%%

end
%%%%%%%%%% Termina el programa %%%%%%%%%%

Antes de seguir adelante es necesario analizar la estructura del programa. En primer lugar
necesitamos conocer dos operadores relacionales igual ‘==’ y no igual ‘ne(A,B)’, así
como el operador lógico “y” que es ‘&’.
Por otro lado es importante darse cuenta de la estructura del bloque if que es de la forma:
if (condición 1)
Sentencias 1
else if (condicion2)
sentencias 2
else (condición3)
sentencias 3
end
end

a) Ejecutar x1=raíz(1,5,4); x2=raíz(1,0,-4); x3=raíz(1,4,0); x4=raíz(0,0,4);


x5=raíz(1,1,1) y comentar los resultados. Anotar los resultados en una hoja aparte

Ejemplos a desarrollar por el alumno:


1) Crear una función que permita calcular las coordenadas polares de un vector, si
éste está dado en cartesianas. El programa dará un vector con las coordenadas r y
θ. Este mismo programa dará las coordenadas cartesianas de un vector, si se dan
las coordenadas polares. Nota: utilizar el comando “switch” para dar las dos
opciones. Con el programa creado pasar de coordenadas cartesianas a polares el
vector: V=(5,40). Asimismo pasar de polares a cartesianas el vector U=(3, 50º).
2) Crear una función que permita calcular el producto escalar entre dos vectores, así
como el ángulo formado entre dos vectores. El programa dará un vector cuya
primera componente será el producto escalar y cuya segunda componente será el
ángulo. Nota: MATLAB proporciona una función de producto escalar, “dot ()”,
para realizar automáticamente los cálculos requeridos donde en el argumento de la
función dot se deben escribir los dos vectores en componentes. Por ejemplo, si
tiene dos vectores escritos en forma de matriz, tales como A = (1, 2, 3) y B = (-1, -
2, -1). El resultado de dot(A,B) es -8. Con el programa creado calcular el producto
escalar y el ángulo formado entre los vectores: A=(5,7,10) y B(1,4,6).
3) Con el programa creado anteriormente hallad la proyección del vector A=(1,-5,12)
en la dirección del vector B=(3,-5,-5).
Apéndice:
Figuras generadas en el primer script
a) i=1

14

12

10

0
0 1 2 3 4 5 6 7

b) i= 0

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7
Título: Introducción II
Objetivos 1 (grado): Objetivos 2 (matlab):
- Representación de vectores y matrices - Aprender a realizar gráficas en 2D con “
matlab”
- Sentencias condicionales y bucles
- Operaciones con matrices

Desarrollo:

Práctica 2.1. Defina un vector denominado V1 que contenga valores comprendidos entre
0 y 1 con longitud igual a 10 elementos. ¿Qué opción escogería? Y si en lugar de fijar el
número de elementos queremos fijar el espaciado entre valores a 0.125. ¿Qué opción es la
más aconsejable?

Práctica 2.2. Escriba los siguientes comandos:

x = linspace(.1 * pi, pi, 10)


y = sin(x)
y(3)
y(1:5)
y(3:-1:1)
y([8 2 9 11])

Práctica 2.3. Escriba los siguientes comandos:

a = 1:5, b = 1:2:9
c = [b a]
a-2
a.*b

Práctica 2.4. Escriba los siguientes comandos. ¿Qué diferencia hay al definir los vectores
X de estas dos formas? ¿Qué puede entender del segundo y tercer comando ejecutado?

A = [1 2 3; 4 5 6; -1 7 9]
A(2, 3)
A(6)
X = [3 2 1]’
X = [3; 2; 1]

Práctica 2.5. Escriba los siguientes comandos. ¿Qué diferencias existen entre los dos
primeros comandos?
A = A^2
A.^2

Práctica 2.6. Relacionado con las funciones de graficación ejecute las siguientes
instrucciones:
x = linspace(0, 2*pi, 100); x = linspace(0, 2*pi, 100);
y = sin(x); y = sin(x);
plot(x, y); z = cos(x);
z = cos(x); a = 2 * sin(x).* cos(x);
plot(x, y , x, z); b = sin(x)./(cos(x) + eps);
subplot(2, 2, 1)
W = [y; z]; plot(x, y), axis([0 2*pi -1 1])
plot(x, W) subplot(2, 2, 2)
plot(W, x) plot(x, z), axis([0 2*pi -1 1])
plot(x, y,'g:', x, z, 'r--', x, y, 'wo', x, z, 'c+') subplot(2, 2, 3)
plot(x, a), axis([0 2*pi -1 1])
plot(x, y, x, z) subplot(2, 2, 4)
grid plot(x, b), axis([0 2*pi -1 1])
xlabel('Variable Independiente X')
ylabel('Variables dependientes Y y Z')
title('Curvas de seno y coseno')
text(2.5,0.7,'sin(x)')
gtext('cos(x)')
x = -2.9:0.2:2.9;
t = 0:.1:2*pi; y = exp(-x.*x);
r = (1 + 0.1*cos(5*t)); bar(x, y)
polar(t, r) title('Gráfico de barras de una función
title('Grafico polar') gaussiana')

Práctica 2.7. Relacionado con los bucles y los saltos condicionales ejecute las siguientes
instrucciones:
for n = -2:5 a = 1e9
if n < 0 n=0
parity = 0 ; while 2^n <= a
elseif rem(n,2) == 0 n=n+1;
parity = 2 ; end
else n
parity = 1 ;
end
disp([n parity])
end

i=1 try
while i <20 A=[12;34]
i=i+1 B=[23;35]
end if A == B
disp('A y B son iguales')
else
disp('A y B no son iguales')
end
A=[12;34;56]
B=[23;35]
if A == B
disp('A y B son iguales')
else
disp('A y B no son iguales')
end

catch
disp('Ha ocurrido un error')
end
Título: Cambios de base con matlab
Objetivos 1 (grado): Objetivos 2 (matlab):
- Aprender a realizar operaciones con - Aprender a manejar matrices en matlab
vectores.
- Realizar cambios de base con matlab

Desarrollo:
Cambios de base

Práctica 3.1
Sea una base B’ dada por los vectores v1 = (1,2,0), v2 = (0,2,0), v3 = (2,0,1) referidos a la
base canónica, que denotaremos, B, de R3.
a) Comprobar que es una base del espacio vectorial. Hacer los cálculos aparte.
b) Calcula la matriz de cambio de base B->B’
c) Calcula la matriz de cambio de base de B’->B. Hacer los cálculos aparte.
d) Comprobar que los vectores de la base canónica se pueden expresar como
combinación lineal de la base B’, precisamente con los coeficientes dados por la
matriz B’
e) Calcula las coordenadas del vector (2,3,5) en la nueva base utilizando el método
matricial
f) Comprueba que efectivamente el vector (2,3,5) se pueden expresar como
combinación lineal de la base B’, precisamente con los coeficientes obtenidos en
el apartado anterior.

Script en matlab:
a) Comprobar que es una base del espacio vectorial

% Definir los vectores. Escribe en matlab el siguiente comando


>> v1 = [1 2 0];
v2 = [0 2 0];
v3 = [2 0 1];

% Comprobar que es una base del espacio vectorial. El determinante de


la matriz formada por los vectores, A, debe ser distinto de cero. El
rango de A debe ser 3.

>> A=[v1;v2;v3]
>> det(A)
>> rank(A)

b) Calcula la matriz de cambio de base B->B’


% Si denotamos {ei} a la base canónica La matriz se construye a partir
de la relación vi’ = i’ . i’ denota fila e i columna. En este caso la
matriz de cambio de base es la matriz A, construida anteriormente.
>> A
c) Calcula la matriz de cambio de base de B’->B
% La matriz se construye a partir de la relación ei = i’. Siendo la
inversa de En este caso la matriz B de cambio de base B’->B es la
matriz A-1.

>> B=inv(A)

d) Comprobar que los vectores de la base canónica se pueden expresar como


combinación lineal de la base B’, precisamente con los coeficientes dados por la
matriz B’

% La matriz B obtenida anteriormente es . Se debe

verificar ei = j

>> e1=1*v1-1*v2
>> e2=1/2*v2
>> e3=-2*v1+2*v2+1*v3

e) Calcula las coordenadas del vector (2,3,5) en la nueva base utilizando el método
matricial
j i
% Se utiliza la relación (x’ ) = (x ) B

x_nueva=[2 3 5]*B

f) Comprueba que efectivamente el vector (2,3,5) se pueden expresar como


combinación lineal de la base B’, precisamente con los coeficientes obtenidos en
el apartado anterior.

% Las coordenadas obtenidas anteriormente son: x’=(-8,19/2,5).

>> -8*v1+9.5*v2+5*v3

Ejemplos a desarrollar por el alumno:

Práctica 3.2

Se consideran la matriz y los vectores de R3: v1 = (-2, 2, 3);

v2 = (-8, 5, 2); v3 = (-7, 2, 6)

a) Encuéntrese una base tal que P sea la matriz del cambio de base
de B1 a
b) Calcúlense las coordenadas en la base B2 del vector v cuyas coordenadas en la
base B1 son (1, 2, 3).
Práctica 3.3

En el espacio vectorial R4 se consideran las bases: y

u1 = (1; 1; 1; 1); u2 = (0; 1; 1; 1); u3 = (0; 0; 1; 1); u4 = (0; 0; 0; 1)


y
v1 = (1; 3; 2;-3); v2 = (1;-2; 0; 2); v3 = (-3;-1;-3; 0); v4 = (3; 4; 4;-3)

Calcúlese la matriz P que realiza el cambio de base de B2 a B1. Calcúlense las


coordenadas en B1 del vector cuyas coordenadas en la base B2 son (1; 1; 1; 1).

Práctica 3.4

Dadas dos bases B1 y B2 en R3, conocemos las coordenadas en ambas bases de un sistema
de vectores v1, v2, v3.
En la base B1 tenemos
v1 = (2; 1; 3); v2 = (1; 2; 1); v3 = (0; 0; 1)
y, en la base B2 tenemos
v1 = (2;-1; 0); v2 = (-1; 2; 0); v3 = (-5; 1; 3)
Hállense las coordenadas de los vectores de B1 respecto de los de B2.
Título: Superficies coordenadas
Objetivos 1 (grado): Objetivos 2 (matlab):
- Comprender los sistemas de - Realizar gráficos en 3 dimensiones con
coordenadas cilíndricas y esféricas. los comandos “plot3” y “mesh”
- Aprender a cambiar de coordenadas con
los comandos “pol2cart” y “sph2cart”

Desarrollo:

Práctica 4.1

En esta práctica el alumno aprenderá a dibujar las curvas coordenadas cilíndricas


utilizando “matlab”. Antes de ejecutar los “scripts” es necesario realizar algunas
puntualizaciones. Para dibujar líneas en 3 dimensiones se utiliza el comando “plot3(x,y,z)”
donde x, y, z son tres vectores de la misma longitud. Con este comando se dibuja una
línea en el espacio a través de los puntos cuyas coordenadas son los elementos de x, y, z.
Otro comando que aparece en los “scripts” es “pol2cart”. Esta instrucción permite
cambiar de coordenadas cilíndricas a coordenadas polares. Su sintaxis es la siguiente:
[X,Y,Z] = pol2cart (TH,R,Z) y transforma elementos correspondientes a datos
almacenados en coordenadas cilíndricas (ángulo TH , radio R , altura Z ) a coordenadas
cartesianas X, Y, Z . Los arrays TH, R, y Z deben ser del mismo tamaño (o cualquiera de
ellos puede ser escalar). TH debe estar en radianes.

a) Primero se dibujará la curva coordenad Cρ, para ello variamos ρ, prefijando los
valores de θ y z. Copia el script siguiente en un fichero .m (“Crho.m”) y ejecútalo,
analizando posteriormente el código.

Script en matlab:
%Curva coordenada Crho

clear all
rho=linspace(0,2,40);
theta=pi/4*ones(1,length(rho));
z=2.*ones(1,length(rho));

%pasamos de cilíndricas a cartesianas


[X,Y,Z]=pol2cart(theta,rho,z);

%dibujamos la curva
plot3(X,Y,Z)

%Las siguientes instrucciones tienen la función de mejorar la apariencia


%de la gráfica

%grid y box
grid on
box on
axis tight
% ajusta la visión de la grafica
view([100,10])

% Nombre de los ejes y título del plot


xlabel('eje-x','Fontname','Times','Fontsize',10)
ylabel('eje-y','Fontname','Times','Fontsize',10)
zlabel('eje-z','Fontname','Times','Fontsize',10)
title('Curva rho(z=2,theta=pi/4)','Fontname','Times','Fontsize',10)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% Fin del Script %%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

b) Ahora se dibujará la curva coordenada Cθ, para ello variamos θ, prefijando los
valores de ρ y z. Copia el script siguiente en un fichero .m (“Ctheta.m”) y
ejecútalo, analizando posteriormente el código.

Script en matlab:
%Curva coordenada Ctheta
clear all
theta=linspace(0,2*pi,40);
rho=2*ones(1,length(theta));
z=2.*ones(1,length(theta));

%pasamos de cilíndricas a cartesianas


[X,Y,Z]=pol2cart(theta,rho,z);

%dibujamos la curva
plot3(X,Y,Z)

%grid y box
grid on
box on
axis tight

% ajusta la visión de la grafica


view([100,10])

% Nombre de los ejes y título the plot


xlabel('eje-x','Fontname','Times','Fontsize',10)
ylabel('eje-y','Fontname','Times','Fontsize',10)
zlabel('eje-z','Fontname','Times','Fontsize',10)
title('Curva theta (z=2,rho=2)','Fontname','Times','Fontsize',10)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% Fin del Script %%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Práctica 4.2
En esta práctica el alumno aprenderá a dibujar las curvas coordenadas esféricas
utilizando “matlab”. De igual forma que en la práctica anterior se utiliza el comando
“plot3(x,y,z)” Otro comando que aparece en los “scripts” es “sph2cart”. Esta instrucción
permite cambiar de coordenadas esféricas a coordenadas polares. Su sintaxis es la
siguiente: [X,Y,Z] = sph2cart (TH,PHI,R) transforma elementos correspondientes de
datos almacenados en coordenadas esféricas ( TH acimut , elevación de PHI, radio R ) de
coordenadas cartesianas X , Y, Z . Las matrices de TH , PHI , y R debe ser del mismo
tamaño (o cualquiera de ellos puede ser escalar) . TH y PHI debe estar en radianes.

a) se dibujará la curva coordenada Cφ, para ello variamos φ, prefijando los valores de
θ y r. Copia el script siguiente en un fichero .m (“Cphi.m”) y ejecútalo, analizando
posteriormente el código

Script en matlab:
%Curva coordenada Cphi

clear all
phi=linspace(-pi/2,pi/2,40);
r=2*ones(1,length(phi));
theta=pi/4.*ones(1,length(phi));

%pasamos de cilíndricas a cartesianas


[X,Y,Z]=sph2cart(theta,phi,r);

%dibujamos la curva
plot3(X,Y,Z)

%grid y box
grid on
box on
axis tight

% ajusta la visión de la grafica


view([100,10])

% Nombre de los ejes y título the plot


xlabel('eje-x','Fontname','Times','Fontsize',10)
ylabel('eje-y','Fontname','Times','Fontsize',10)
zlabel('eje-z','Fontname','Times','Fontsize',10)
title('Curva phi (theta=pi/4,r=2)','Fontname','Times','Fontsize',10)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% Fin del Script %%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Práctica 4.3

En esta práctica el alumno aprenderá a dibujar las superficies coordenadas cilíndricas


utilizando “matlab”. Aparecen en los siguientes “scripts” dos nuevos comandos que es
necesario explicar con cierto detalle. El primero es el comando “meshgrid”, esta función
sirve para construir una malla de base, en el plano XY: Si xp es una partición del intervalo
[x0,x1] e yp es una partición del intervalo [y0,y1], entonces
>> [x,y]=meshgrid(xp,yp)

construye dos matrices, X e Y, que definen una malla del rectángulo [x0,x1]x[y0,y1] . La
matriz X contiene las coordenadas x de los puntos de la malla y la matriz Y sus
coordenadas y. La otra instrucción es “mesh” que representa una superficie z=f(x,y) sobre
una malla rectangular. Los argumentos x , y , z son matrices de la misma dimensión
conteniendo, respectivamente, las coordenadas x , y , z de los nodos de la malla. Los
segmentos de la malla se colorean según los valores de la función (coordenada z).

a) Primero se dibujará la superficie coordenada Sρ, para ello variamos los valores de
θ y z, prefijando el valor de ρ. Copia el script siguiente en un fichero .m
(“Srho.m”) y ejecútalo, analizando posteriormente el código.

Script en matlab:
%Superficie coordenada Srho
clear all
theta=linspace(0,2*pi,40);
z = linspace(0,2,40);
[TH,Z]=meshgrid(theta,z);
RH=2*ones(size(Z));

%pasamos de cilíndricas a cartesianas


[X,Y,Z]=pol2cart(TH,RH,Z);

%dibujamos la curva
mesh(X,Y,Z)

%grid y box
grid on
box on
axis equal

% ajusta la visión de la grafica


view([120,20])

% Nombre de los ejes y título the plot


xlabel('eje-x','Fontname','Times','Fontsize',10)
ylabel('eje-y','Fontname','Times','Fontsize',10)
zlabel('eje-z','Fontname','Times','Fontsize',10)
title('Superficie coordenada rho=2','Fontname','Times','Fontsize',10)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% Fin del Script %%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

b) Ahora se dibujará la superficie coordenada Cθ, para ello variamos ρ y z,


prefijando el valor de θ. Copia el script siguiente en un fichero .m (“Stheta.m”) y
ejecútalo, analizando posteriormente el código.

Script en matlab:
%Superficie coordenada Stheta
clear all
z=linspace(0,2,40);
rho = linspace(0,2,40);
[Z,RH]=meshgrid(z,rho);
TH=pi/4*ones(size(RH));

%pasamos de cilíndricas a cartesianas


[X,Y,Z]=pol2cart(TH,RH,Z);

%dibujamos la curva
mesh(X,Y,Z)

%grid y box
grid on
box on
axis equal

% ajusta la visión de la grafica


view([120,20])

% Nombre de los ejes y título the plot


xlabel('eje-x','Fontname','Times','Fontsize',10)
ylabel('eje-y','Fontname','Times','Fontsize',10)
zlabel('eje-z','Fontname','Times','Fontsize',10)
title('Superficie theta=pi/4','Fontname','Times','Fontsize',10)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% Fin del Script %%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Práctica 4.4

En esta práctica el alumno aprenderá a dibujar las superficies coordenadas esféricas


utilizando “matlab”.

a) Primero se dibujará la superficie coordenada Sr, para ello variamos los valores de
θ y φ, prefijando el valor de r,. Copia el script siguiente en un fichero .m (“Sr.m”)
y ejecútalo, analizando posteriormente el código.

Script en matlab:
%Superficie coordenada Sr
clear all
theta=linspace(0,2*pi,40);
phi = linspace(-pi/2,pi/2,40);
[TH,PHI]=meshgrid(theta,phi);
R=2*ones(size(TH));

%pasamos de esféricas a cartesianas


[X,Y,Z]=sph2cart(TH,PHI,R);

%dibujamos la curva
mesh(X,Y,Z)

%grid y box
grid on
box on
axis equal
% ajusta la visión de la grafica
view([120,20])

% Nombre de los ejes y título the plot


xlabel('eje-x','Fontname','Times','Fontsize',10)
ylabel('eje-y','Fontname','Times','Fontsize',10)
zlabel('eje-z','Fontname','Times','Fontsize',10)
title('Superficie coordenada r=2','Fontname','Times','Fontsize',10)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% Fin del Script %%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

b) Ahora se dibujará la superficie coordenada Sφ, para ello variamos los valores de
θ y r, prefijando el valor de φ. Copia el script siguiente en un fichero .m (“Sr.m”) y
ejecútalo, analizando posteriormente el código.

Script en matlab:
%Superficie coordenada Sphi
clear all
theta=linspace(0,2*pi,40);
r = linspace(0,2,40);
[TH,R]=meshgrid(theta,r);
PHI=pi/4*ones(size(TH));

%pasamos de esféricas a cartesianas


[X,Y,Z]=sph2cart(TH,PHI,R);

%dibujamos la curva
mesh(X,Y,Z)

%grid y box
grid on
box on
axis equal

% ajusta la visión de la grafica


view([120,20])

% Nombre de los ejes y título the plot


xlabel('eje-x','Fontname','Times','Fontsize',10)
ylabel('eje-y','Fontname','Times','Fontsize',10)
zlabel('eje-z','Fontname','Times','Fontsize',10)
title('Superficie coordenada phi=pi/4','Fontname','Times','Fontsize',10)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% Fin del Script %%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Ejemplos a desarrollar por el alumno:

Práctica 4.5
a) Representar en coordenadas cilíndricas Cz
b) Representar en coordenadas esféricas Cr
c) Representar en coordenadas cilíndricas Sz
d) Representar en coordenadas esféricas Sθ
Ejemplo 1 Sea la forma bilineal en IR2 definida por:
f(⃗e1, ⃗e1) = 2 ; f(⃗e1, ⃗e2) = 1 ; f(⃗e2, ⃗e2) = a
a) Determine la matriz asociada G relativa a la base canónica y el valor o valores de a
para que f sea un producto escalar.
b) Tome un valor de a para el que f sea producto escalar y halle (1, 1)•(1, 2)
c) Hallar la matriz G′ asociada a este producto escalar respecto a la base B = {⃗b1,⃗b2}
siendo
⃗b1 = (1, 0) y ⃗b2 = (1,−2).

Ejemplo 2 Sea la forma bilineal en IR2 definida por:


∥ ⃗e1 ∥=√2 ; ang(⃗e1, ⃗e2) = π/3 ; ∥ ⃗e2 ∥= 1
a) Calcule la matriz de Gram.
b) Calcule el ángulo que forman los vectores (1, 0) y (1, 1).
c) Calcule un vector ortogonal a (1, 0)
d) Calcule las componentes covariantes de (1, 0)
e) Calcule la base recíproca de la formada por (1,0) y (1,1).

Ejemplo 3 En el espacio vectorial IR3 se considera el producto escalar cuya matriz de


1 0 0
Gram relativa a la base canónica es A = �0 1 1�
0 1 2
Determinar la base recíproca de la canónica respecto de este producto escalar.

Ejemplo 4 Muestra que S={⃗v1, ⃗v2, ⃗v3} es un conjunto ortogonal del espacio euclídeo
3 −1 −1/2
canónico IR3, siendo ⃗v1 = �1�; ⃗v2 = � 2 �; ⃗v3 = � −2 �. Expresa el vector ⃗y =
1 1 7/2
6
� 1 � como combinación lineal de los vectores de S.
−8

Ejemplo 5
De un producto escalar definido en IR2 respecto de la base B = {u, v}, se sabe que:
i) u • u = 2

ii) u • (3u + v ) = 5

iii) v• v = 5(u • u )

a) Calcular la matriz asociada al producto escalar.

b) Calcular (2,3) • (1,4)

c) La base recíproca de B

También podría gustarte