You are on page 1of 74

CLCULO

NUMRICO
Facultad: FIAG
Escuela: Ing. Civil
Ao Acadmico: 2017
Ao de estudios: Segundo
Docente: Dr. Javier Lozano Marreros

UNJBG - Dr. Javier Lozano Marreros


1
Qu es MATLAB?
MATLAB es una de las muchas sofisticadas
herramientas de computacin disponibles en el
comercio para resolver problemas de
matemticas
MATLAB es una abreviatura de Matrix
Laboratory (LABoratorio MATricial)
MATLAB es ptimo para clculos matriciales.

UNJBG - Dr. Javier Lozano Marreros


2
Grficas

Lenguaje de Clculo
numrico
programacin computacional

MATLAB

Toolboxes Simulink

UNJBG - Dr. Javier Lozano Marreros


3
UNJBG - Dr. Javier Lozano Marreros
4
Ventana de apertura de MATLAB

UNJBG - Dr. Javier Lozano Marreros


5
Ventana de comandos (command window)

UNJBG - Dr. Javier Lozano Marreros


6
instrucciones a ejecutar

UNJBG - Dr. Javier Lozano Marreros


7
EDITOR DE CODIGO

UNJBG - Dr. Javier Lozano Marreros


8
VENTANA DE GRFICOS

Curvas en el plano

UNJBG - Dr. Javier Lozano Marreros


9
Mallas en el
espacio

UNJBG - Dr. Javier Lozano Marreros


10
Curvas en el
espacio

UNJBG - Dr. Javier Lozano Marreros


11
Ventana del rea de trabajo (workspace)
Muestra el navegador de espacio de
trabajo, una interfaz grfica de usuario
que le permite ver y administrar el
contenido del espacio de trabajo en
MATLAB.
Permite realizar el equivalente de las
funciones clear, load, open y save.
El navegador del rea de trabajo
tambin muestra y actualiza
automticamente los clculos
estadsticos de cada variable, que
puede elegir mostrar u ocultar.
UNJBG - Dr. Javier Lozano Marreros
12
VARIABLES
Las variables deben empezar con una letra;
seguida de letras, dgitos o guiones de
subrayado. Los caracteres de puntuacin no
son permitidos en las variables.
Las variables son sensibles a las
maysculas:
Civil es diferente de civil
UNJBG - Dr. Javier Lozano Marreros
13
VARIABLES
MATLAB reserva una lista de palabras
clave para uso del programa, que no se
pueden asignar como nombres de variable.
El comando
>>iskeyword
hace que MATLAB elabore una lista de
tales nombres reservados

UNJBG - Dr. Javier Lozano Marreros


14
MATRICES (ARREGLOS) en MATLAB
Las matrices se representan como filas y columnas
dentro de corchetes
Escalar: matriz de un solo valor

A 4

4 1 2
B 4 5 C D
6 3 4
UNJBG - Dr. Javier Lozano Marreros
15
Operaciones aritmticas entre dos escalares
Operacin Sintaxis algebraica Sintaxis MATLAB
Suma a+b a+b
Resta a-b a-b
Multiplicacin axb a*b
Divisin ab a/b
Exponenciacin ab a^b

UNJBG - Dr. Javier Lozano Marreros


16
Orden de las operaciones

MATLAB sigue las reglas algebraicas estndar para el orden de


operacin:
Primero realiza los clculos adentro de parntesis, desde el
conjunto ms interno hasta el ms externo.
A continuacin, realiza operaciones de exponenciacin.
Luego realiza operaciones de multiplicacin y divisin de
izquierda a derecha.
Finalmente, realiza operaciones de suma y resta de izquierda a
derecha.

UNJBG - Dr. Javier Lozano Marreros


17
Ejercicio de prctica - 1

Cree y pruebe la
sintaxis MATLAB para
evaluar las siguientes
expresiones
Verifique sus respuestas

UNJBG - Dr. Javier Lozano Marreros


18
Ejercicio
de
prctica
2

UNJBG - Dr. Javier Lozano Marreros


19
UNJBG - Dr. Javier Lozano Marreros
20
Solucin

UNJBG - Dr. Javier Lozano Marreros


21
Solucin

UNJBG - Dr. Javier Lozano Marreros


22
Solucin

UNJBG - Dr. Javier Lozano Marreros


