0% encontró este documento útil (0 votos)
62 vistas14 páginas

Declaración de Vectores en MATLAB

Este documento presenta un resumen de tres oraciones del guion de la práctica 1 sobre la resolución de problemas de elasticidad con MATLAB. Introduce las operaciones básicas con vectores y matrices en MATLAB como la declaración, traspuesta y cálculo de autovalores y autovectores. También explica la representación gráfica de datos y la creación de funciones personalizadas en MATLAB.

Cargado por

Sonia Bellon
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)
62 vistas14 páginas

Declaración de Vectores en MATLAB

Este documento presenta un resumen de tres oraciones del guion de la práctica 1 sobre la resolución de problemas de elasticidad con MATLAB. Introduce las operaciones básicas con vectores y matrices en MATLAB como la declaración, traspuesta y cálculo de autovalores y autovectores. También explica la representación gráfica de datos y la creación de funciones personalizadas en MATLAB.

Cargado por

Sonia Bellon
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

Elasticidad y Resistencia de Materiales

Grados en Ing. Mecánica, Eléctrica y Quı́mica Industrial

Guion de la Práctica 1:
Resolución de problemas de Elasticidad con MatLab

1. Introducción
MATLAB (del inglés MATrix LABoratory) es un software computacional muy utilizado en
universidades y centros de investigación. Entre sus funcionas básicas destacan: la manipulación
de matrices, la representación de datos y funciones, implementación de algoritmos o la creación
de interfaces de usuario. Esta práctica se centrará en introducir al alumno en el análisis matricial
y representación de datos mediante la resolución de un problema de Elasticidad.

2. Operaciones básicas con vectores y matrices

2.1. Declaración de matrices y vectores


Para definir una matriz en MatLab, basta con introducir entre corchetes ([ ]) los números de
cada lı́nea de la matriz separados por espacios o comas y definir el salto a la lı́nea siguiente
mediante un punto y coma. Como ejemplo se puede definir una matriz A como:
A = [1 2 3 ; 4 5 6 ; 7 8 9]

Esto produce la siguiente matriz:


 
1 2 3
4 5 6
7 8 9
Para definir un vector se procede de la misma manera, pero en este caso únicamente se define
una lı́nea, ya que un vector es un array de orden 1:
v = [1.2 2.1 6.3]

Este comando produce el siguiente vector: 1,2 2,1 6,3

2.2. Traspuesta de un vector y una matriz


Para trasponer un vector o una matriz, basta con añadir un apóstrofe 1 detrás del vector o matriz
en cuestión. Ejemplo:
Definimos nuevamente la misma matriz A en MatLab:
A = [1 2 3 ; 4 5 6 ; 7 8 9]

1
El apóstrofe se escribe pulsando la tecla a la derecha del 0 en el teclado, no confundir con otros acentos del
teclado.

1
esto produce la siguiente matriz:
 
1 2 3
4 5 6
7 8 9
Trasponemos la matriz:
A’

la salida resultante es la siguiente:


 
1 4 7
2 5 8
3 6 9
Lo mismo ocurre con los vectores. Definamos un vector v:
v = [ 1 2 3 ]

salida:

1 2 3
Trasponiendo el vector:
v’

obtenemos el siguiente resultado:


 
1
2
3

3. Obtención de autovalores y autovectores (eig)


MatLab contiene una gran cantidad de funciones para la realización de operaciones comunes.
En nuestro caso particular, se destaca la función eig que permite obtener los autovalores y
autovectores de una matriz. Para ello, han de definirse los nombres de las variables de salida
(autovalores y autovectores) y la sintaxis es la siguiente:
[w,v] = eig(A)

donde:

v es una matriz 3x3 que almacenan los autovalores en la diagonal principal, siendo el resto
de componentes igual a 0.

w es una matriz 3x3 que almacenan los autovectores en columnas. La columna donde se
almacenan las componentes de un autovector es la misma columna donde se encuentra el
autovalor correspondiente en la matriz v.

A es la matriz de la que se quiere obtener los autovalores y autovectores.

Es importante remarcar que la función eig no ordena los autovalores y autovectores de mayor a
menor (según el autovalor), como por ejemplo se realiza en el cálculo de las tensiones principales.

2
Ejemplo
Calcular los autovalores y autovectores del siguiente tensor de tensiones:
 
