Tarea 3 y Ejercicios

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 23

INSTITUTO

POLITECNICO
NACIONAL

ESCUELA SUPERIOR
DE INGENIERIA
QUIMICA E
INDUSTRIAS
EXTRACTIVAS

M. EN C. HIPOLITO
RUIZ MARTINEZ

PERIODO 18/2
INGENIERIA QUIMICA
INDUSTRIAL

HERRAMIENTAS
COMPUTACIONALES EN GRUPO: 1 IM23
INGENIERIA
ALUMNO: ALFREDO TLAPALE MARTINEZ
SEMESTRE: 2° ENERO-JULIO 2018

MATUTINO

TAREA 3: RESUMEN DEL LIBRO “MATLAB


PARA INGENIEROS” DEL CAPITULO 3 Y
FILOSOFIA DEL BUEN PROGRAMADOR”
FUNCIONES INTERNAS DE MATLAB
La gran mayoría de los cálculos de ingeniería requieren funciones matemáticas muy
complicadas, incluidos logaritmos, funciones trigonométricas y funciones de análisis
estadístico. MATLAB tiene una extensa librería de funciones internas que le permiten realizar
dichos cálculos. Muchos de los nombres de las funciones internas de MATLAB son los mismos
que los definidos no sólo en el lenguaje de programación C, sino también en FORTRAN. Por
ejemplo, para sacar la raíz cuadrada de las variable x, se escribe:
B= sqrt(x)
Una de las grandes ventajas de MATLAB es que los argumentos de la función, por lo general,
pueden ser escalares o matrices. En el ejemplo, si x es un escalar, se regresa un resultado
escalar. Por tanto, el enunciado.
X= 9
B= sqrt(x)
B= 3
Sin embargo, la función raíz cuadrada, sqrt, también puede aceptar matrices como entrada.
En este caso, se calcula la raíz cuadrada de cada elemento, de modo que:
X= [4, 9, 16]
B= sqrt(x)
B= 2, 3, 4
Se puede considerar que todas las funciones tienen tres componentes: nombre, entrada y
salida. En el ejemplo precedente, el nombre de la función es sqrt, la entrada requerida (también
llamada argumento) va dentro de los paréntesis y puede ser un escalar o una matriz, y la salida
es un valor o valores calculados. En este ejemplo, a la salida se le asignó el nombre de variable
b.
Algunas funciones requieren múltiples entradas. Por ejemplo, la función residuo (remainder),
rem, requiere dos entradas: un dividendo y un divisor. Esto se representa como rem(x,y), de
modo que:
Rem (10, 3)
Calcula el residuo de 10 dividido entre 3:
Ans= 1
La función size es un ejemplo de una función que regresa dos salidas. Determina el número
de filas y columnas en una matriz. Por tanto
d= [1 2 3; 4 5 6]
d=
1 2 3
4 5 6
f= size (d)
f=
2 3
También puede asignar nombres de variable a cada una de las respuestas al representar el
lado izquierdo del enunciado de asignación como una matriz. Por ejemplo,
[x, y] =size (d)
x =2
y =3
También puede crear expresiones complicadas mediante funciones anidadas (nesting). Por
ejemplo:
Encuentra la raíz cuadrada del seno de cualesquier valores almacenados en la matriz
llamada x.
Dado que, anteriormente en esta sección, a x se le asignó un valor de 2, el resultado es
g= sqrt(sin(x))
g =0.9536
Las funciones anidadas pueden resultar en código MATLAB algo complicado. Asegúrese de
incluir los argumentos para cada función dentro de su propio conjunto de paréntesis. Desde
luego, su código será más sencillo de leer si descompone las expresiones anidadas en dos
enunciados separados.

USOS DE AYUDA
MATLAB incluye extensas herramientas de ayuda, lo que es especialmente útil para entender
cómo usar las funciones. Existen dos formas de obtener ayuda desde el interior de MATLAB:
una función de ayuda de línea de comando (help) y un conjunto de documentos HTML
disponibles al seleccionar Help de la barra de menú o al usar la tecla de función F1, que, por
lo general, se ubica en la parte superior de su teclado (o que se encuentra al escribir helpwin
en la ventana de comandos).
También existe un conjunto de documentos de ayuda en línea, disponibles a través del botón
Start o el icono Help en la barra de menú. Debe usar ambas opciones de ayuda, pues ellas
ofrecen diferente información y pistas acerca de cómo usar una función específica. Para usar
la función de ayuda de línea de comando, escriba help en la ventana de comandos.

