Anda di halaman 1dari 7

UNIVERSIDAD NACIONAL DE TUCUMN Facultad de Ciencias Exactas y Tecnologa Departamento de Electricidad, Electrnica y Computacin Carrera de Ingeniera en Computacin

Scilab (1)
Scientific Computing Laboratory INRIA (Institut National de Recherche en Informatique et en Automatique) Sitio oficial: http://www.scilab.org

Mtodos Numricos utilizando Scilab


Para estudiantes de ingenieras, ciencias y matemticas
Docente: Ing. Martn Goi

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

Mtodos Numricos (1)

Scilab (2)
Sin costo. Disponible el cdigo fuente. Amplia variedad de plataformas.

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

Mtodos Numricos (2)


Descripcin de un problema de ingeniera Aproximacin con un modelo matemtico Formulacin

Entorno (1)

Mtodos numricos y analticos

Soluciones

Aplicaciones

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

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.

Tipos de datos (3)


-->%pi %pi = 3.1415927 -->size(%pi) ans = ! 1. 1. ! -->a=[1 2 3; 4 5 6] a = ! 1. 2. ! 4. 5. -->size(a) ans = ! 2. 3. ! 3. ! 6. !

pi= 3. 1416

a=

1 2 3 4 5 6

]
10

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

Tipos de datos (1)


Doble precisin (8 bytes).
53 bits mantisa (16 cifras decimales equivalentes) 11 bits exponente.

Tipos de datos (4)


Scilab maneja la automticamente.
-->x=5+2*%i x = 5. + 2.i -->y=5*x+3 y = 28. + 10.i

aritmtica

compleja

No necesitamos declarar previamente a su uso.

las

variables

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

11

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

Nombres de variables
Deben comenzar con una letra. Longitud mxima: 24 caracteres. Sensibles a maysculas y minsculas. Ej: A, BCD, C58, velocidad, tiempo1, etc.

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

12

Operadores matemticos para escalares


Smbolo ^ * / \ + Operacin Potenciacin Multiplicacin Divisin Divisin izquierda Suma Resta Scilab a^b a*b a/b a\b a+b a-b Ej 2 ^ 4 = 16 3 * 5 = 15 6/2=3 4\8=2 2+6=8 74=3

Ejemplo
1 a= 3 5

[] []
2 b= 4 6

3 a +b= 7 11

[]
16

Pero a * b no esta definido (multiplicacin inconsistente) porque las dimensiones son incorrectas. Necesita utilizar .*

1 2 2 a . b= 3 4 = 12 5 6 30
13

[ ][ ]

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

Operadores matemticos para vectores (elemento a elemento)


Smbolo + * + .* ./ .\ .^ Operacin Suma vector escalar Resta vector escalar Suma de vectores Resta de vectores Multiplicacin de vectores Divisin de vectores Divisin izquierda de vectores Potenciacin de vectores Scilab A+b A-b A+B A-B A .* B A ./ B A .\ B A .^ B Ej [4,6] + 3 = [7,9] [8,3] 6 = [2,-3] [4,6] + [8,3] = [12,9] [4,6] - [8,3] = [-4,3] [3,6] .* [2,-3] = [6,-18] [3,7] ./ [8,5] = [3 / 8,7 / 5] = [0.375,1.4] [3,7] .\ [8,5] = [3 \ 8,7 \ 5] = [2.667,0.7143]

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]

C=
[4,2] .^ 3 = [4 ^ 3,2 ^3] = [64,8] 3 .^ [2,5] = [3 ^ 2,3 ^5] = [9,243] [5,3] .^ [2,4] = [5 ^ 2,3 ^ 4] = [25,81]

[ ] [ ]
1 1 3 0 2 0 2 1 5 1 1 4 F= 2 0 2 1 5 1 1 4
17

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

14

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

Operadores matemticos para matrices


Smbolo Operacin Scilab Ej

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]

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 Divisin izquierda

A/B A\B

[4 6 ; 8 5] / [2 3 ; 9 1] = [2 0 ; 1.481 0.56] [4 6 ; 8 5] \ [2 3 ; 9 1] = [1.57 -0.32 ; -0.71 0.71]

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

15

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

18

Matrices especiales

Programas (1)

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

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

[ ] [ ]

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

[ ]
]
19

Se puede cargar y guardar cdigo en un archivo de texto. Existen dos tipos: scripts, funciones.

ones( 2,4 )= 1 1 1 1 1 1 1 1

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

22

Grficos (1)
plot2d: grafica a partir de vectores.
--> x = -2 : 0.01 : 3; --> y = sin(x); --> plot2d(x, y);

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).

fplot2d: obtiene la grfica de una funcin definida por el usuario. Exportar grfico.

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

20

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

23

Grficos (2)

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.

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

21

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

24

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

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. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

25

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

28

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')

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. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

26

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

29

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');

Estructuras de programas
Operadores de relacin y lgicos. Secuencia Seleccin Iteracin

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

27

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

30

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

Seleccin (1)
if if (condicin) sentencias end if (x < = -1.0 | x > = 1.0) y=0 end
31 Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn 34

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

Operadores lgicos
Scilab & | ~ Interpretacin and or not

Seleccin (2)
if else if (condicin) sentencias else sentencias end

Constantes booleanas: %f, %t

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

32

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

35

Secuencia
Las instrucciones son ejecutadas secuencialmente desde el inicio hasta el final. a = 4 + 3 ^ 2; b = sqrt(a); c = a + b;

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
Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn 36

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

33

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. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn 37

Bibliografa
Hctor M. Mora Escobar - Introduccin a SCILAB - Departamento de Matemticas Univ. Nacional de Colombia - 2002 Scilab Group - Introduction to Scilab - INRIA Meta2 Project/ENPC Cergrene Steven C. Chapra Raymond P. Canale Mtodos Numricos para ingenieros - Mc Graw Hill

Ing. Martn Goi - Mtodos Nmericos - Ingeniera en Computacin - Universidad Nacional de Tucumn

38

Anda mungkin juga menyukai