500 173,2 0
σ = 173,2 300 0 
0 0 −200
El siguiente comando de MatLab genera la matriz A:
A = [ 5 0 0 1 7 3 . 2 0 ; 1 7 3 . 2 3 0 0 0 ; 0 0 -200]

El siguiente comando de MatLab calcula los autovalores y autovectores de la matriz A, almace-


nando los autovalores en eigval y los autovectores en eigvec:
[ eigvec , e i g v a l ] = e i g ( A )

Salida de MatLab:
eigvec =
0 0,5 −0,8660
0 −0,8660 −0,5000
1 0 0

eigval =
−200,0000 0 0
0 200,0044 0
0 0 599,9956
Este tensor corresponde al del problema realizado en clase. Comprobar que, efectivamente:

El autovalor máximo es 600.



El autovector correspondiente al autovalor máximo es −0,8660 0,5000 0 (col. 3).

Comprobar que el autovector asociado al autovalor −200,00 es 0 0 1 (col. 1).

4. Representación gráfica en 2D (plot)


MatLab permite plotear resultados de maneras muy diversas a través de diferentes funciones.
Nos centraremos en una, probablemente la más sencilla y común:

plot(x,y,‘s’): Representa en 2D los datos contenidos en el vector x frente a los datos


contenidos en el vector y de acuerdo a las condiciones definidas por ‘s’ (color, tipo de
lı́nea, ...)

4.1. Ejemplo plot


Dibujar una lı́nea que vaya desde el punto (1, 10) hasta el (4, 0,5):
p l o t ([1 ,4] ,[10 ,0.5] , ’ - -r ’)

Este comando produce la Figura 1.


Nótese que al especificar las coordenadas de los puntos en la función plot no se escriben las
coordenadas los puntos inicial y final uno a continuación del otro, sino que las coordenadas x

3
10

0
1 1.5 2 2.5 3 3.5 4

Figura 1

se enumeran en el primer vector y las coordenadas y en el segundo. Por otro lado, ’--r’ indica
que la lı́nea sea dibujada a trazos y en color rojo (r de ”red”, lo mismo ocurre con otros colores:
b para el azul, g para el verde, y para el amarillo, ...)
Cuando dibujamos, MatLab representa lo que le indiquemos sin respetar las escalas de los ejes x,
y, z y ajustando la imagen a los lı́mites de lo dibujado. Por ejemplo, en la imagen obtenida con
el comando anterior, no vemos el origen. Si queremos tener mayor control sobre estos aspectos,
podemos utilizar algunos comandos que resultan muy útiles:

axis equal: fuerza a que la escala de los ejes sea la misma.

xlim: define los lı́mites de dibujo para el eje x. Los lı́mites se definen mediante un vector
de dos componentes: [xizda , xdcha ].

ylim: igual que xlim pero para el eje y.

xlabel: define una cadena de caracteres que se dibujarán en el eje x, de esta manera se
indicará en el gráfico qué magnitud se representa en este eje.

ylabel: igual que xlabel pero para el eje y.

grid on: activa la visualización de la rejilla de coordenadas.

grid off: desactiva la visualización de la rejilla de coordenadas.

Si quisiéramos dibujar dos lı́neas en el mismo dibujo, deberı́amos invocar dos veces el comando
plot, pero al hacerlo verı́amos que sólo una de ellas, la última, está representada. El siguiente
código produce la Figura 2.:
p l o t ([1 ,4] ,[10 ,0.5] , ’ - -r ’)
p l o t ([4 ,2] ,[7 ,1] , ’ -g ’)
axis equal
grid on
x l i m ([0 ,5])
y l i m ([0 ,11])
x l a b e l ( ’x ’)
y l a b e l ( ’y ’)

4
11 11

10 10

9 9

8 8

7 7

6 6
y

y
5 5

4 4

3 3

2 2

1 1

0 0
0 2 4 0 2 4
x x

Figura 2

Esto ocurre porque cada llamada al comando plot, por defecto, resetea cualquier configuración
que se haya utilizado antes en la figura, de manera que nada de lo definido anteriormente se
conserva y borra cualquier cosa que haya representada. Para evitar esto podemos utilizar el
comando hold on, que indica a MatLab que se espere y guarde la configuración que se haya
definido hasta el momento para próximas llamadas a plot.
De este modo, si al código indicado anteriormente le añadimos el comando hold on justo después
de la primera llamda a plot:
p l o t ([1 ,4] ,[10 ,0.5] , ’ - -r ’)
hold on
p l o t ([4 ,2] ,[7 ,1] , ’ -g ’)
axis equal
grid on
x l i m ([0 ,5])
y l i m ([0 ,11])
x l a b e l ( ’x ’)
y l a b e l ( ’y ’)

