Him t2 2015 16 Scilab

12
Scinotes Consola de scilb Tutoría Intercampus de HIM 19/10/2015 UNED //************************************************* //CONSTANTES, VARIABLES, OPERADORES Y EXPRESIONES //************************************************** //CONSTANTES //************************************************* //Seleccionamos el códido siguiente //Copiamos (ctrl+c) y pegamos (ctrl+v) en la consola //Observamos resultados //************************************************** %pi,%e,%i,%inf,%t,%f -->//CONSTANTES -->%pi,%e,%i,%inf,%t,%f %pi = 3.1415927 %e = 2.7182818 %i = i %inf = Inf %t = T %f = F

description

Actividades scilab

Transcript of Him t2 2015 16 Scilab

Page 1: Him t2 2015 16 Scilab

Scinotes Consola de scilb

Tutoría Intercampus de HIM 19/10/2015 UNED

//*************************************************

//CONSTANTES, VARIABLES, OPERADORES Y

EXPRESIONES

//**************************************************

//CONSTANTES

//*************************************************

//Seleccionamos el códido siguiente

//Copiamos (ctrl+c) y pegamos (ctrl+v) en la consola

//Observamos resultados

//**************************************************

%pi,%e,%i,%inf,%t,%f

-->//CONSTANTES -->%pi,%e,%i,%inf,%t,%f %pi = 3.1415927 %e = 2.7182818 %i = i %inf = Inf %t = T %f = F

Page 2: Him t2 2015 16 Scilab

Scinotes Consola de scilb

Tutoría Intercampus de HIM 19/10/2015 UNED

//*************************************************

//VARIABLES, OPERADORES Y EXPRESIONES

//************************************************

a=-2,

b=10/3,

c=b //Asignar valores a variables

resul1=(a-c)*%pi, //construir expresiones

resul2=(a-b)*%pi,//construir expresiones

resul3=x^2+y^2 //Dará error, no está definida x, ni y.

-->//VARIABLES, OPERADORES Y EXPRESIONES -->a=-2, a = - 2. -->b=10/3, b = 3.3333333 -->c=b //Asignar valores a variables c = 3.3333333 -->resul1=(a-c)*%pi, //construir expresiones resul1 = - 16.755161 -->resul2=(a-b)*%pi,//construir expresiones resul2 = - 16.755161 -->resul3=x^2+y^2 //Dará error, no está definida x, ni y. !--error 4 Variable indefinida: x

Page 3: Him t2 2015 16 Scilab

Scinotes Consola de scilb

Tutoría Intercampus de HIM 19/10/2015 UNED

//***************************************************

// OPERADORES ARITMÉTICOS

//**************************************************

-32+5-3*(8/4+2^3)

(-32+5-3*(8/4+2^3))/11

//no existe el símbolo factorial,

//utilizamos la función factorial

// factorización de un número grande //

factorial(70)

factorial(170)

factorial(171)//fuera de rango

32+5-factorial(12/4+2^3)

//***************************************************

-->OPERADORES ARITMÉTICOS !--error 4 Variable indefinida: OPERADORES -->-32+5-3*(8/4+2^3) ans = - 57. -->(-32+5-3*(8/4+2^3))/11 ans = - 5.1818182 -->factorial(70) ans = 1.19D+100 -->factorial(170) ans = 7.25D+306 -->factorial(171)//fuera de rango ans = Inf -->32+5-factorial(12/4+2^3) ans = - 39916763.

Page 4: Him t2 2015 16 Scilab

Scinotes Consola de scilb

Tutoría Intercampus de HIM 19/10/2015 UNED

//****************************************************

//OPERADORES REALACIONALES

//****************************************************

//== igualdad

//<> distinto

//~= distinto

//< menor

// <= menor o igual

//> mayor

//>= mayor o igual

//EJEMPLOS

3<4

0>1

3<=4

0>1

-->//OPERADORES RELACIONALES -->3<4 ans = T -->0>1 ans = F -->3<=4 ans = T -->0>1 ans = F

