Вы находитесь на странице: 1из 7

1

Mtodos Numricos utilizando


Scilab
Para estudiantes de ingenieras,
ciencias y matemticas
UNIVERSIDAD NACIONAL DE TUCUMN
Facultad de Ciencias Exactas y Tecnologa
Departamento de Electricidad, Electrnica y Computacin
Carrera de I ngeniera en Computacin
Docente: Ing. Martn Goi
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 2
Mtodos Numricos (1)
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 3
Mtodos Numricos (2)
Descripcin de un
problema de ingeniera
Aproximacin con un
modelo matemtico
Formulacin
Mtodos numricos y analticos
Soluciones
Aplicaciones
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 4
Scilab(1)
Scientific Computing Laboratory
INRIA (Institut National de Recherche en
Informatique et en Automatique)
Sitio oficial: http://www.scilab.org
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 5
Scilab(2)
Sin costo.
Disponible el cdigo fuente.
Amplia variedad de plataformas.
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 6
Entorno (1)
2
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 7
Entorno (2)
chdir cambia el directorio actual.
clc limpia la ventana de comandos.
clf limpia la venta de grficos.
interrupt interrumpe la ejecucin.
resume continua la ejecucin.
abort finaliza la ejecucin.
help ayuda.
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 8
Tipos de datos (1)
Doble precisin (8 bytes).
53 bits mantisa (16 cifras decimales equivalentes)
11 bits exponente.
No necesitamos declarar las variables
previamente a su uso.
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 9
Tipos de datos (2)
El componente bsico es una matriz.
Matriz: (m x n) - un conjunto de nmeros
ordenados en filas (m) y columnas (n).
Escalar: matriz de 1 x 1.
Vector fila: matriz de 1 x n
Vector columna: matriz de m x 1
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 10
Tipos de datos (3)
-->%pi
%pi =
3.1415927
-->size(%pi)
ans =
! 1. 1. !
-->a=[1 2 3; 4 5 6]
a =
! 1. 2. 3. !
! 4. 5. 6. !
-->size(a)
ans =
! 2. 3. !
pi=3.1416
a=
[
1 2 3
4 5 6
]
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 11
Tipos de datos (4)
Scilab maneja la aritmtica compleja
automticamente.
-->x=5+2*%i
x =
5. + 2.i
-->y=5*x+3
y =
28. + 10.i
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 12
Nombres de variables
Deben comenzar con una letra.
Longitud mxima: 24 caracteres.
Sensibles a maysculas y minsculas.
Ej: A, BCD, C58, velocidad, tiempo1, etc.
3
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 13
Operadores matemticos para
escalares
Smbolo Operacin Scilab Ej
^ Potenciacin a ^ b 2 ^ 4 = 16
* Multiplicacin a * b 3 * 5 = 15
/ Divisin a / b 6 / 2 = 3
\ Divisin izquierda a \ b 4 \ 8 = 2
+ Suma a + b 2 + 6 = 8
- Resta a - b 7 4 = 3
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 14
Operadores matemticos para
vectores (elemento a elemento)
Smbolo Operacin Scilab Ej
+ Suma vector escalar A +b [46] +3 = [7 9]
* Resta vector escalar A - b [83] 6 =[2-3]
+ Suma de vectores A +B [46] +[8 3] = [12 9]
- Resta de vectores A - B [46] - [8 3] = [-4 3]
.* Multiplicacin de vectores A .* B [36] .* [2-3] =[6 -18]
./ Divisin de vectores A ./ B [37] ./ [8 5] =[3/8 7/ 5] = [0.375 1.4]
.\ Divisin izquierda de vectores A .\ B [37] .\ [8 5] =[3\8 7\ 5] = [2.667 0.7143]
.^ Potenciacin de vectores A .^B [42] .^ 3 = [4^3 2^3] = [64 8]
3.^[2 5] = [3^2 3^5] = [9 243]
[53] .^ [2 4] =[5^2 3^4] = [25 81]
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 15
Operadores matemticos para
matrices
Smbolo Operacin Scilab Ej
+ Suma A + B [4 6 ; 8 5] + [2 3 ; 9 1] = [6 9 ; 17 6]
- Resta A - b [4 6 ; 8 5] [2 3 ; 9 1] = [2 3 ; -1 4]
* Multiplicacin A * B [4 6 ; 8 5] * [2 3 ; 9 1] = [62 18 ; 61 29]
/ Divisin A / B [4 6 ; 8 5] / [2 3 ; 9 1] =
[2 0 ; 1.481 0.56]
\ Divisin izquierda A \ B [4 6 ; 8 5] \ [2 3 ; 9 1] =
[1.57 -0.32 ; -0.71 0.71]
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 16
Ejemplo
(
(
(

(
(
(

(
(
(

11
7
3 a
6
4
2 b
5
3
1 = b + = = a
(
(
(

(
(
(

-
-
- -
30
12
2
6 5
4 3
2 1 . = = b a
Pero a * b no esta definido (multiplicacin inconsistente)
porque las dimensiones son incorrectas. Necesita utilizar .*
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 17
(
(
(
(
(

(
(
(
(
(

4 1
1 2
1 0
5 2
4 1 0
1 2 3
1 0 1
5 2 1 = F = C
Operador dos puntos (1)
Crea una nueva matriz a partir de una
existente.
C = [1,2,5;-1,0,1;3,2,-1;0,1,4]
F = C(:,2:3) = [2,5;0,1;2,-1;1,4]
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 18
Operador dos puntos (2)
Nombre_variable = inicio : paso : fin
tiempo = 0.0 : 0.5 : 2.5
tiempo = [0.0,0.5,1.0,1.5,2.0,2.5]
tiempo = 10 : -1 : 2
tiempo = [10,9,8,7,6,5,4,3,2]
4
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 19
Matrices especiales
(
(
(

=
1 0 0
0 1 0
0 0 1
) 3 ( eye
(
(
(

=
0 0
0 0
0 0
) 2 , 3 ( zeros
(
(
(

=
1 1 1
1 1 1
1 1 1
) 3 ( ones
(

=
1 1 1 1
1 1 1 1
) 4 , 2 ( ones
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 20
Grficos (1)
plot2d: grafica a partir de vectores.
--> x = -2 : 0.01 : 3;
--> y = sin(x);
--> plot2d(x, y);
fplot2d: obtiene la grfica de una funcin
definida por el usuario.
Exportar grfico.
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 21
Grficos (2)
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 22
Programas (1)
Se puede cargar y guardar cdigo en un
archivo de texto.
Existen dos tipos: scripts, funciones.
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 23
Programas (2)
Scripts
Extensin (.sce).
Es un archivo ASCII que contiene una secuencia de
instrucciones.
No tienen parmetros de entrada ni de salida.
Las variables son compartidas como el rea de
trabajo.
exec (nombre del script).
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 24
Programas (3)
Funciones
Extensin (.sci).
Pueden tener parmetros de entrada y de salida.
Tiene una o ms funciones.
Las variables son locales a la funcin.
5
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 25
Programas (4)
Ejemplo de un script
A=[3 4 12; 8 9 7];
B=[30 14 2; 88 79 47];
disp(A+B)
Ejemplo de una funcin
function [y] = cuadrado(x)
y = x ^ 2;
endfunction
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 26
Archivos de datos
Permite cargar o guarda los valores de las
variables.
--> a=eye(2,2);b=ones(a);
--> save('val.dat',a,b);
--> clear a
--> clear b
-->load (val.dat')
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 27
Entradas interactivas
La funcin input permite solicitar al usuario
valores directamente desde la ventana de
comandos.
nombre = input(Ingrese su nombre: ','s');
edad = input(Ingrese su edad: ');
email = input(Ingrese su email: ','s');
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 28
Salidas
Se imprime en pantalla automticamente (a
menos que se coloque ;)
Utilice disp para imprimir una variable en
pantalla.
disp (3 * 6)
disp(temperatura=)
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 29
Formatos
El formato utilizado no afecta a la precisin
interna, slo a la forma en la que se presentan
al usuario los resultados.
format (tipo, longitud)
tipo:
e: notacin cientfica / v: formato variable
longitud: nmero de dgitos
Ej: format('v',10);
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 30
Estructuras de programas
Operadores de relacin y lgicos.
Secuencia
Seleccin
Iteracin
6
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 31
Operadores de relacin
Scilab Interpretacin
== es igual a
~= <> no es igual a
< es menor que
<= es menor o igual a
> es mayor que
>= Es mayor o igual a
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 32
Operadores lgicos
Scilab Interpretacin
& and
| or
~ not
Constantes booleanas: %f, %t
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 33
Secuencia
Las instrucciones son ejecutadas
secuencialmente desde el inicio hasta el final.
a = 4 + 3 ^ 2;
b = sqrt(a);
c = a + b;
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 34
Seleccin (1)
if
if (condicin)
sentencias
end
if (x < = -1.0 | x > = 1.0)
y = 0
end
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 35
Seleccin (2)
if else
if (condicin)
sentencias
else
sentencias
end
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 36
Repeticin (1)
for
for indice = inicio : paso : fin
sentencias
end
for i = 1 : 1 : m
for j = 1 : 1 : n
a(i,j) = (i + 1) ^ 2 * sin(0.2 * j * pi);
end
end
7
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 37
Repeticin (2)
while
while condicin
sentencias
end
i=1
while i <= m
j=1
while j <= n
a(i,j) = (i + 1) ^ 2 * sin(0.2 * j * pi);
end
end
Ing. MartnGoi - Mtodos Nmericos - Ingeniera enComputacin- UniversidadNacional de Tucumn 38
Bibliografa
Hctor M. Mora Escobar - Introduccin a
SCILAB - Departamento de Matemticas - Univ.
Nacional de Colombia - 2002
Scilab Group - Introduction to Scilab - INRI A
Meta2 Project/ENPC Cergrene
Steven C. Chapra Raymond P. Canale -
Mtodos Numricos para ingenieros - Mc Graw
Hill

Вам также может понравиться