ASIGNACION CORRESPONDIENTE A FUNCIONES Problema 1. Encuentre la raíz cubica de -5, tanto con la función nthroot como con elevar -5 a la potencia 1/3. Explique la diferencia en sus respuestas. Pruebe que ambos resultados de hecho son respuestas correctas al elevar al cubo c ubo y mostrar que son iguales a -5. Solución.
En la imagen se puede mostrar todo e l código.
Problema 2. MATLAB contiene funciones para calcular el logaritmo natural (log), el logaritmo a la base 10 (log10) y el logaritmo a la base 2 (log2). Sin embargo, se requiere encontrar un logaritmo de base distinta (por ejemplo, base b), tendrá que hacer la matemática por usted mismo con la fórmula:
log() = lloogg()()
¿Cuál es el log b de 10 cuando b se define de 1 a 10 en incrementos de 1? Solución.
∶∶′
Para crear el vector de valores de se utilizó la notación en en donde y es el intervalo de nuestro vector e es el incremento, la última comilla es para usar un vec tor transpuesto es decir en vez de fila se hace columna esto para tener una mejor comprensión de nuestra tabla.
log()
1 2 3
1
⟹⏞
[23] log() g()
El es igual que el logaritmo natural que en MATLAB es el logaritmo de 10 para cada valor de simplemente se hace:
, por lo cual para encontrar
1
lolog(gg(g((10) 10)) En la imagen se puede mostrar todo e l código.
Problema 3. Las poblaciones tienden a expandirse exponencialmente. Esto es:
= Donde
= = = =
Población actual población original
tarifa de crecimiento continua, expresado como fracción
tiempo
Si originalmente se tiene 100 conejos que se reproducen a una tasa de crecimiento constante de 90% (r=0.9) por año, encuentre cuantos conejos tendrá al final de 10 años. Solución.
En este caso para resolver el problema simplemente hay que sustituir los datos del problema en la ecuación dada. En la imagen se puede mostrar todo el código.
2
Problema 4. Las tasas de reacc ión química son proporcionales a una constante de tasa k que cambia con la temperatura de acuerdo con la ecuación Arrhenius:
= −/ Para cierta reacción:
= 8000 8000 / / = 1.987 987 / / =1200 − Encuentre los valores de k para temperaturas desde 100K hasta 500K, en incrementos de 50 grados. Cree una tabla con sus resultados. Solución.
∶∶′
Para crear el vector de valores de la temperatura se utilizó la notación en en donde y es el intervalo de nuestro vector e es el incremento, la última comilla es para usar un vector transpuesto es decir en vez de fila se hace columna esto para tener una mejor comprensión de nuestra tabla.
1 2 3
1
⟹⏞
[23]
Teniendo los valores de temperatura solo hay que sustituir los valores en la formula. En la imagen se puede mostrar todo e l código.
3
(a,’Data’,b,’ColumnName’, e’, c) c ), Con los resultados se puede crear una tabla con el comando uitable(a,’Data’,b,’ColumnNam donde es el nombre de la figura (figure en MATLAB), es el nombre de la matriz que contiene nuestros datos y el nombre de la variable que contiene el título de las columnas de nuestra tabla, ‘Data’ y ‘ColumnName’ ‘ColumnName’ son opciones por defecto y no se cambian se escriben como tal.
La tabla creada se muestra enseguida.
4
Problema 5. Considere los requerimientos de aire acondicionado una casa que en su interior se calienta por calor que se desecha de la iluminación y los aparatos eléctricos, el calor que se filtra desde el exterior y del calor que expulsan las personas de la casa. Un acondicionador de aire debe ser capaz de remover toda esta energía térmica con la finalidad de evitar que aumente la temperatura interna. Suponga que hay 20 focos, que expulsan 100 J/s cada uno u cuatro aparatos que expulsan 500 J/s cada uno. Suponga que e l calor se filtra del exterior a una tasa de 3000 J/s.
a) ¿Cuánto calor por según debe remover de la casa el acondicionador de aire? b) Una unidad particular de acondicionador de aire puede manipular 2000 J/s ¿Cuántas de estas unidades se requieren para mantener co nstante la temperatura de la casa? Solución.
5
Problema 6. Genere un juego de azar de 5 suertes de dos dígitos cada suerte. Solución.
,,
Para generar comandos al azar se utiliza el comando rendi([a,b],c,d) donde es el intervalo, el numero de datos en columnas y el número de datos en fila. Para generar datos de dos cifras estos tienen que estar en e l intervalo 10 a 99 ya que antes solo son de una cifra y después son de 3.
El código se muestra en la siguiente imagen.
6
Problema 7. Los numero primos muy grandes se usan en criptografía. ¿Cuántos números primos existen entre 10000 y 20000? (Estos no son números primos suficientemente grandes para usarse en cifrados.) (Sugerencia: use la función primes y el comando length. ) Solución.
El comando primes solo encuentra números primos de 1 hasta el valor indicado por ello se encuentran los valores primos de 1 hasta 20000 y los números primos de 1 hasta 10000 y se restan los datos obtenidos de cada uno con el comando length tal y como se muestra en la imagen.
Problema 8. A veces es conveniente tener una tabla de seno, coseno y tangente en lugar de usar una calculadora. Cree una tabla de estas tres funciones trigonométricas para ángulos de 0 a 2 , con un espaciamiento de 0.1 radianes. Su tabla debe contener una columna para el ángulo, y luego seno, coseno y tangente.
Solución.
∶∶′
Para crear el vector de valores del ángulo se utilizó la notación en donde y es el intervalo de nuestro vector e es el incremento, la última comilla es para usar un vector transpuesto es decir en vez de fila se hace columna esto para tener una mejor comprensión de nuestra tabla.
1 2 3
1
⟹⏞
[23]
7
Como podemos observar en la imagen MATLAB multiplica nuestra matriz por cierto valor debido a
para
que dos valores de la tangente son demasiado grandes estos valores se encuentran en y arreglar este problema podemos cambiar el formato de decimales a format short e .
Con los resultados se puede crear una tabla con el comando uitable(a,’Data’,b,’Colum uitable(a,’Data’,b,’ColumnName’, nName’, c), donde es el nombre de la figura (figure en MATLAB), es el nombre de la matriz que contiene nuestros datos y el nombre de la variable que contiene el título de las columnas de nuestra tabla, ‘Data’ y ‘ColumnName’ ‘ColumnName’ son opciones por defecto y no se cambian se escriben como tal.
8
Como podemos observar el tamaño de la t abla no es lo demasiado larga para contener todos los datos esto lo podemos solucionar incluyendo la opción ‘Position’.
En la siguiente imagen se muestra como se incluyó la opción ‘Position’ en nuestro comando uitable.
9
Enseguida se muestra nuestra tabla más ajustada a los datos.
10
Problema 9. Solución. ASIGNACIONES DE OPERACIONES DE ARREGLOS Problema 1.
a) Cree un vector igualmente espaciado de valores desde 1 hasta 20 en incrementos de 1. b) Cree un vector con valores desde cero hasta 2 en incrementos de . c) Cree un vector que contenga 15 valores, igualmente espaciados entre 4 y 20. (Sugerencia use el comando linspace. Si no puede recordar la sintaxis, e scriba help linspace.) d) Cree un vector que contenga 10 valores logarítmicamente espaciados entre 10 y 1000. (Sugerencia: use el comando logspace.)
1/
Solución.
11
∶∶′
a) Para crear el vector de valores se utilizó la notación en en donde y es el intervalo de nuestro vector e es el incremento, la última comilla es para usar un vector transpuesto es decir en vez de fila se hace columna esto para tener una mejor comprensión de nuestra tabla.
1 2 3
1
⟹⏞
[23]
∶∶′
b) Para crear el vector de valores se utilizó la notación en en donde y es el intervalo de nuestro vector e es el incremento, la última comilla es para usar un vector transpuesto es decir en vez de fila se hace columna esto para tener una mejor comprensión de nuestra tabla.
1 2 3
1
⟹⏞
[23]
12
c)
Para crear el vector de valores se utilizó el comando linspace(a,b,n), donde a y b es el intervalo que deseamos y n el número de valores que deseamos entre este intervalo, la última comilla es para usar un vector transpuesto es decir en vez de fila se hace columna esto para tener una mejor mej or comprensión de nuestra tabla.
1 2 3
1
El código se muestra en la siguiente imagen.
⟹⏞
[23]
d) Para este caso se usó el comando logspace(a,b,n) donde a y b es el intervalo de exponentes con base 10 es decir de
10 10 hasta
en este caso queremos de 10 a 1000 lo que sería lo 13
10 10
mismo que hasta entonces a y b serán 1 y 10 y n el número de intervalos que es 10, esto se muestra en la siguiente imagen.
Problema 2.
a) Cree una tabla de conversión de pies a metros. C omience la columna pies en 0, incremente en 1 y termine en 10 pies. (busque factor de conversión en un manual o en línea.) b) Cree una tabla de conversiones de radianes a g rados. Comience la columna radianes en 0 e incremente por 0.1 radian, hasta radianes. (Busque el factor de conversión en un manual o en línea.) c) Cree una tabla de conversiones de ml/h a pies/s. Comience la columna ml/h en 0 y termine en 100 ml/h. Imprima 15 valores en su tabla. (Busque el factor de conversión en un manual o en línea.)
Solución.
a) Para convertir de pies a metros metr os se usó la siguiente equivalencia: 1 ft = 0.3048 m
∶∶′
Para crear el vector de pies se utilizó la notación en en donde y es el intervalo de nuestro vector e es el incremento, la última comilla es para usar un vector t ranspuesto es decir en vez de fila se hace columna esto para tener una mejor comprensión de nuestra tabla.
21 22 23
21
⟹⏞
[2223] 14
a,’Data’,b,’ColumnName’, c), Con los resultados se puede crear una tabla con el comando uitable( a,’Data’,b,’ColumnName’, donde es el nombre de la figura (figure en MATLAB), es el nombre de la matriz que contiene nuestros datos y el nombre de la variable que contiene el título de las columnas de nuestra tabla, ‘Data’ y ‘ColumnName’ ‘ColumnName’ son opciones por defecto y no se cambian se escriben como tal.
15
b) Para convertir de radianes a grados se usó la siguiente equivalencia:
1 = 180° ∶∶′
Para crear el vector de radianes se utilizó la notación en en donde y es el intervalo de nuestro vector e es el incremento, la última comilla es para usar un vector transpuesto es decir en vez de fila se hace columna esto para tener una mejor comprensión de nuestra tabla.
21 22 23
21
⟹⏞
[2223]
16
uitable(a,’Data’,b,’ColumnName’, nName’, c), Con los resultados se puede crear una tabla con el comando uitable(a,’Data’,b,’Colum donde es el nombre de la figura (figure en MATLAB), es el nombre de la matriz que contiene nuestros datos y el nombre de la variable que contiene el título de las columnas de nuestra tabla, ‘Data’ y ‘ColumnName’ ‘ColumnName’ son opciones por defecto y no se cambian se escriben como tal.
17
c)
Para convertir de ml/h a ft/s se usó la siguiente equivalencia: 1 mi/h = 1.466667 ft/s
∶∶′
Para crear el vector de ml/h se utilizó la notación en en donde y es el intervalo de nuestro vector e es el incremento, la última comilla es para usar un vector transpuesto es decir en vez de fila se hace columna esto para tener una mej or comprensión de nuestra tabla.
21 22 23
21
⟹⏞
[2223]
18
uitable(a,’Data’,b,’ColumnName’, nName’, c), Con los resultados se puede crear una tabla con el comando uitable(a,’Data’,b,’Colum donde es el nombre de la figura (figure en MATLAB), es el nombre de la matriz que contiene nuestros datos y el nombre de la variable que contiene el título de las columnas de nuestra tabla, ‘Data’ y ‘ColumnName’ ‘ColumnName’ son opciones por defecto y no se cambian se escriben como tal.
19
Problema 3. La ecuación general para la distancia que recorre un cuerpo e n caída libre (ignorando la fricción del aire) es:
Suponga que
=9.8
= 12
. Genere una tabla de tiempo contra distancia recorrida para valores de
tiempo de 0 a 100 segundos. Elija un incremento adecuado para su variable tiempo. (Sugerencia: tenga cuidado de usar los operadores correcto; ¡ es una operación arreglo!)
Solución.
∶∶′
Para crear el vector de tiempo se utilizó la notación en en donde y es el intervalo de nuestro vector e es el incremento, la última comilla es para usar un vector transpuesto es decir en vez de fila se hace columna esto para tener una mejor comprensión de nuestra tabla.
21 22 23
21
⟹⏞
[2223] 20
uitable(a,’Data’,b,’ColumnName’, nName’, c), Con los resultados se puede crear una tabla con el comando uitable(a,’Data’,b,’Colum donde es el nombre de la figura (figure en MATLAB), es el nombre de la matriz que contiene nuestros datos y el nombre de la variable que contiene el título de las columnas de nuestra tabla, ‘Data’ y ‘ColumnName’ ‘ColumnName’ son opciones por defecto y no se cambian se escriben como tal.
Como podemos observar el tamaño de la t abla no es lo demasiado larga para contener todos los datos esto lo podemos solucionar incluyendo la opción ‘Position’.
21
En la siguiente imagen se muestra como se incluyó la opción ‘Position’ en nuestro comando uitable.
Enseguida se muestra nuestra tabla más ajustada a los datos.
22
Problema 4. La ley de Newton de la gravitación universal dice que la fuerza ej ercida por una partícula sobre otra es:
=
Donde la constante de gravitación universal G tiene e l valor experimental de:
− =6.673∗10 23
La masa de cada partícula es y , respectivamente, y es la distancia entra las dos partículas. Use la ley de Newton de gravitación universal para encontrar la fuerza que ejerce la tierra sobre la Luna, si supone que:
6∗10 7.4∗10
La masa de la tierra es aproximadamente
.
La masa de la Luna es aproximadamente
La Tierra y la Luna están separadas a una distancia promedio de
.
3.9∗10
.
Solución.
En este caso solo es cuestión de sustituir los datos en la ecuación dada.
Problema 5. Se sabe que la Tierra y la Luna no siempre están separadas la misma distancia.
Encuentre la fuerza que la Luna ejerce sobre la tierra para 10 distancias entre .
10
3.8∗10 4 ∗ y de
Solución.
∶∶′
Para crear el vector de distancias se utilizó la notación en en donde y es el intervalo de nuestro vector e es el incremento, la última comilla es para usar un vector transpuesto es decir en vez de fila se hace columna esto para tener una mejo r comprensión de nuestra tabla.
21 22 23
21
⟹⏞
[2223]
Una vez creado el vector de distancias se calculó la fuerza para cada una de ellas recordando que como son operaciones con arreglos se usan los operadores para multiplicar, para dividir y para elevar a una potencia. Son los operadores comunes solo que se coloca un punto antes de ellos.
.∗
./
.^
24
Problema 6. Cree una matriz llamada G_a_R compuesta de dos columnas, una que represente grados y la otra que represente el valor correspondiente en radianes. Para este ejercicio es válido cualquier conjunto de valores. Guarde la m atriz a un archivo llamado degree s.dat. Una vez guardado el archivo. Limpie su área de trabajo y luego cargue los datos del archivo de vuelta en MATLAB. Solución.
Se escogió el intervalo de 0 a 360 grados con incrementos de 5 grados. Para convertir de grados radianes se usó la siguiente equivalencia.
180° = 1
25
Para guardar la matriz se usó el comando save nombre.dat matriz -ascii -double en el cual se coloca el nombre que le queramos poner a nuestro archivo seguido del nombre de nuestra matriz.
Para borrar todo se usa el e l comando clear y para limpiar la ventana de comandos se usa clc.
26
Para cargar el archivo se usa el comando load seguido del nombre de nuestro archivo.
27
28