23
MATRICES (ARREGLOS) en MATLAB
Vector (Arreglo unidimensional)

VECTOR FILA:

v = [v1,v2,v3, ,vn]

VECTOR COLUMNA:
v = [v1;v2;v3; ;vn]

UNJBG - Dr. Javier Lozano Marreros


24
Vector fila:

>> x=[1,2,3]
x =
1 2 3

>> sin(x)
ans =
0.8415 0.9093 0.1411
UNJBG - Dr. Javier Lozano Marreros
25
Vector columna:

>> y=[10; 20; 30]


y =
10
20
30
>> sqrt(y)
ans =
3.1623
4.4721
5.4772
UNJBG - Dr. Javier Lozano Marreros
26
OTRAS FORMAS DE CREAR UN VECTOR
1. Con el operador dos puntos(:)

Vector fila:

Var = [Vi: Inc: Vf]

Donde:
Var: nombre de la variable
Inc: incremento
Vi: valor inicial
Vf: Valor final
UNJBG - Dr. Javier Lozano Marreros
27
>> v=[0:0.2:1]
v =
0 0.2000 0.4000 0.6000 0.8000 1.0000

>> x=-1:.5:3
x =
-1.0000 -0.5000 0 0.5000
1.0000 1.5000 2.0000 2.5000
3.0000

UNJBG - Dr. Javier Lozano Marreros


28
2. Con la funcin linspace()
linspace(Vi, Vf, NE)
Donde:
Vi : valor inicial
Vf : valor final
NE : nmero de elementos

UNJBG - Dr. Javier Lozano Marreros


29
>> t=linspace(0,pi,5)
t =
0 0.7854 1.5708 2.3562 3.1416

>> a=linspace(-1,2,6)
a =
-1.0000 -0.4000 0.2000 0.8000
1.4000 2.0000

UNJBG - Dr. Javier Lozano Marreros


30
OTRAS OPCIONES
Devuelve el n-simo elemento del vector x
x(n)
Devuelve los elementos del vector x situados entre el a-
esimo y b-simo elemento, y ambos inclusive
x(a:b)
Devuelve los elementos del vector x situados entre el a-
esimo y b-simo elemento, y ambos inclusive, pero
separados de p en p unidades.
x(a:p:b)
Devuelve el primero, tercero y quinto elemento.
x([1,3,5])
Devuelve el numero de elementos del vector.
length(x)
UNJBG - Dr. Javier Lozano Marreros
31
>> a=linspace(-1,2,6)
a =
-1.0000 -0.4000 0.2000
0.8000 1.4000 2.0000

>> a(4)
ans =
0.8000

UNJBG - Dr. Javier Lozano Marreros


32
>> a=linspace(-1,2,6)
a =
-1.0000 -0.4000 0.2000
0.8000 1.4000 2.0000

>> a(2:4)
ans =
-0.4000 0.2000 0.8000

UNJBG - Dr. Javier Lozano Marreros


33
>> y=-1:.5:3
y =
-1.0000 -0.5000 0 0.5000
1.0000 1.5000 2.0000 2.5000
3.0000

>> y(1:3:5)
ans =
-1.0000 0.5000

UNJBG - Dr. Javier Lozano Marreros


34
>> y=-1:.5:3
y =
-1.0000 -0.5000 0
0.5000 1.0000 1.5000
2.0000 2.5000 3.0000

>> y([1,3,9])
ans =
-1 0 3
UNJBG - Dr. Javier Lozano Marreros
35
>> y=-1:.5:3
y =
-1.0000 -0.5000 0
0.5000 1.0000 1.5000
2.0000 2.5000 3.0000

>> length(y)
ans =
9

UNJBG - Dr. Javier Lozano Marreros


36
MATRICES
Arreglos bidimensionales
a11 a12 a1n
1 2 3
a a2 n
21 a22 4 5 6

7 8 9
a m1 am 2 amn

Para representar una matriz de mxn elementos


M=[a11,a12,...,a1n;
a21,a22,...,a2n;...;am1,am2,...,amn]

En lugar de las comas se pueden utilizar espacios


UNJBG - Dr. Javier Lozano Marreros
37
Crea la matriz de 4 filas y 3 columnas

>> A=[1,4,-3;5,-7,8;2,5,1]
A =
1 4 -3
5 -7 8
2 5 1