Documents\MATLAB - (No table of contents file)


matlab\testframework - (No table of contents file)
matlab\demos - Examples.
matlab\graph2d - Two dimensional graphs.
matlab\graph3d - Three dimensional graphs.
matlab\graphics - Handle Graphics.
matlab\plottools - Graphical plot editing tools
matlab\scribe - Annotation and Plot Editing.
matlab\specgraph - Specialized graphs.
matlab\uitools - Graphical user interface components and tools
toolbox\local - General preferences and configuration information.
matlab\optimfun - Optimization and root finding.
matlab\codetools - Commands for creating and debugging code
matlab\datafun - Data analysis and Fourier transforms.
matlab\datamanager - (No table of contents file)
matlab\datatypes - Data types and structures.
matlab\elfun - Elementary math functions.
matlab\elmat - Elementary matrices and matrix manipulation.
matlab\funfun - Function functions and ODE solvers.
matlab\general - General purpose commands.
matlab\guide - Graphical user interface design environment
matlab\helptools - Help commands.
matlab\iofun - File input and output.
matlab\lang - Programming language constructs.
matlab\matfun - Matrix functions - numerical linear algebra.
matlab\ops - Operators and special characters.
matlab\polyfun - Interpolation and polynomials.
matlab\randfun - Random matrices and random streams.
matlab\sparfun - Sparse matrices.
matlab\specfun - Specialized math functions.
matlab\strfun - Character strings.
matlab\timefun - Time and dates.
matlab\verctrl - Version control.
matlab\winfun - Windows Operating System Interface Files (COM/DDE)
winfun\NET - Using .NET from within MATLAB
matlab\audiovideo - Audio and Video support.
shared\comparisons - (No table of contents file)
connector\connector - (No table of contents file)
curvefit\curvefit - Curve Fitting Toolbox
curvefit\splines - Curve Fitting Toolbox -- Spline Functions
curvefit\cftoolgui - Curve Fitting Toolbox -- Curve Fitting Tool
curvefit\curvefitdemos - Curve Fitting Toolbox -- Examples
matlab\imagesci - (No table of contents file)
shared\instrument - (No table of contents file)
shared\m3i - (No table of contents file)
optim\optim - Optimization Toolbox
optim\optimdemos - Demonstrations.
toolbox\pde - Partial Differential Equation Toolbox
pde\pdedemos - Partial Differential Equation Toolbox Examples
shared\advisor - (No table of contents file)
controllib\general - Control System Toolbox -- General Utilities.
controllib\graphics - Control Library - Graphics.
graphics\utils - (No table of contents file)
graphics\plotoptions - (No table of contents file)
shared\dastudio - (No table of contents file)
shared\optimlib - Optimization Toolbox Library
shared\pdelib - PDE Toolbox Library
shared\rptgen - (No table of contents file)
shared\statslib - Statistics Toolbox Library
stats\stats - Statistics Toolbox
stats\classreg - (No table of contents file)
stats\clustering - (No table of contents file)
stats\statsdemos - Statistics Toolbox --- Demos
symbolic\symbolic - Symbolic Math Toolbox
symbolic\symbolicdemos - (No table of contents file)
matlab\timeseries - Time series data visualization and exploration.
matlab\hds - (No table of contents file)
matlab\webcam - Webcam support.

