LENGUAJE DE PROGRAMACIÓN SCILAB
LABORATORIO-1
CARRIZALES HUACCA LUIS
FERNANDO ADRIAN IMANOL MONTEAGUDO YHOUR YEFRE PALLI QUISPE
INGENIERIA DE MAMANI INGENIERIA DE
TELECOMUNICACIONES INGENIERIA DE TELECOMUNICACIONES
EPIT TELECOMUNICACIONES EPIT
AREQUIPA-PERU EPIT AREQUIPA-PERU
[email protected] AREQUIPA-PERU
[email protected] [email protected] En el ámbito académico, Scilab es ampliamente utilizado
I. INTRODUCCIÓN como recurso didáctico, ya que permite automatizar
procesos de cálculo, representar gráficamente fenómenos
El presente informe tiene como finalidad aplicar y reforzar matemáticos y físicos, y comprobar resultados teóricos de
los conceptos básicos del lenguaje de programación Scilab, manera experimental. Además, su capacidad para manejar
una herramienta de software libre ampliamente utilizada en vectores, matrices y ecuaciones diferenciales lo convierte
el ámbito académico y profesional para el cálculo numérico, en una herramienta fundamental en la enseñanza de ciencias
el análisis de datos y la representación gráfica de funciones e ingeniería.
matemáticas.
Por lo tanto, el marco teórico de esta práctica se fundamenta
Durante la práctica se trabajó con operaciones en el uso de Scilab como plataforma que integra
fundamentales, definición de funciones, manipulación de programación, matemáticas y graficación, ofreciendo un
vectores y matrices, resolución de sistemas de ecuaciones, entorno versátil que favorece el desarrollo de habilidades
así como la graficación de señales y funciones computacionales aplicadas a la resolución de problemas
trigonométricas en dos y tres dimensiones. Además, se reales.
realizaron ejercicios de derivación e integración, lo que
permitió evidenciar la utilidad de Scilab para el desarrollo III. DESARROLLO
de competencias en matemáticas aplicadas, física e
ingeniería. En esta sección se presentan los ejercicios realizados en el
software Scilab de acuerdo con la práctica propuesta. Cada
ejemplo incluye la ejecución del código, una captura de
De esta manera, la práctica no solo permitió familiarizarse pantalla del resultado y un comentario explicativo, donde
con la sintaxis y comandos básicos del programa, sino se describe qué operación se realizó y cómo se interpreta el
también comprender la importancia de utilizar entornos resultado obtenido.
computacionales para agilizar cálculos complejos y mejorar
la interpretación de resultados mediante representaciones A. OPERACIONES BÁSICAS
gráficas claras y precisas.
II. MARCO TEORICO
Scilab es un lenguaje de programación científica y de alto
nivel, desarrollado en 1990 por el INRIA (Instituto Nacional
de Investigación en Informática y Automática de Francia).
Se distribuye como software libre y constituye una
alternativa de gran utilidad frente a otros programas
comerciales como MATLAB, ya que permite realizar
cálculos matemáticos avanzados, simulaciones y
representaciones gráficas sin necesidad de licencias de pago.
Este entorno combina un lenguaje de programación propio
con un amplio conjunto de funciones predefinidas para
resolver problemas de álgebra lineal, cálculo diferencial e
integral, análisis de señales, estadística, control de sistemas
dinámicos y visualización en dos y tres dimensiones. Su
sintaxis es sencilla, lo que facilita el aprendizaje y la
adaptación de estudiantes y profesionales a su uso.
En esta parte se muestran las asignaciones de variables
en Scilab. Primero se define a=4 y el programa imprime el
valor asignado. Luego se repite con A=2.5, notando que
Scilab diferencia entre mayúsculas y minúsculas. Al asignar
b=3.8 sin punto y coma, el valor se despliega en pantalla;
pero cuando se escribe b=3.8; con punto y coma, la
operación se ejecuta internamente sin mostrar el resultado.
Esto demuestra la diferencia entre mostrar y ocultar la salida
en Scilab.
SUMA
En esta instrucción se emplea la variable x=3 dentro de la
expresión y = 82*x + 23. Scilab multiplica el valor de x
por 82 y luego le suma 23, obteniendo como resultado y=269.
Este ejemplo ilustra cómo se pueden realizar operaciones de
multiplicación y suma combinadas en una sola línea de
código, usando variables ya definidas.
DIVISION
En este ejemplo se define la variable x=3; y luego se
calcula y=x+2. Scilab realiza la operación aritmética
sumando el valor almacenado en x con el número 2,
mostrando como resultado y=5. Esto demuestra cómo se
pueden usar variables previamente definidas en expresiones
matemáticas dentro del programa.
RESTA
En este ejemplo se ejecuta la instrucción y = x/32
usando la variable x=3. Scilab divide el valor de x entre 32 y
devuelve el resultado y = 0.09375. Este caso muestra la
aplicación de la operación de división en Scilab y cómo el
programa maneja resultados en formato decimal con
precisión.
POTENCIACION
En este caso se utiliza la variable previamente definida
x=3 para realizar la operación y = x - 1. Scilab evalúa la
expresión restando 1 al valor de x y entrega como resultado
y=2. Este ejemplo muestra cómo se aplican las operaciones
de resta directamente sobre variables almacenadas.
MULTIPLICACION
La instrucción y = x^3 utiliza la variable x=3 y calcula
su potencia cúbica. En Scilab, el operador ^ representa la
potenciación, de modo que eleva el valor de x a la tercera
potencia. El resultado obtenido es y = 27, que corresponde
a 333^333. Este ejemplo muestra cómo realizar cálculos de
exponentes en el programa.
RAIZ CUADRADA
NUMEROS COMPLEJOS
En esta instrucción se utiliza el comando sqrt(x)
para calcular la raíz cuadrada de la variable x=3.
Scilab procesa la operación y muestra como
resultado y = 1.7320508, que corresponde al
valor aproximado de 3\sqrt{3}3. Este ejemplo En esta instrucción se define un número
evidencia cómo Scilab cuenta con funciones complejo en Scilab: z = 3.2 + 5.6*%i. El
matemáticas predefinidas para realizar cálculos símbolo %i representa la unidad imaginaria. El
más avanzados que las operaciones básicas. programa muestra el número en la forma estándar
z=3.2+5.6iz = 3.2 + 5.6iz=3.2+5.6i, donde 3.2 es
EJERCICIO la parte real y 5.6 la parte imaginaria. Este
ejemplo introduce cómo trabajar con números
complejos en Scilab de manera sencilla.
En este ejercicio se calcula el valor de una
expresión algebraica compuesta para x = 3.28.
La instrucción en Scilab combina varias
operaciones: potencia (x^3), multiplicaciones,
sumas y restas dentro de un polinomio, y
finalmente una división con la función sqrt en el En este caso se aplican las funciones real(z) e
denominador. El resultado obtenido es y = imag(z) sobre el número complejo previamente
283.41039. Este ejemplo muestra cómo Scilab definido z = 3.2 + 5.6i. El comando real(z)
permite resolver expresiones matemáticas devuelve la parte real del complejo, que es 3.2,
complejas de manera directa, utilizando mientras que imag(z) devuelve la parte
operadores y funciones en una sola línea de imaginaria, que corresponde a 5.6. Estas
código. funciones permiten separar y trabajar de forma
independiente con cada componente de un número
complejo en Scilab.
En este ejemplo se realizan diferentes
operaciones entre números complejos. Se
definen z1 = 2.3 + 4.8i y z2 = 4.5 – 7.2i.
Luego:
La suma z1 + z2 da como resultado 6.8
– 2.4i.
La resta z1 – z2 produce –2.2 + 12.0i.
La multiplicación z1 * z2 entrega 44.91
+ 5.04i.
Con el comando conj(z) se obtiene el conjugado La división z1 / z2 resulta en –
del número complejo z = 3.2 + 5.6i. El 0.3358302 + 0.52933831i.
resultado mostrado es w = 3.2 - 5.6i, es decir,
la parte real se mantiene igual y el signo de la Esto demuestra que Scilab maneja correctamente
parte imaginaria cambia. Esta operación es las operaciones básicas de la aritmética compleja,
fundamental en álgebra compleja y demuestra respetando las propiedades de los números
cómo Scilab facilita el manejo de propiedades imaginarios.
básicas de los números complejos.
B. FUNCIONES MATEMATICAS
En esta sección se presentan ejemplos de uso de
funciones matemáticas fundamentales dentro de
Scilab. Estas funciones son esenciales para el análisis
y procesamiento numérico, ya que permiten trabajar
con expresiones trigonométricas, exponenciales,
logarítmicas y de potencias.
C. VECTORES Y MATRICES
En esta sección se presentan ejemplos prácticos del
manejo de vectores y matrices en Scilab, los cuales son
herramientas fundamentales en el álgebra lineal y en
aplicaciones de ingeniería y ciencias computacionales.
D. GRAFICACION
En este ejercicio se graficó la función seno en el intervalo de
0 a 2π. Primero se definió el vector x =
[0:0.1:2*%pi], luego se calculó y = sin(x). Con el
comando plot(x,y) se generó la curva, y al usar xgrid
se agregó la rejilla de referencia en la ventana gráfica. El
resultado muestra la forma característica de la función seno,
oscilando entre –1 y 1.
En esta gráfica se representan simultáneamente una recta y
una parábola. La recta se definió con la ecuación x =
1.5*t + 1.8 y aparece en color rojo continuo, mientras
En este ejemplo se grafican dos funciones trigonométricas que la parábola corresponde a y = 0.08*t.^2 y se
en la misma ventana: el seno y el coseno. Se utilizó el muestra en color verde punteado. El uso del operador .^
comando plot(x,sin(x),x,cos(x)), donde ambos permitió elevar al cuadrado cada elemento del vector t.
vectores se dibujan de manera simultánea, uno en color azul Finalmente, se empleó plot(t,x,'r-',t,y,'g-.')
(seno) y otro en color verde (coseno). Antes de graficar, se para graficar ambas funciones en la misma ventana y
aplicó clf para limpiar la figura anterior. Finalmente, con xgrid para añadir la rejilla de referencia. El resultado
xgrid se añadió la rejilla al gráfico, lo que facilita la ilustra cómo Scilab permite comparar diferentes tipos de
interpretación visual de los valores. El resultado muestra funciones en un solo gráfico.
claramente cómo ambas funciones oscilan entre –1 y 1,
desplazadas en fase.
En la primera subgráfica se representó la
función lineal y1 = 2*x + 1.
En la segunda subgráfica se graficó la
parábola y2 = 0.2*x.^2.
En la tercera subgráfica se trazó la
función trigonométrica y3 = 15*sin(x).
En la cuarta subgráfica se mostró y4 =
15*cos(x) con la rejilla activada mediante
xgrid(4).
Este ejemplo demuestra cómo Scilab permite
comparar diferentes funciones matemáticas de
manera simultánea dentro de una misma figura,
organizando los gráficos en distintas posiciones
para facilitar la observación.
En este ejercicio se utilizó la instrucción plot2d(x,y)
para graficar la función y=0.3⋅x2.5y = 0.3 \cdot
x^{2.5}y=0.3⋅x2.5 en el intervalo de –20 a 20. Para evitar
En este ejercicio se usó el comando subplot para errores al trabajar con vectores, se usó el operador .^ en la
potencia (x.^2.5), lo que permite elevar cada elemento de
dividir la ventana gráfica en una cuadrícula de
x de manera individual. La gráfica resultante muestra cómo
2x2, generando cuatro subventanas: la función crece rápidamente para valores positivos de x,
mientras que en valores negativos no se representa debido a
que la potencia fraccionaria de números negativos no está
definida en los reales. Con el comando xgrid se agregó
una rejilla que facilita la interpretación de la curva.
En este caso se utilizó nuevamente el comando
plot2d pero incorporando argumentos
adicionales para personalizar la gráfica. Se
definieron dos curvas (una recta y una parábola) y
se añadieron parámetros:
leg="PARABOLA@RECTA" permite colocar
una leyenda identificando cada curva.
rect=[-1 -1 3 5] define los límites de
los ejes (xmin, ymin, xmax, ymax).
Los números [2 4] y [3 4] especifican
estilos y colores distintos para cada
función.
El resultado es una gráfica donde se muestran la
parábola en color verde y la recta en celeste,
acompañadas de una rejilla (xgrid) y con
leyendas que facilitan la interpretación de cada
curva. Este ejemplo evidencia cómo plot2d
ofrece más opciones de configuración que el
comando básico plot.
En este ejercicio se usó el comando plot2d para graficar
simultáneamente una parábola y una recta. Primero se
definió el vector t = [-2:0.01:2], luego la parábola f
= 2*t.^2 + 2 y la recta g = 2*t + 3. Al ejecutar
plot2d(t,[f' g']) se muestran ambas funciones en la
misma ventana: la parábola en color negro y la recta en
color azul. El uso de la transposición (') en los vectores
permite que plot2d acepte varias funciones para el mismo
eje t. Este ejemplo ilustra cómo comparar distintas curvas
dentro de un solo gráfico.
En este ejemplo se utilizó el comando plot3d
para generar una gráfica tridimensional. Se
definieron los vectores x = -5:0.1:5 y y = -
5:0.1:5 como los ejes principales. Luego se
En este ejercicio se graficó la función y=x2+2x3y = x^2 +
2x^3y=x2+2x3 en el intervalo de 0.1 a 10. Para evitar
construyó la matriz z = y'*(x.^2), lo que
errores al operar con vectores, se emplearon los operadores combina la transposición de y con la potencia de
elemento a elemento .^ en x.^2 y x.^3. El gráfico se x, generando una superficie que depende de
generó con plot2d(x,y,3,logflag="ln"), donde el ambas variables. Finalmente, con plot3d(x,y,z)
argumento logflag="ln" indica que el eje x está en se visualiza la función en tres dimensiones. El
escala logarítmica, mientras que el eje y permanece en resultado muestra una superficie con curvatura
escala natural. El resultado es una curva que crece
rápidamente y que se visualiza mejor gracias al uso de la
parabólica en el eje X y comportamiento lineal en
escala logarítmica en el eje horizontal. el eje Y, representando cómo Scilab permite
trabajar con funciones de dos variables en 3D.
E. DERIVADAS E INTEGRALES
En este ejemplo se calcula la derivada de la función seno
en el punto x = 1. Para ello se definió la función
f(x)=sin(x) y se utilizó el comando
numderivative(f,x), ya que en esta versión de Scilab
no está disponible el comando derivative. El resultado
obtenido es 0.5403023, que coincide con el valor teórico de
cos(1). Esto confirma que la herramienta numérica
proporciona una aproximación correcta de la derivada en un
Primero se definió la variable simbólica x y se creó la punto específico.
función y = x². Al aplicar el comando derivat(y), Scilab
devolvió el resultado 2x, que corresponde a la derivada de la
función. Después se probó con una función racional (2x²)/(2
+ x³), y Scilab mostró como resultado una fracción donde el
numerador y el denominador se simplifican
automáticamente. Esto demuestra que el programa puede
calcular derivadas de expresiones polinómicas y racionales
de forma exacta.
En este ejemplo se calcula la integral definida de
la función f(x) = x² en el intervalo [1,2]. Para ello
se definió la función con la instrucción function y
posteriormente se empleó el comando intg(1,2,f).
El resultado obtenido es 2.3333333, que coincide
con el valor teórico de la integral de x² entre 1 y 2,
es decir (x³/3) evaluado en los límites. Esto
demuestra que Scilab permite obtener integrales
definidas de manera precisa y sencilla.
En este ejemplo se genera una señal aleatoria utilizando el
comando rand(1,50), que crea 50 valores aleatorios entre
0 y 1. Posteriormente, con plot(t,y) se grafica la señal
en función del tiempo. Para mejorar la presentación, se
empleó gca() que permite acceder a las propiedades del
gráfico y se añadieron etiquetas a los ejes: “time” en el eje x
y “amplitude” en el eje y. El resultado muestra una señal
irregular y sin patrón definido, característica de los datos
aleatorios.
En este ejemplo se genera y grafica una onda
senoidal con la instrucción y = sin(2*3.14*t),
donde el vector t representa el tiempo en el
intervalo de 0 a 3.14 con incrementos de 0.01.
Para organizar el gráfico se utilizó
subplot(2,1,1), reservando el primer espacio de
En este ejemplo se construye una matriz de una figura dividida en dos filas y una columna.
valores aleatorios con rand(5,7) y se definen los Además, con gca() se accedió a las propiedades
vectores i y j que representan los ejes en las del gráfico para etiquetar los ejes como “Time” y
direcciones x e y. Con el comando “Amplitude”. Finalmente, el comando xtitle
plot3d(i,j,m) se genera una superficie
añade un título a la gráfica. El resultado muestra
tridimensional que muestra cómo varían los claramente la forma periódica de la función seno.
valores de la matriz en el espacio. El resultado es
una malla irregular en 3D, característica de los
datos aleatorios, que permite visualizar de manera
más clara la distribución de los puntos en tres
dimensiones.
En este ejemplo se grafica una onda coseno
generada con la instrucción y = cos(2*3.14*t),
donde el vector t define el intervalo de tiempo de
0 a 3.14 con incrementos de 0.01. Para organizar
el resultado, se utilizó subplot(2,1,2), que
coloca la gráfica en la segunda posición de una
figura dividida en dos filas y una columna.
Además, mediante gca() se accedió a las
propiedades del gráfico para asignar etiquetas a
los ejes: “Time” en el eje x y “Amplitude” en el
eje y. Con xtitle se añadió el título “Cosine
Wave Generation”. El resultado muestra la forma
periódica de la función coseno, la cual está
desfasada respecto a la onda seno.
En este ejemplo se comparan una señal continua y su versión
muestreada. Primero, se solicita al usuario ingresar la
frecuencia de la onda seno y la frecuencia de muestreo. Con
estos valores se genera la señal continua usando x =
sin(2*3.14*fo*t), que se grafica en el primer subplot
con el título “Continuous signal”. Posteriormente, se calcula
el período de muestreo T=1/ft y se crea la señal discreta y
= sin(2*3.14*fo*n*T), la cual se grafica en el
segundo subplot con el comando plot2d3 bajo el título
“Sampled Signal”. El resultado permite observar que la señal
continua es una onda sinusoidal suave, mientras que la
muestreada aparece como puntos discretos separados en el
tiempo, mostrando la diferencia entre una señal continua y
una digitalizada.
F. RESULTADOS
A lo largo de la práctica se obtuvieron resultados
satisfactorios que demuestran la utilidad del software Scilab
en el desarrollo de operaciones matemáticas, análisis
numérico y representación gráfica. Cada ejercicio permitió
validar los conceptos teóricos mediante la ejecución de
código, la observación de los resultados en pantalla y la
interpretación de las gráficas generadas.
En las operaciones básicas, se comprobó que
Scilab maneja correctamente asignaciones de
variables, suma, resta, multiplicación, división,
potenciación y el uso de números complejos.
Con respecto a funciones matemáticas, se logró
evaluar funciones exponenciales, logarítmicas y
trigonométricas, observando que los resultados
coinciden con los valores teóricos esperados.
En el manejo de vectores y matrices, se realizaron
operaciones de suma, resta, transpuesta,
determinante, inversa y solución de sistemas de
ecuaciones lineales, obteniendo soluciones exactas.
En la parte de graficación, se generaron gráficos
en dos y tres dimensiones, así como subgráficas,
logrando visualizar fenómenos matemáticos de
manera clara. Las etiquetas, leyendas y rejillas
añadidas contribuyeron a una mejor interpretación
de los datos.
Finalmente, en la sección de derivación e Las herramientas de graficación en 2D y 3D
integración, se aplicaron tanto métodos simbólicos facilitaron la interpretación visual de funciones
como numéricos. Las derivadas e integrales
obtenidas coincidieron con los resultados teóricos, matemáticas y señales, mostrando de manera clara
confirmando la precisión de las herramientas del fenómenos como el desfase entre seno y coseno, o
software. la diferencia entre señales continuas y
muestreadas.
En conjunto, los resultados obtenidos reflejan que Scilab es
un entorno robusto y versátil, que facilita la resolución de
La resolución de sistemas de ecuaciones
problemas matemáticos y la representación visual de datos,
siendo de gran valor en el ámbito académico y científico. lineales mediante Scilab evidenció la utilidad del
programa en el campo del álgebra lineal y el
modelado matemático aplicado a la ingeniería.
G. CONCLUSIONES
En general, se comprobó que Scilab constituye
La práctica permitió familiarizarse con la una herramienta académica de gran valor, ya que
sintaxis y comandos básicos de Scilab, integra programación, cálculo numérico y
comprobando su eficacia en la resolución de graficación en un mismo entorno, contribuyendo
operaciones matemáticas, manipulación de al desarrollo de competencias en matemáticas
vectores y matrices, así como en la evaluación de aplicadas, física e ingeniería.
funciones.
BIBLIOGRAFIA
Se confirmó que el software es capaz de Banda, O. (2025). Práctica 1a: Lenguaje de Programación Scilab.
obtener resultados rápidos, precisos y coherentes Universidad Nacional de San Agustín de Arequipa.
con la teoría, tanto en cálculos algebraicos como
en derivadas e integrales.