obtendremos la Figura 3, en la que se representan las dos lı́neas:

5. Creación de funciones en MatLab


MatLab dispone de un gran número de funciones que el usuario puede utilizar directamente. No
obstante, en ocasiones el usuario puede requerir una función que MatLab no tiene implemen-
tada; para ello, MatLab permite programar funciones personalizadas que cubran necesidades
especı́ficas del usuario.
Para definir una función, se debe crear un archivo con extensión .m con el nombre de la función
y escribir dentro de ese archivo el cuerpo de la función.

5
11

10

y
5

0
0 2 4
x

Figura 3

5.1. Input y Output de una función


Cualquier función proporciona uno o varios resultados a partir de uno o varios datos de partida.
En resumen, una función realiza el siguiente proceso:

1. Recibe uno o más datos de entrada.


2. Realiza una serie de operaciones con los datos de entrada, generando nuevos resultados:
los datos de salida.
3. Devuelve como salida los resultados obtenidos.

La declaración de una función se realiza siempre enumerando los datos de salida entre corchetes
separados por comas e igualándolos al nombre de la función seguido de los datos de entrada
separados por comas y entre paréntesis:
[output1 , output2 , ..., outputn ] = nombre funcion(input1 ,input2 ,...inputm )

Ejemplo
MatLab tiene una función que calcula la traza de una matriz, pero en este ejemplo se va a
programar una función extremadamente sencilla que efectúa esta misma operación.
La función tiene las siguientes caracterı́sticas:

Nombre: calcular traza.


Input: una matriz 3x3, que denominaremos A.
Output: un escalar, que denominaremos traza.

Código:
function [ traza ] = calcular_traza( A )
%C A L C U L A R T R A Z A C a l c u l a l a t r a z a d e u n a m a t r i z 3 x 3
t r a z a = A (1 ,1) + A (2 ,2) + A (3 ,3);
end

6
La primera lı́nea del código sirve para declarar la función, definiendo los datos de entrada (A),
los de salida (traza) y el nombre de la función (calcular traza).
La segunda lı́nea es un comentario, MatLab lo ignora durante la ejecución de la función, y sirve
para describir qué hace la función. Cuando en la lı́nea de comandos se teclea help y el nombre
de la función a continuación, en la terminal se imprime la información escrita en esta segunda
lı́nea de comentarios.
La tercera lı́nea ejecuta la operación que, en este caso, es necesaria para calcular el resultado
requerido. Esto es el cuerpo de la función y puede estar constituida por un sola lı́nea, en su caso
más simple, hasta un número ilimitado de lı́neas, en funciones más complejas.
La cuarta lı́nea define el final de la función mediante la palabra end.

6. Algunas notas adicionales sobre el trabajo con MatLab


Comentar el código

Cuando se escribe un script o una función en MatLab es muy recomendable comentar el


código, de forma concisa y clara. Es evidente que cuando se escribe una función tan sencilla
como la del primer ejemplo, restan los comentarios, pero cuando se elabora una función más
compleja donde se incluyan bucles (for, while o switch) o condicionales (if, elseif, else) es
muy conveniente comentar las acciones que ejecuta el código, de manera que futuros usuarios
puedan entenderlo y, si es necesario, adaptarlo a sus necesidades.

Evitar exceso de datos de salida con ;

Cuando se ejecuta un comando en MatLab que produce algún tipo de salida, automáticamente
ésta se imprime por defecto en el terminal. Esto puede resultar útil cuando se está trabajando
directamente en el terminal, pero muchas veces resulta molesto. Para evitar este comportamiento,
basta con incluir un punto y coma (;) al final de cada lı́nea.

Comandos clear y clc

El comando clear borra todas las variables almacenadas en MatLab hasta ese momento y el
comando clc limpia el terminal sin borrar las variables almacenadas. El uso de estos coman-
dos puede ser muy conveniente cuando al ejecutar un script queremos evitar que éste utilice
accidentalmente valores que puedan estar almacenados en ese momento.

Ayuda de MatLab (help)