Para obtener ayuda acerca de un tema particular, escriba help <topic>. (Recuerde que los
paréntesis angulados, < y >, identifican dónde debe escribir su entrada; no se incluyen en el
enunciado MATLAB real.) Para usar la pantalla de ayuda en ventana, seleccione Help
MATLAB Help de la barra de menú. Aparecerá una versión en ventana de la lista de ayuda.
(Véase la figura 3.1.)
Esta función de ayuda incluye un tutorial MATLAB que encontrará extremadamente útil.
La lista en la ventana izquierda es una tabla de contenidos. Note que la tabla de contenidos
incluye una liga a una lista de funciones, organizada tanto por categoría como alfabéticamente
por nombre. Puede usar esta liga para encontrar qué funciones MATLAB están disponibles
para resolver muchos problemas. Por ejemplo, es posible que quiera redondear un número
que calculó. Use la ventana de ayuda MATLAB para determinar si está disponible una función
MATLAB adecuada.
Seleccione la liga MATLAB Functions Listed by Category (funciones MATLAB listadas por
categoría) (véase la figura 3.1) y luego la liga Mathematics (véase la figura 3.2).
Casi a la mitad de la página está la categoría Elementary Math, que menciona rounding
(redondeo) como un tema. Siga la liga y encontrará toda una categoría dedicada a las
funciones de redondeo. Por ejemplo, round redondea al entero más cercano.

EJERCICIOS DE PRACTICA 3.1


1. Use el comando help en la ventana de comandos para encontrar la sintaxis adecuada para
las siguientes funciones:
a. cos
b. sqrt
c. exp
2. Use la función de ayuda en ventana de la barra de menú para aprender acerca de las
funciones en el problema 1.
3. Vaya a la función de ayuda en línea en www.mathworks.com para aprender acerca de las
funciones en el problema 1.

help cos
cos - Cosine of argument in radians

This MATLAB function returns the cosine for each element of X.


Y = cos(X)

Reference page for cos

See also acos, acosd, cosd, cosh

Other functions named cos


symbolic/cos

help sqrt
sqrt - Square root

This MATLAB function returns the square root of each element of the array X.

B = sqrt(X)

Reference page for sqrt

See also nthroot, realsqrt, sqrtm

exp - Exponential

This MATLAB function returns the exponential for each element of array X.

Y = exp(X)

Reference page for exp

See also expint, expm, expm1, log, log10, mpower, power

FUNCIONES ELEMENTALES DE MATEMATICAS

Las funciones matemáticas elementales incluyen logaritmos, exponenciales, valor absoluto,


funciones de redondeo y funciones que se usan en matemáticas discretas.
Cálculos comunes
Las funciones que se mencionan en la tabla 3.1 aceptan un escalar o una matriz de x valores

EJERCICIOS DE PRACTICA 3.2


Cree un vector x de -2 a +2 con un incremento de
1. Su vector debe ser X= [-2 -1 0 1 2]
a. Encuentre el valor absoluto de cada miembro del vector.
b. Encuentre la raíz cuadrada de cada miembro del vector.
2. Encuentre la raíz cuadrada de -3 y +3.
a. Use la función sqrt.
b. Use la función nthroot.
c. Eleve -3 y +3 a la potencia ½.
¿Cómo varía el resultado?
3. Cree un vector x de -10 a 11 con un incremento de 3.
a. Encuentre el resultado de x dividido entre 2.
b. Encuentre el residuo de x dividido entre 2.
4. Use el vector del problema 3 y encuentre ex.
5. Use el vector del problema 3.
a. Encuentre ln(x) (el logaritmo natural de x).
b. Encuentre log10(x) (el logaritmo común de x).
Explique sus resultados.
6. Use la función sign para determinar cuáles de los elementos en el vector x son positivos.
7. Cambie el format a rat y muestre el valor del vector x dividido entre 2.