//***************************************************

// OPERADORS LÓGICOS

//**************************************************

// | O; & Y; ~ NO

//***************************************************

%t|%f, //Or

%t&%f, //And

%t&%t,

%t&(~%f)

-->// OPERADORS LÓGICOS -->%t|%f, //Or ans = T -->%t&%f, //And ans = F -->%t&%t, ans = T -->%t&(~%f) ans = T

Tabla verdad

Y O

V V V V

V F F V

F V F V

F F F F

Page 5: Him t2 2015 16 Scilab

Scinotes Consola de scilb

Tutoría Intercampus de HIM 19/10/2015 UNED

//***************************************************

// OPERADORES RELACIONALES Y LÓGICOS

//***************************************************

(3>4)|(2==5)

-->// OPERADORES RELACIONALES Y LÓGICOS -->(3>4)|(2==5) ans = F

//***************************************************

//OPERADORES DE ASIGNCIÓN

//****************************************************

//no debemos utilizar variables

//si no estás definidas previamente

valor=5

valor=valor -12

-->//OPERADORES DE ASIGNCIÓN -->valor=5 valor = 5. -->valor=valor -12 valor = - 7.

//****************************************************

// DATOS TIPO CADENA O STRING

//****************************************************

//Dos formas de definirla

cadena1="Mi Cadena1"

cadena2='Mi Otra Cadena2'

//convertir cadena a mayúsculas o minúsculas

convstr(cadena1)

convstr(cadena1,"u")

cadena2

convstr(cadena2)

//longitud de la cadena.

length(cadena2)

-->// DATOS TIPO CADENA O STRING -->cadena1="Mi Cadena1" cadena1 = Mi Cadena1 -->cadena2='Mi Otra Cadena2' cadena2 = Mi Otra Cadena2 -->convstr(cadena1) ans = mi cadena1 -->convstr(cadena1,"u") ans = MI CADENA1

-->cadena2

cadena2 =

Mi Otra Cadena2

-->convstr(cadena2)

ans =

mi otra cadena2

-->length(cadena2)

ans =

15.

Page 6: Him t2 2015 16 Scilab

Scinotes Consola de scilb

Tutoría Intercampus de HIM 19/10/2015 UNED

//***************************************************

//ESTRUCTURAS DE DATOS Y MATRICES

//***************************************************

//ARRAYS

//***************************************************

//Declaración de un array

//Los elementos de un array pueden ser de distintos tipos

//Observa que aquí el primer elemento es (1,1) no (0,0)

tabla1=cell(2,3)

//entrar datos en tabla1//

tabla1(1,1).entries='11';tabla1(1,2).entries='12';

tabla1(1,3).entries='13';tabla1(2,1).entries='21';

tabla1(2,2).entries='22',tabla1(2,3).entries='23'

tabla1

-->//********************************************** -->//ESTRUCTURAS DE DATOS Y MATRICES -->//********************************************* -->//ARRAYS -->tabla1=cell(2,3) tabla1 = !{} {} {} ! ! ! !{} {} {} ! -->tabla1(1,1).entries='11';tabla1(1,2).entries='12'; -->tabla1(1,3).entries='13';tabla1(2,1).entries='21'; -->tabla1(2,2).entries='22',tabla1(2,3).entries='23' tabla1 = !"11" "12" "13" ! ! ! !"21" "22" {} ! tabla1 = !"11" "12" "13" ! ! ! !"21" "22" "23" ! -->tabla1 tabla1 = !"11" "12" "13" ! ! ! !"21" "22" "23" !

Page 7: Him t2 2015 16 Scilab

Scinotes Consola de scilb

Tutoría Intercampus de HIM 19/10/2015 UNED

//*****************************************************

//MATRICES

//*****************************************************

//Definicion de matrices

A=[11 12;21 22;31 32],B=[1 2 3;4 5 6]

//Elementos de la matriz

A(2,2)

A(3,2)

B(1,3)

//Tamaño de la matriz