MatLab cuenta con una muy buena ayuda, de manera que cualquier función que esté incluida
en el programa dispone de una descripción de la misma, ası́ como de su sintaxis. Para acceder a
esta descripción, basta con teclear help nombre función en la lı́nea de comandos.
Si queremos que las funciones creadas por nosotros dispongan también de esta ayuda, la segunda
lı́nea del archivo que contenga la función y las siguientes han de estar comentadas e incluir la
descripción que deseemos.

7
7. Condicionales y operadores lógicos

7.1. Condicionales en MatLab


MatLab no es propiamente dicho un lenguaje de programación, pero se le parece mucho y sus
funciones y scripts se estructuran y utilizan de manera similar al código de otros lenguajes de
programación (Fortran, C, Python,...).
Una de las herramientas más habituales en la programación son los condicionales, que permiten
ejecutar un código u otro dependiendo de unas condiciones establecidas.
Por ejemplo, podemos escribir una función sencilla que nos indique si el valor introducido es
mayor o menor que 5:
function [ salida ] = menor_mayor_cinco( n )
%M E N O R _ M A Y O R _ C I N C O C o m p r u e b a s i n e s m e n o r , i g u a l o m a y o r q u e c i n c o .
if n>5
s a l i d a = ’e l v a l o r i n t r o d u c i d o e s m a y o r q u e 5 ’;
elseif n<5
s a l i d a = ’e l v a l o r i n t r o d u c i d o e s m e n o r q u e 5 ’;
else
s a l i d a = ’e l v a l o r i n t r o d u c i d o e s i g u a l a 5 ’;
end

También podemos “anidar” estos condicionales estableciendo condiciones más complejas. Por
ejemplo, si queremos saber si un número está entre el rango comprendido entre 5 y 10:
function [ salida ] = entre_cinco_y_diez( n )
%E N T R E _ C I N C O _ Y _ D I E Z C o m p r u e b a s i n s e e n c u e n t r a e n e l i n t e r v a l o [5 ,10].
i f n >= 5
i f n <= 1 0
s a l i d a = ’e l v a l o r i n t r o d u c i d o e s t a e n e l i n t e r v a l o [5 ,10] ’;
else
s a l i d a = ’e l v a l o r i n t r o d u c i d o N O e s t a e n e l i n t e r v a l o [5 ,10] ’;
end
else
s a l i d a = ’e l v a l o r i n t r o d u c i d o N O e s t a e n e l i n t e r v a l o [5 ,10] ’;
end

7.2. Operadores lógicos


Existen operadores lógicos que permiten unir o intersecar dos condiciones. Esto, como veremos a
continuación, puede reducir el número de bucles anidados como los vistos en el apartado anterior:

Operador &&: Comprueba si se cumplen dos condiciones a la vez (equivalente a la condición


AND de Excel).

Operador |: Comprueba si se cumple una condición u otra(equivalente a la condición OR


de Excel).

Por ejemplo, para crear una función equivalente a la función entre cinco y diez descrita en el
último ejemplo, podemos utilizar el operador && de la siguiente manera:
function [ salida ] = entre_cinco_y_diez_b( n )
%E N T R E _ C I N C O _ Y _ D I E Z _ B C o m p r u e b a s i n s e e n c u e n t r a e n e l i n t e r v a l o [5 ,10].
i f n >= 5 & & n <= 1 0
s a l i d a = " e l v a l o r i n t r o d u c i d o e s t a e n e l i n t e r v a l o [5 ,10]";

8
else
s a l i d a = " e l v a l o r i n t r o d u c i d o N O e s t a e n e l i n t e r v a l o [5 ,10]";
end

Imaginemos ahora que queremos crear una función que nos indique si un número pertenece a
alguno de los intervalos [1,3] y [7,9], de manera que devuelva un mensaje afirmativo si pertenece
a alguno de ellos y un mensaje negativo si no es ası́. En estos casos el operador | resulta muy
útil combinado con el operador &&:
function [ salida ] = en_uno_de_dos_intervalos( n )
%E N _ U N O _ D E _ D O S _ I N T E R V A L O S C o m p r u e b a s i n s e e n c u e n t r a e n e l i n t e r v a l o [1 ,3]
%o e n e l [7 ,9]
i f ( n >= 1 & & n <= 3 ) | ( n >= 7 & & n <= 9 )
s a l i d a = " e l v a l o r i n t r o d u c i d o e s t a e n l o s i n t e r v a l o s : [1 ,3] , [7 ,9]";
else
s a l i d a = " e l v a l o r i n t r o d u c i d o N O e s t a e n l o s i n t e r v a l o s : [1 ,3] , [7 ,9]";
end