>> home
>> x=[-2, -1, 0, 1, 2]
x=
-2 -1 0 1 2
>> abs(x)
ans =
2 1 0 1 2
>> sqrt(x)
ans =
0.0000 + 1.4142i 0.0000 + 1.0000i 0.0000 + 0.0000i 1.0000 + 0.0000i 1.4142 +
0.0000i
>> sqrt(-3)
ans =
0.0000 + 1.7321i
>> sqrt(3)
ans =
1.7321
>> nthroot(-3)
>> nthroot(-3, 3)
ans =
-1.4422
>> nthroot(3, 3)
ans =
1.4422
>> (-3)^(1/3)
ans =
0.7211 + 1.2490i
>> (-3)^(1/2)
ans =
0.0000 + 1.7321i
>> (3)^(1/3)
ans =
1.4422
>> (-3)^(1/2)
ans =
0.0000 + 1.7321i
>> (2)^(1/2)
ans =
1.4142
>> (3)^(1/2)
ans =
1.7321
>> exp(3)
ans =
20.0855
>> y=[-10, 3, 11]
y=
-10 3 11
>> y=[-10: 3: 11]
y=
-10 -7 -4 -1 2 5 8 11
>> y/2
ans =
-5.0000 -3.5000 -2.0000 -0.5000 1.0000 2.5000 4.0000 5.5000
>> rem(y/2)
>> rem(y,2)
ans =
0 -1 0 -1 0 1 0 1
>> exp(y)
ans =
1.0e+04 *
0.0000 0.0000 0.0000 0.0000 0.0007 0.0148 0.2981 5.9874
>> log(y)
ans =
Columns 1 through 5
2.3026 + 3.1416i 1.9459 + 3.1416i 1.3863 + 3.1416i 0.0000 + 3.1416i 0.6931 +
0.0000i
Columns 6 through 8
1.6094 + 0.0000i 2.0794 + 0.0000i 2.3979 + 0.0000i
>> log10(y)
ans =
Columns 1 through 5
1.0000 + 1.3644i 0.8451 + 1.3644i 0.6021 + 1.3644i 0.0000 + 1.3644i 0.3010 +
0.0000i
Columns 6 through 8
0.6990 + 0.0000i 0.9031 + 0.0000i 1.0414 + 0.0000i
>> sign(y)
ans =
-1 -1 -1 -1 1 1 1 1

FUNCIONES DE REDONDEO

MATLAB contiene funciones para algunas diferentes técnicas de redondeo (tabla 3.2).
Probablemente usted esté más familiarizado con el entero más cercano; sin embargo, tal vez
quiera.
MATEMATICAS DISCRETAS

MATLAB incluye funciones para factorizar números, encontrar denominadores y múltiplos


comunes, calcular factoriales y explorar números primos (tabla 3.3). Todas estas funciones
requieren escalares enteros como entrada. Además, MATLAB incluye la función rats, que
expresa un número punto flotante como un número racional, esto es, una fracción. Las
matemáticas discretas son las matemáticas de números enteros.

EJERCICIOS DE PRACTICA 3.3


1. Factorice el número 322.
2. Encuentre el máximo común denominador de 322 y 6.
3. ¿322 es número primo?
4. ¿Cuántos primos existen entre 0 y 322?
5. Aproxime pi como número racional.
6. Encuentre 10! (10 factorial).

>> factor(322)
ans =
2 7 23
>> gcd(322, 6)
ans =
2
>> primes(322)
ans =
Columns 1 through 17
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59
Columns 18 through 34
61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139
Columns 35 through 51
149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229
233
Columns 52 through 66
239 241 251 257 263 269 271 277 281 283 293 307 311 313 317
>> isprime(322)
ans =
0
>> rats(pi)
ans =
355/113
>> round(pi)
ans =
3
>> factorial(10)
ans =
3628800

FUNCIONES TRIGONOMETRICAS
MATLAB incluye un conjunto completo de las funciones trigonométricas estándar y las
funciones trigonométricas hiperbólicas. La mayoría de estas funciones suponen que los
ángulos se expresan en radianes. Para convertir radianes a grados o grados a radianes, se
necesita sacar ventaja del hecho de que pi radianes es igual a 180 grados:
>> degrees=radians*180/pi
>> radians=degrees*pi/180
Para realizar estos cálculos, es necesario el valor de pi, de modo que una constante, pi, es
interna a MATLAB. Sin embargo, dado que pi sino se puede expresar como número en punto
flotante, la constante pi en MATLAB sólo es una aproximación de la cantidad matemática pi.
Usualmente esto no es importante; sin embargo, puede notar algunos resultados
sorprendentes.

FUNCIONES DE ANALISIS DE DATOS


