//========================================================================================== // Programacion con Scilab //========================================================================================== // Operadores logicos y de comparacion 3 > 2 //mayor que 3 < 2 //menor que pause 3 <> 2 //diferente (no igual) 3 == 3 //igual pause (2>1)&(3>1) //Operador AND (2>1) | (3>5) //Operador OR pause ~(2<1) //Operador NOT (no) pause // Lazos (loops) en SCILAB // // "for" en multiples lineas // // Ejemplo 1 m=[]; for m = 1:10 a(m) = m^2 end a pause // // "while" en varias lineas // Ejemplo 2 s = 100; while s>50 disp(s^2) s = s - 5 end pause // Condicional // "if...then...else" // Instrucciones en lineas multiples (tambien puede efectuarse en una sola linea) // Ejemplo 3 (elseif) // Dependiendo del valor de x imprimir x, y o z // Si x< 5 -> imprimir x // Si 5<= x < 10 -> imprimir y // Si x>= 10 -> imprimir z // Para interrumpir introducir x = 0 x= 1; y = 100; z = 400; while x<>0 x=input('Introduzca el valor x = '); if x<5 then disp(x) elseif x>=10 then disp(z) else disp(y) end end pause // // Ejemplo 4 "select-case" // // Introduzca dos valores en un vector[x1 x2] // Si x1 = -1 -> y = x2 - 2 // Si x1 = 1 -> y = x2^2 // Si x1 = 2 -> y = ln(x2) // Para interrumpir apriete Enter [z]=input('Introduzca un vector [x y]= ') x1 = z(1); x2 = z(2); while ~isempty(z) select x1 case -1 y = x2 - 2 case 1 y = x2^2 case 2 y = log(x2); end [z]=input('Introduzca un vector [x1 x2]= '); x1 = z(1); x2 = z(2); end pause // Input-output en Scilab // Grabando variables A = [1. 2. 3.; -3. 4. 5.; 2. 4. 5.; 1. 3. 2.] b = 1:10 save('Ab.dat', A,b) // Intente ver el contenido de 'Ab.dat' // Recuerde que .dat es un archivo en formato binario pause clear //Limpiando memoria who pause load('Ab.dat') // Cargando datos del archivo 'Ab.dat' A b pause // Archivo de salida (sin formato) print('datos1.txt',A,b) //Imprimir en un archivo de salida // Intentar abrir dicho archivo usandoo un editor de texto pause // Creando archivos de salida // Ejemplo 5 u = file('open','datos2.txt','new') write(u,A,'(3f10.6)') //%3 veces: elemento con formato de coma flotante (10 caracteres, 6 decimales) file('close',u) //Verifique el contenito del archivo recien creado pause //Ejemplo 6 x1 = 0:0.5:10; x2 = x1^2; B = [x1',x2'] m = file('open','datos3.txt','new') write(m,B,'(2(f10.6,2x))') //%2 veces: elemento con formato floating: 10 caracteres, 6 decimales; seguido de 2 espacios file('close',m) //Verifique el contenito del archivo recien creado pause //Incluyendo leyenda A = 5*rand(2,3), B = rand(2,3), C =A +B u = file('open','datos4.txt','new') write(u,'Matriz A','(a)') write(u,A,'(3(f10.6,2x))') write(u,'Matriz','(a)') write(u,B,'(3(f10.6,2x))') write(u,'Matriz suma C =A +B','(a)') write(u,C,'(3(f10.6,2x))') file('close',u) //Verifique el contenido del archivo recien creado pause //Incluyendo leyenda en la pantalla t = [0.25:0.25:3]; d = 1/2*t.^2; [n m] = size(d); //Usando la funcion 'disp' for j=1:m disp('Distancia para t = '+ string(t(j)) + ' es ' + string(d(j)) ) end pause