UNJBG - Dr. Javier Lozano Marreros


38
Opciones para manipular elementos de una matriz

A(i,j) Devuelve el elemento de la matriz A


que esta ubicado en la fila i y en la columna j.

A(i, :) Devuelve los elementos de la i-sima


fila de la matriz A

A(:, j) Devuelve los elementos de la jsima


columna de la matriz A
UNJBG - Dr. Javier Lozano Marreros
39
Ejercicios de prctica
>> A=[1,4,-3;5,-7,8;2,5,1]
A =
1 4 -3
5 -7 8
2 5 1

>> A(2,3)
ans =
8
UNJBG - Dr. Javier Lozano Marreros
40
>> A=[1,4,-3;5,-7,8;2,5,1]
A =
1 4 -3
5 -7 8
2 5 1

>> A(2,:)
ans =
5 -7 8

UNJBG - Dr. Javier Lozano Marreros


41
>> A=[1,4,-3;5,-7,8;2,5,1]
A =
1 4 -3
5 -7 8
2 5 1

>> A(:,3)
ans =
-3
8
1

UNJBG - Dr. Javier Lozano Marreros


42
>> A=[1,4,-3;5,-7,8;2,5,1]
A =
1 4 -3
5 -7 8
2 5 1

>> A([1:3],[2:3])
ans =

4 -3
-7 8
5 1

UNJBG - Dr. Javier Lozano Marreros


43
MATRICES ESPECIALES

diag(A)
Devuelve los elementos de la diagonal de la matriz A como vector
columna

eye(n)
Crea la matriz identidad de orden n.

zeros(m,n)
Crea la matriz de orden mxn, cuyos elementos son ceros.

UNJBG - Dr. Javier Lozano Marreros


44
ones(m,n)
Crea la matriz de orden mxn, cuyos elementos son unos.

rand(m,n)
Crea la matriz aleatoria de orden mxn.

size(A)
Devuelve el orden(tamao) de la matriz A

45
UNJBG - Dr. Javier Lozano Marreros
A
Devuelve la matriz traspuesta de la matriz A

det(A)
Devuelve la determinante de una matriz.

inv(A)
Devuelve la matriz inversa de la matriz A
46
UNJBG - Dr. Javier Lozano Marreros
Operadores en MATLAB

Operacin Sintaxis MATLAB

Suma de matrices A+B

Resta de matrices A-B

Multiplicacin de matrices A*B

Divisin de matrices A/B = A*inv(B)

UNJBG - Dr. Javier Lozano Marreros


47
Operadores en MATLAB

Operacin Sintaxis MATLAB

Multiplicacin punto (elemento a A .* B


elemento)
Divisin punto (elemento a A ./ B = [A(i,j)/B(i,j)]
elemento)
Potencia de escalares o potencia A^p
escalar de matriz
Potencia de matrices (elemento a A .^ B = [A(i,j)^B(i,j)]
elemento)

UNJBG - Dr. Javier Lozano Marreros


48
OPERADORES RELACIONALES
Operacin Sintaxis MATLAB
Menor que
<
Mayor que
>
Menor o igual
<=
Mayor o igual
>=
Igualdad
==
Diferente
~=
UNJBG - Dr. Javier Lozano Marreros
49
Operadores lgicos

Operacin Sintaxis MATLAB

Negacin
~
Conjuncin
&
Disyuncin
|
UNJBG - Dr. Javier Lozano Marreros
50
PROGRAMACIN EN
MATLAB

PROGRAMAS QUE SE EJECUTAN EN LA


VENTANA DE COMANDOS

UNJBG - Dr. Javier Lozano Marreros


51
Cdigo en MATLAB
Scripts
Un script es una secuencia de instrucciones
de MATLAB guardada en un archivo con
extensin .m

Para ejecutar el programa:


Pulsar F5

Escribir el nombre del archivo en el


prompt de la ventana de comandos.
UNJBG - Dr. Javier Lozano Marreros
52
Ventana Scripts

UNJBG - Dr. Javier Lozano Marreros


53
Entrada de datos
LA FUNCIN input

variable

variable = input(texto)
variable = input(texto,'s')

UNJBG - Dr. Javier Lozano Marreros


54
N, f(x)

N = input('ingrese el numero de terminos: ')