size(A)

//Producto de matrices

A=[1 1;2 2;3 3],B=[1 2 3;4 5 6]

-->//MATRICES -->A=[11 12;21 22;31 32],B=[1 2 3;4 5 6] A = 11. 12. 21. 22. 31. 32. B = 1. 2. 3. 4. 5. 6. -->A(2,2) ans = 22. -->A(3,2) ans = 32. -->B(1,3) ans = 3. -->size(A) ans = 3. 2. -->A=[1 1;2 2;3 3],B=[1 2 3;4 5 6] A = 1. 1. 2. 2. 3. 3. B = 1. 2. 3. 4. 5. 6.

11 12

21 22

31 32

Page 8: Him t2 2015 16 Scilab

Scinotes Consola de scilb

Tutoría Intercampus de HIM 19/10/2015 UNED

A*B

//Producto elemento a elemento si se puede

A=[1 1;2 2],B=[-1 -2;3 4]

A.*B

//División elemento a elemento si se puede.

A./B

-->A*B ans = 5. 7. 9. 10. 14. 18. 15. 21. 27. -->A=[1 1;2 2],B=[-1 -2;3 4] A = 1. 1. 2. 2. B = - 1. - 2. 3. 4. -->A.*B ans = - 1. - 2. 6. 8. -->A./B ans = - 1. - 0.5 0.6666667 0.5

𝐴 = 1 12 23 3

𝐵 = 1 2 34 5 6

Page 9: Him t2 2015 16 Scilab

Scinotes Consola de scilb

Tutoría Intercampus de HIM 19/10/2015 UNED

//Otras operaciones

A=[0 1;2 -1]

A*A

A^2

A.^2

10*A

inv(A)//Inversa de A

rank(A)//Rango de A

det(A)//Determinante de A

spec(A)//valores propios de A

eye(2,3)//matriz 2x3 con 1 en la diagonal

trace(A)//Traza de A

eye(A)//identidad del mismo tamaño que A

A'//transpuesta de A

A=[11 12;21 22;31 32]

A(1,:);//Fila 1 de A

A(2,:)//Fila 2 de A

A(3,:);//Fila 3 de A

A(:,1);// Columna 1 de A

A(:,2)// Columna 2 de A

-->//Otras operaciones -->A=[0 1;2 -1] A = 0. 1. 2. - 1. -->A*A ans = 2. - 1. - 2. 3. -->A^2 ans = 2. - 1. - 2. 3. -->A.^2 ans = 0. 1. 4. 1. -->10*A ans = 0. 10. 20. - 10. -->inv(A)// ans = 0.5 0.5 1. 0. -->rank(A)// ans = 2.

-->det(A)//

ans =

- 2.

-->spec(A)//

ans =

1.

- 2.

-->eye(2,3)//

ans =

1. 0. 0.

0. 1. 0.

-->trace(A)//Traza

ans =

- 1.

-->eye(A)//

ans =

1. 0.

0. 1.

-->A'//transpuesta de A

ans =

0. 2.

1. - 1.

-->A=[11 12;21 22;31 32]

A =

11. 12.

21. 22.

31. 32.

-->A(1,:);//Fila 1 de A

-->A(2,:)//Fila 2 de A

ans =

21. 22.

-->A(3,:);//Fila 3 de A

-->A(:,1);// Columna 1 de A

-->A(:,2)// Columna 2 de A

ans =

12.

22.

32.

Page 10: Him t2 2015 16 Scilab

Scinotes Consola de scilb

Tutoría Intercampus de HIM 19/10/2015 UNED

//**************************************************

//ESTRUCTURAS

//**************************************************

//Definción

estructura1=struct('nombre','pepe','edad',40)

//Obtención de los valores asociados a los campos//

estructura1.nombre

estructura1.edad

//asignar valores a registro1

registro1=estructura1

//Introducir valores

estructura1.nombre='Juan'

estructura1.edad=25

//asignar valores a resgistro2

registro2=estructura1