Analizar datos estadísticos en MATLAB es particularmente sencillo, en parte porque todos los
conjuntos de datos se pueden representar mediante una sola matriz y en parte debido a la
gran cantidad de funciones internas de análisis de datos.
Máximo y mínimo
La tabla 3.5 menciona las funciones que encuentran el mínimo y el máximo en un conjunto de
datos y el elemento en el que ocurren dichos valores.
EJERCICIOS DE PRACTICA 3.5

>> X=[4 90 85 75; 2 55 65 75; 3 78 82 79; 1 84 92 93]

X=

4 90 85 75

2 55 65 75

3 78 82 79

1 84 92 93

>> MAX(X)

ANS =

4 90 92 93

>> [A, B]=MAX(X)

A=

4 90 92 93

B=

1 1 4 4

>> INV(X)

ANS =

-0.0987 0.1137 0.5485 -0.4780

0.1996 0.0897 -0.3463 0.0608

-0.2895 -0.2183 0.5511 -0.0586

0.1071 0.1337 -0.2383 0.0189

>> X'

ANS =

4 2 3 1
90 55 78 84

85 65 82 92

75 75 79 93

>> [A, B]=MAX(X')

A=

90 75 82 93

B=

2 4 3 4

>> MAX(X')

ANS =

90 75 82 93

>> MAX(X)

ANS =

4 90 92 93
Media y mediana
Existen muchas formas de encontrar el valor “promedio” en un conjunto de datos. En
estadística, la media de un grupo de valores probablemente es lo que la mayoría llamaría el
promedio. La media es la suma de todos los valores, divididos por el número total de valores.
Otro tipo de promedio es la mediana, o el valor medio. Existe un número igual de valores tanto
más grandes como más pequeños que la mediana. MATLAB proporciona funciones para
encontrar tanto la media como la mediana, como se muestra en tabla 3.6
EJERCICIOS DE PRACTICA 3.6

>> X

X=

4 90 85 75

2 55 65 75

3 78 82 79

1 84 92 93

>> MEAN(X)

ANS =

2.5000 76.7500 81.0000 80.5000

>> MEDIAN(X)

ANS =

2.5000 81.0000 83.5000 77.0000

>> MEAN(X')

ANS =

63.5000 49.2500 60.5000 67.5000

>> MEDIAN(X')

ANS =

80.0000 60.0000 78.5000 88.0000

Sumas y productos
Con frecuencia es útil sumar todos los elementos en una matriz o multiplicar todos los
elementos juntos. MATLAB proporciona algunas funciones para calcular tanto sumas como
productos como se muestra en la tabla 3.7.
Valores de ordenación
La tabla 3.8 menciona varios comandos para ordenar datos en una matriz, en orden
ascendente o descendente.
Determinación del tamaño de matriz
MATLAB ofrece dos funciones (tabla 3.9) que le permiten determinar cuán grande es una
matriz: size y length.

Varianza y desviación estándar


La desviación estándar y la varianza son medidas de cuánto varían los elementos de un
conjunto de datos unos con respecto a otros. Todo estudiante sabe que la calificación promedio
en un examen es importante, pero también es necesario conocer las calificaciones alta y baja
para tener una idea de qué tan bien le fue. Las calificaciones de examen, como muchos tipos
de

EJERCICIOS DE PRACTICA 3.7

>> SORT(X)

ANS =

1 55 65 75

2 78 82 75

3 84 85 79

4 90 92 93

>> SORT(X, 'DESCEND')

ANS =

4 90 92 93

3 84 85 79

2 78 82 75

1 55 65 75

>> SORTROWNS(X, 1)

UNDEFINED FUNCTION 'SORTROWNS' FOR INPUT ARGUMENTS OF TYPE 'DOUBLE'.

DID YOU MEAN:

>> SORTROWS(X, 1)

ANS =

1 84 92 93
2 55 65 75

3 78 82 79

4 90 85 75

EJERCICIOS DE PRACTICA 3.8

>> X

X=

4 90 85 75

2 55 65 75

3 78 82 79

1 84 92 93

>> STD(X)

ANS =

1.2910 15.3052 11.4601 8.5440

>> VAR(X)
ANS =

1.6667 234.2500 131.3333 73.0000

>> SQRT(VAR(X))

ANS =

1.2910 15.3052 11.4601 8.5440

NUMEROS ALEATORIOS
Con frecuencia, en los cálculos de ingeniería se usan números aleatorios como parte de una
simulación de datos medidos. Los datos medidos rara vez se comportan exactamente como
predicen los modelos matemáticos, así que se pueden agregar pequeños valores de números
aleatorios a las predicciones para hacer que un modelo se comporte más como un sistema
real.
Los números aleatorios también se usan para modelar juegos de azar. En MATLAB se pueden
generar dos diferentes tipos de números aleatorios: números aleatorios uniformes y números
aleatorios gaussianos (con frecuencia llamados una distribución normal).

Números aleatorios uniformes


Los números aleatorios uniformes se generan con la función rand. Estos números se
distribuyen de forma pareja entre 0 y 1. (Consulte la función help para más detalles.) La tabla
3.12 cita varios comandos MATLAB para generar números aleatorios.
Se puede crear un conjunto de números aleatorios sobre otros rangos al modificar los números
creados por la función rand. Por ejemplo, para crear un conjunto de 100 números distribuidos
de manera pareja entre 0 y 5, primero cree un conjunto sobre el rango por defecto con el
comando
Números aleatorios gaussianos
Los números aleatorios gaussianos tienen la distribución normal que se muestra en la figura
No hay límite absoluto superior o inferior a un conjunto de datos de este tipo; sólo se vuelve
cada vez menos probable encontrar datos más alejados de la media que se tiene. Los
conjuntos de números aleatorios gaussianos se describen al especificar su promedio y la
desviación estándar del conjunto de datos.

NUMEROS IMAGINARIOS
MATLAB incluye varias funciones que se usan principalmente con números complejos. Los
números complejos consisten de dos partes: una parte real y un componente imaginario.

LIMITACIONES COMPUTACIONALES
Las variables que se almacenan en una computadora pueden asumir un amplio rango de
valores.
En la mayoría de las computadoras, el rango se extiende desde aproximadamente 10 hasta
10, que debe ser suficiente para acomodar la mayoría de los cálculos. MATLAB incluye
funciones para identificar los números reales más grandes y los enteros más grandes que el
programa puede procesar (tabla 3.14).
LIMITACIONES COMPUTACIONALES

La mayoría de las funciones, aunque no todas, requieren un argumento de entrada. Si bien se


usan como si fuesen constantes escalares, las funciones que se mencionan en la tabla 3.15
no requieren entrada alguna.
FILOSOFIA DE UN BUEN PROGRAMADOR
Sintetizaremos aquí las cinco características que debe tener todo buen profesional de la
programación:

1. Interacción. Se puede hablar de interacción en varios niveles: el programador debe ser


capaz de trabajar en un equipo donde compartir opiniones, aceptar sugerencias e intercambiar
ideas. Y al mismo tiempo, debe ser capaz de empatizar con aquellas otras personas que
desconocen el mundo de la programación pero necesitan de sus soluciones. Primer error: el
programador no es ese informático que está todo el día encerrado en una habitación con un
ordenador.
2. Análisis y síntesis. Este profesional debe ser capaz de analizar el problema al que se
enfrenta, sintetizar la información que ha recibido y elegir los datos con los que comenzar el
trabajo. Segundo error: el programador no trabaja de forma estandarizada.
3. Conocimientos. Debe tener una formación que lo capacita como tal. Un buen programador
más que saber el cómo, sabe el porqué de las cosas. No es lo mismo saber cómo solucionar
un problema, que saber realmente cómo funciona esa solución. Tercer error: El programador
no es un libro cerrado.
4. Creatividad. El buen programador debe tener creatividad para obtener soluciones factibles,
rápidas y sencillas a problemas complicados. En un mismo lenguaje de programación puede
encontrar varias formas de solventar una situación. Cuarto error: Los ordenadores son
cuadriculados, los programadores no.
5. Inquietud. Un buen programador siempre se sigue formando, busca nuevas formas de
enriquecer su trabajo, y es curioso por naturaleza. Algo que repercutirá de forma muy positiva
en su trabajo. Quinto error: el programador no es un friki, el programador sigue aprendiendo.

También podría gustarte