txt=input ('Ingrese la funcion f(x):','s');


f = inline(txt);
55
UNJBG - Dr. Javier Lozano Marreros
Salida de datos
LA FUNCION disp

variable

disp(variable)
UNJBG - Dr. Javier Lozano Marreros
56
Salida de datos

LA FUNCION fprintf

Escribe una cadena con formato.

SINTAXIS
cadena = fprintf(formato,variables)

UNJBG - Dr. Javier Lozano Marreros


57
Ejemplos
Ejemplo1:
disp(Mi primer programa');
Ejemplo2:
s=sqrt(b^2-4*a*c); disp(s);
Ejemplo3:
x = [2 3 4];
texto1=Los valores de x son: ;
texto2=num2str(x);
texto3=[texto1,texto2];
disp(texto3);
UNJBG - Dr. Javier Lozano Marreros
58
Ejemplos
Ejemplo1:
s=sqrt(b^2-4*a*c);
fprintf(' %12.8f ', s)

Ejemplo2:
fprintf('%12.8f\n',pi)

Ejemplo3:
>> x=[-3:.5:3]'; y=x.^2; z=[x y];
>>fprintf('\tX\t\tY\t\n');
>>fprintf('%8.4f %8.4f\n',z')
UNJBG - Dr. Javier Lozano Marreros
59
INSTRUCCIN DE ASIGNACIN

variable expresion
variable = expresion

d b 4ac 2

d = b^2-4*a*c;
UNJBG - Dr. Javier Lozano Marreros
60
SENTENCIAS CONDICIONALES
LA SENTENCIA if

if condicion
V Condicion F
instruccion
o grupo de
Instrucciones instrucciones
end

UNJBG - Dr. Javier Lozano Marreros


61
LA SENTENCIA if else

if condicion
V F
Condicion Instrucciones1
else
Instrucciones2
Instrucciones1
Instrucciones2
end

UNJBG - Dr. Javier Lozano Marreros


62
LA SENTENCIA switch
switch expresin
case valor 1
Instrucciones1
Expresion case valor 2
instrucciones2
...
valor 1 valor 2 valor n-1 valor n
oterwise
Inst 1 Inst 2 Inst n-1 Inst n Instruccin cuando
no cumple ningn
caso
end
UNJBG - Dr. Javier Lozano Marreros
63
SENTENCIAS REPETITIVAS
LA SENTENCIA for

VF = VI, I, VF
for V=VI:I:VF
Instrucciones
instrucciones
end

UNJBG - Dr. Javier Lozano Marreros


64
LA SENTENCIA while

F
Condicion
while condicion
V instrucciones
end
Instrucciones

UNJBG - Dr. Javier Lozano Marreros


65
EJEMPLOS DE PROGRAMAS
EN MATLAB

UNJBG - Dr. Javier Lozano Marreros


66
EJEMPLO

1. Disear el diagrama de flujo de


programas, y escribir el programa en
MATLAB, que calcule la suma de los
n primeros trminos de la sucesin
2 3 4
x x x
1, x, , , ,
2! 3! 4!

UNJBG - Dr. Javier Lozano Marreros


67
DIAGRAMA Inicio

DE FLUJO n, x

P = 1
F = 1
S = 1

i = 1,n-1

P = P*x
F = F*i
S = S + P/F

Inicio

UNJBG - Dr. Javier Lozano Marreros


68
Cdigo para la entrada de datos

n , x

n=input(Ingrese n: );
x=input(Ingrese x: );

UNJBG - Dr. Javier Lozano Marreros


69
Cdigo para el proceso de datos
P=1;
P = 1
F = 1 F=1;
S = 1
S=1;
i = 1,n-1 for i=1:n-1
P = P*x P=P*x;
F = F*i
S = S + P/F
F=F*i;
S=S+P/F;
end
UNJBG - Dr. Javier Lozano Marreros
70
Cdigo para la salida de datos

disp(S);

UNJBG - Dr. Javier Lozano Marreros


71
CODIGO COMPLETO DEL PROGRAMA

UNJBG - Dr. Javier Lozano Marreros


72
Ejecucin del ejemplo

UNJBG - Dr. Javier Lozano Marreros


73
Grabar el ejemplo

UNJBG - Dr. Javier Lozano Marreros


74

You might also like