Sunteți pe pagina 1din 3

TALLER 1: VARIABLES EN MATLAB Y SU ARITMTICA

Profesor: Giovanni Caldern


Escuela de Matemticas, Facultad de Ciencias
Universidad Industrial de Santander
Bucaramanga, Colombia

21 de mayo de 2016

Para todos los problemas planteados en este taller, escriba el cdigo necesario para su resolucin
y trate, en lo posible, de dar respuesta a las preguntas1 de cada problema.
Problema 1 Defina las matrices:
     
1 2 5 6 1 0
A= , B= , C= ,
3 4 7 8 0 1

A partir de A, B, C y la matriz de ceros (2 2) forme la matriz



A 0 0
D= 0 B 0
0 0 C

Genere ahora un vector b, con valores entre 0 y 1, con la misma dimensin del nmero de filas
o columnas de la matriz D, para esto use el comando linspace(). Finalmente, resuelva el
sistema Ax = b.

Problema 2 En general, se puede generar N nmeros aleatorios2 en el intervalo [a, b] con la


frmula r = a + (b a). rand(N, 1). Por ejemplo, r = 5 + (5 + 5) rand(10, 1) genera un
vector columna de 10 nmeros aleatorios entre [5, 5]. A partir de lo anterior, genere un vector
x de dimensin (1 100) con valores en [10, 10]. Use este vector para evaluar la funcin

x2 + 2 cos(x)
f (x) = ,
2 + x sin(ex2 )
con los valores de x y f (x) forme una matriz (100 2).

Problema 3 Encuentre el mximo y el mnimo de cada columna y fila de la matriz anterior.


Cul ser la suma de cada columna? Observacin: Use la ayuda de MATLAB para obtener
ms informacin de los comandos: max(), min(), sum().
1
Las preguntas buscan llamar la atencin sobre los resultados numricos obtenidos. Pues, aunque se logre
programar muy bien, en problemas de ciencias e ingeniera siempre existir un factor perturbador a los cdigos:
... la aritmtica finita del computador.
2
La funcin randi() genera nmeros aleatorios enteros. Por ejemplo, randi([1050], 1, 5) genera 5 enteros
aleatorios distribuidos entre 10 y 50.
MATLAB I Prof. Giovanni Caldern 2

Problema 4 Genere un vector x de 10 nmeros reales aleatorios en el intervalo [10, 10].


Utilice las funciones round(x), fix(x), floor(x), ceil(x), para obtener un nuevo vector
de nmeros enteros. Utilice la ayuda de MATLAB para justificar los resultados obtenidos.

Problema 5 Usando linspace() genere un vector x con valores entre [10, 10] con un incre-
mento de 0.2. Use este vector x para evaluar las funciones:

f (x) = x2 + 1 x f (x) = log(|x|) 1
f (x) = x3 (sin(x) x) f (x) = ln(|x|) ln(|x3 + 2|)

Use ahora el comando plot(x,y) para graficar cada funcin. Observacin: Acuda a la ayuda
de MATLAB (help plot;) para mayor informacin del comando.

Problema 6 Resuelva el sistema Ax = b con



1 2 3 1
A = 1 1/2 1/3 b= 0
4 2 4/3 1

Ahora, cambie los valores de 1/3 y 4/3, en la matriz A, por sus valores truncados 0.333333
y 1.333333, respectivamente. Resuelva de nuevo el sistema Ax = b. Qu puede concluir?
Observacin: Use la funcin det(), si fuera necesario, para justificar su conclusin.

Problema 7 Genere las matrices A, B y el vector b:


     
1 2 1 2 1
A= , B= , b=
4 8 + eps 4 8 + 1014 2

Resuelva los sistemas Ax = b y Bx = b. Qu puede opinar del resultado? Observacin:


Busque ayuda en MATLAB sobre el comando eps.

Problema 8 La tierra no es una esfera; est ligeramente aplanada por los polos y por lo
tanto es ms bien un esferoide aplanado. La frmula para su volumen es V = 43 a2 b. Escriba
un archivo en el editor de MATLAB (volumen.m) que calcule el volumen de la tierra con los
siguientes valores:

a = 12754500 mts. b = 12711100 mts. = 3.14159265359

Problema 9 Escriba y corra un programa para calcular


p x2
f (x) = x2 + 1 1 g(x) =
( x2 + 1 + 1)

Para una sucesin de valores de x, como: 81 , 82 83 , .... Aunque f = g, la computadora dar


resultados diferentes. Cules de los resultados son de fiar y cules no?
MATLAB I Prof. Giovanni Caldern 3

Problema 10 Escriba y corra un programa para imprimir los valores de las funciones

f (x) = x8 8x7 + 28x6 56x5 + 70x4 56x3 + 28x2 8x + 1


g(x) = (((((((x 8)x + 28)x 56)x + 70)x 56)x + 28)x 8)x + 1
h(x) = (x 1)8

en puntos igualmente espaciados y que cubran el intervalo [0.99 1.1]. Calcule cada funcin
en forma directa sin que tenga que agrupar o factorizar. Observe que las tres funciones son
idnticas. Trate de explicar por qu no todos los valores impresos son positivos ni iguales para
los tres casos, cmo debera suceder?

Problema 11 Un experimento numrico interesante consiste en calcular el producto escalar


de los siguientes dos vectores:

x = [2.718281828, 3.141592654, 1.414213562, 0.5772156649, 0.3010299957]


y = [1486.2497, 878366.9879, 22.37492, 4773714.647, 0.000185049]

Calcule la sumatoria de las cuatro formas siguientes:

En orden ascendente ni=1 xi yi .


P

En orden descendente 1i=n xi yi .


P

En orden del mayor al menor (sume los nmeros positivos, de mayor a menor, luego sume
los nmeros negativos de menor a mayor, y luego sume ambos resultados parciales).

En orden del menor al mayor (inversamente a como se realiz la suma en el mtodo


anterior) .
Compare los resultados con el valor correcto con siete decimales 1.006571 109 . Justi-
fique sus resultados.

Problema 12 Repita el problema anterior, pero elimine el 9 final de x4 y el 7 final de x5 .


Qu efectos provoca este pequeo cambio en los resultados?

Problema 13 Los polinomios de Chebyshev pueden ser generados del sistema recurrente

Tn+1 (x) = 2xTn (x) Tn1 (x) para todo n 1

con T0 (x) = 1 y T1 (x) = x.


Escribir un programa llamado chebyshev.m que calcule y grafique los polinomios de Chebyshev
de grado n = 1 : 5 y x en [1, 1]. Observacin: nuevamente use la ayuda de MATLAB, si fuera
necesario, para implementar el comando plot(x,y).

S-ar putea să vă placă și