8. Representación gráfica de funciones trigonométricas


en MatLab
Como ya hemos visto, para dibujar rectas en los ejes xy, MatLab cuenta con la función plot,
cuya sintaxis es:
plot(x,y,‘s’) que representa en 2D los datos contenidos en el vector x frente a los datos
contenidos en el vector y de acuerdo a las condiciones definidas por ‘s’ (color, tipo de lı́nea, ...).
Imaginemos ahora que queremos dibujar la función seno con MatLab. Para ello, utilizaremos
el comando plot pero, dado que este comando precisa de dos vectores que contengan las coor-
denadas x e y de los puntos, necesitamos definir vectores con una longitud igual al número de
puntos que queramos representar.
Hacer esto a mano, como hemos hecho hasta ahora resulta tedioso y muy poco práctico. Por
ejemplo, si queremos dibujar la función seno entre 0 y 2π, podemos hacerlo, por ejemplo, utili-
zando 6 puntos equiespaciados entre los extremos:

x y
0 0
1.2566 0.9511
2.5133 0.5878
3.7699 -0.5878
5.0265 -0.9511
6.2831 0

Por tanto, el comando plot serı́a el siguiente:


plot([ 0 1.2566 2.5133 3.7699 5.0265 6.2831] , [0 0.9511 0.5878 -0.5878 -0.9511
-0] , ’-b’)

El resultado serı́a el siguiente:

9
1

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

Como vemos, el resultado es muy pobre y para obtenerlo hemos tenido que teclear un comando
largo.
La forma de trabajar en estos casos es diferente. MatLab permite crear vectores con componentes
equiespaciadas de manera muy sencilla, la sintaxis es la siguiente:
vector = [a:i:b]

donde:

a es el valor inicial.

i es el intervalo entre valores consecutivos de la serie.

b es el valor final.

Por ejemplo, si queremos crear el intervalo [0, 2π] obteniendo valores separados una distancia de
0.1, escribirı́amos:
vector = [0:0.1:2*pi]

Además, MatLab permite operar con los valores de un vector de la siguiente manera:
y = sin(x)

Este comando almacenará en y un vector de tantas componentes como el vector x donde cada
componente yi es igual al seno de cada componente xi .
De este modo, para representar la función seno podemos ejecutar sl siguiente código:
x = [0:0.1:2*pi]
y = sin(x)
plot(x,y,’-b’)
Este código produce el siguiente resultado:

10
1

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

Si ahora quisiéramos dibujar en rojo la función coseno, el código serı́a:


x = [0:0.1:2*pi]
y = cos(x)
plot(x,y,’-r’)
Recordemos que si queremos dibujar dos funciones en el mismo gráfico hemos de hacer uso del
comando hold on. Ası́ que si queremos dibujar las funciones seno y coseno en el mismo gráfico
emplearı́amos el siguiente código:
x = [0:0.1:2*pi];
y1 = sin(x);
y2 = cos(x);
plot(x,y1,’-b’);
hold on;
plot(x,y2,’-r’);

Resultando el siguiente gráfico:

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

9. Operaciones sobre vectores


Vemos que MatLab opera con todos los elementos de un vector sin más que operar directamente
sobre el vector. Por ejemplo, si queremos sumar dos vectores podemos operar directamente
indicando la suma directamente, tal y como se muestra en el siguiente ejemplo:

11
a = [1 2 3 4];
b = [5 6 7 8];
a+b
que produce el siguiente vector:
6 8 10 12

Si queremos multiplicar estos dos vectores, debemos ejecutar el siguiente comando:


a*b’

que produce el siguiente resultado:


70

Obsérvese que el vector b se ha traspuesto para poder ejecutar el cálculo, ya que habiendo
definido ambos como vectores en fila, debemos poner el segundo en columna para poder ejecutar
la operación.
Si quisiéramos multiplicar los elementos de los vectores a y b elemento a elemento, deberı́amos
ejecutar el siguiente comando:
a.*b

que produce la siguiente salida:


5 12 21 32
Obsérvese que el vector resultante es el producto de los vectores a y b operados elemento a
elemento.