//visionar valores de registro1 y registro2

registro1

registro2

registro1.nombre,registro1.edad

registro2.nombre,registro2.edad

-->//ESTRUCTURAS -->estructura1=struct('nombre','pepe','edad',40) estructura1 = nombre: "pepe" edad: 40 -->estructura1.nombre ans = pepe -->estructura1.edad ans = 40. -->registro1=estructura1 registro1 = nombre: "pepe" edad: 40 -->estructura1.nombre='Juan'

estructura1 = nombre: "Juan" edad: 40 -->estructura1.edad=25 estructura1 = nombre: "Juan" edad: 25 -->registro2=estructura1 registro2 = nombre: "Juan" edad: 25 -->registro1 registro1 = nombre: "pepe" edad: 40 -->registro2

registro2 =

nombre: "Juan"

edad: 25

-->registro1.nombre,registro1.edad

ans =

pepe

ans =

40.

-->registro2.nombre,registro2.edad

ans =

Juan

ans =

25.

Page 11: Him t2 2015 16 Scilab

Scinotes Consola de scilb

Tutoría Intercampus de HIM 19/10/2015 UNED

//***************************************************

//LISTAS

//***************************************************

//definición

lista=list(10,20,30)//lista formada por 3 elementos

lista//muestra los elementos de la lista

l1=lista(1)//primer elemento de la lista

lista(0)=-10;//añade un elemento en cabeza

lista//ahora la lista tiene 4 elementos

lista(1)// ahora el primer elemento vale -10

lista($+1)="hola";// añade un elemento el final de la lista

lista//muestra ahora la lista con 5 elementos

lista(1)='element1';

lista

-->//LISTAS -->lista=list(10,20,30)//

lista = lista(1) 10. lista(2) 20. lista(3) 30. -->lista// ans = ans(1) 10. ans(2) 20. ans(3) 30. -->l1=lista(1)// l1 = 10. -->lista(0)=-10;// -->lista// ans = ans(1) - 10. ans(2) 10.

ans(3)

20.

ans(4)

30.

-->lista(1)//

ans =

- 10.

-->lista($+1)="hola";//

-->lista//

ans =

ans(1)

- 10.

ans(2)

10.

ans(3)

20.

ans(4)

30.

ans(5)

hola

-->lista(1)='element1';

-->lista

lista =

lista(1)

element1

lista(2)

10.

lista(3)

20.

lista(4)

30.

lista(5)

hola

Page 12: Him t2 2015 16 Scilab

Scinotes Consola de scilb

Tutoría Intercampus de HIM 19/10/2015 UNED

//*************************************************

//creación de listas tlist y mlist

//tlist(typ,a1,....an ) typ=vector o un string,ai=vector

//mlist(typ,a1,....an ) typ=vector o un string, ai=matriz

//*************************************************

prov_tlista=tlist(['campos','A','B'],['x','y','z','t'],[1,2,3,4])

prov_tlista.A(1),prov_tlista.B(1),prov_tlista.B(2)

prov_mlista=mlist(['matriz','nombre','valor'],['a','b';'c' 'd'],[1

2; 3 4]);

prov_mlista.nombre,prov_mlista.nombre(1,2),prov_mlista.nom

bre(:,2),

prov_mlista.valor(1,2),prov_mlista.valor(1,:)

-->prov_tlista=tlist(['campos','A','B'],['x','y','z','t'],[1,2,3,4]);

-->prov_tlista.A(1),prov_tlista.B(1),prov_tlista.B(2)

ans =

x

ans =

1.

ans =

2. -->prov_mlista=mlist(['matriz','nombre','valor'],['a','b';'c' 'd'],[1 2; 3 4]);

-->prov_mlista.nombre,prov_mlista.nombre(1,2),prov_mlista.nombre(:,2),

ans =

!a b !

! !

!c d !

ans =

b

ans =

!b !

! !

!d !

-->prov_mlista.valor(1,2),prov_mlista.valor(1,:)

ans =

2.

ans =

1. 2.