10. Representación gráfica de funciones genéricas en MatLab


Supongamos que queremos dibujar la función y = x2 en el intervalo [0, 10]. Para ello, escribiremos
el siguiente código:
x = [0:0.1:10];
y = x.^2;
plot(x,y,’-b’);
Este código produce el siguiente gráfico:

12
1200

1000

800

600

400

200

0
0 2 4 6 8 10

11. Representación en coordenadas polares


En ocasiones puede ser más conveniente utilizar coordenadas polares para representar ciertas
funciones matemáticas, para ello podemos utilizar la función polar, que tiene la siguiente sin-
taxis:
polar(phi,rho,’s’)
donde phi es la coordenada angular, rho la radial y ’s’ una cadena de caracteres que indica a
MatLab el formato con el que MatLab ha de dibujar la función.
Por ejemplo, si queremos dibujar una espiral, utilizando la función polar resulta una tarea
sencilla. Únicamente hemos de definir un vector phi que varı́e angularmente entre 0 y un ángulo
determinado, por ejemplo 4π y otro vector rho con valores del radio que varı́en linealmente entre
0 y el valor final deseado, por ejemplo, 12.5. El código serı́a el siguiente:
phi = 0:0.1:4*pi;
rho=0:0.1:12.5;
polar(phi,rho);
y la figura resultante la que se muestra a continuación:

90 15
120 60

10
150 30
5

180 0

210 330

240 300
270

13
12. Funciones que llaman a otras funciones
Ya hemos visto anteriormente cómo crear funciones en MatLab y cuáles son sus principales
caracterı́sticas: datos de entrada, datos de salida, sintaxis... La creación de funciones incrementa
enormemente las posibilidades de MatLab, pues ya no estamos restringidos a utilizar las funciones
que MatLab trae por defecto, lo cual en sı́ ya es muy interesante, sino que además podemos crear
funciones a la medida de nuestras necesidades.
No obstante, imaginemos que tenemos que programar una función que efectúe operaciones muy
complejas; en estos casos puede ser recomendable crear varias funciones más simples que se encar-
guen de pequeñas partes de la función y crear una función “directora”que llame a esas funciones
menores dando lugar a la función que buscábamos. De esta manera, la tarea de programación se
simplifica, pues el código final se divide en pequeñas partes de código más fácilmente manejables.
Veámoslo con un ejemplo creando las siguientes dos funciones:

calc area: que calculará el área de un cuadrado o un cı́rculo.

volumen prisma recto: que obtendrá el volumen de un prisma recto de base cuadrada o
circular haciendo uso de la función calc area.

La función calc area recibe dos valores: RL, que es el lado o radio del cuadrado o cı́rculo, y
type que si vale 0 indica que la figura es un cuadrado y si vale 1 indica que es un cı́rculo.
El código es el siguiente:
f u n c t i o n [ A ] = c a l c _ a r e a ( RL , t y p e )
\ %C A L C _ A R E A C a l c u l a e l a r e a d e u n a s u p e r f i c i e c u a d r a d a o circular ,
\ %d e p e n d i e n d o d e l t i p o especificado , q u e p u e d e s e r :
\% 0: cuadrado de lado RL
\% 1: circulo de radio RL
if type == 0
A = RL^2;
elseif type == 1
A = pi*RL^2;
else
e r r o r ( ’E l t i p o d e s u p e r f i c i e i n t r o d u c i d o n o e s v a l i d o . ’)
end
end

La función volumen prisma recto recibe tres datos: RL, h y type. RL y type definen la geometrı́a
de la base del prisma y tienen el mismo significado que en la función calc area y h es la altura.
El código es el siguiente:
f u n c t i o n [ V ] = v o l u m e n \ _ p r i s m a \ _ r e c t o ( RL , h , t y p e )
\ %V O L U M E N _ P R I S M A _ R E C T O C a l c u l a e l v o l u m e n d e u n p r i s m a r e c t o d e a l t u r a h .
\ %A d m i t e d o s t i p o s d e p r i s m a s : d e b a s e c u a d r a d a o d e b a s e circular , p a r a
\ %c a d a u n o d e e l l o s :
\% Base cuadrada: RL es el lado del cuadrado y type = 0
\% Base circular: RL es el radio del circulo y type = 1
A = c a l c _ a r e a ( RL , t y p e ) ;
V = A*h;
end

14

También podría gustarte