Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. Cuentas básicas
Se pueda abrir el programa desde el ı́cono correspondiente, y se abre la
ventana de comandos, donde se puede escribir después del sı́mbolo -->
Escriba algunas cuentas, por ejemplo:
--> 3^2
--> 9*8
--> 9*(1-4/5)
--> sin(%pi/3)^2
--> a=[1 3 5 7]
y el resultado será
a =
1. 3. 5. 7.
Elementos de Matemática Aplicada 2013 2
B =
1. 2. 3. 0. 0.
4. 5. 6. 0. 0.
7. 8. 9. 0. 0.
0. 0. 0. 1. 0.
0. 0. 0. 0. 1.
NOTA IMPORTANTE: Para Scilab no es lo mismo mayúscula que
minúscula, en el explorador de variables ahora tenemos las variables a, A, B
y ans. Muchas veces los programas no funcionan porque nos confundimos
mayúsculas con minúsculas, ojo.
Ahora, a hacer cuentas. Meta las siguientes cosas a SciLab, y fı́jense si
da lo mismo que ustedes esperan.
-->v=[1 2 3]’
-->w=[2 4 6]’
-->w+v
-->v-w
-->3*w+v-1
-->sin(v)
-->w^2
-->w*w
La última falló ¿no? Para entender qué pasó, pensemos en multiplicar ma-
trices. Cargue estas matrices en MatLab
4 3 6 5 8 3
A= y B=
5 7 0 1 0 6
Elementos de Matemática Aplicada 2013 4
Multiplicar A*B está mal porque las dimensiones de las matrices no coinciden.
Para multiplicar las matrices, hay que trasponer alguna de las dos. Puede
ser
--> A*B’
o
--> A’*B
También puede ser que lo que quiera hacer es multiplicar elemento a ele-
mento (o multiplicar punto a punto se dice a veces). Esto puede hacerse
ası́
--> A .* B
y el resultado será
ans =
20 24 18
5 0 0
Ahora podemos ver qué pasó con el w*w. No sé qué querı́a escribir el que
escirbió w*w, pero puede ser alguna de las siguientes cosas:
--> w’*w
--> w*w’
--> w.^2
--> norm(w)^2
Escrı́balas todas en Scilab, y asegúrese de entender qué es cada una.
Nota: En Scilab, si escribimos w^2, primero intenta hacer w*w, y si falla,
entonces hace w.^2
Algunos comandos útiles
Comando Descripción
abs(a) valor absoluto de los elementos de a
sin(a) seno de los elementos de a
cos(a) coseno de los elementos de a
exp(a) devuelve eai para cada uno de los elementos de a
log(a) logaritmo natural de los elementos de a
length(a) cantidad de elementos en a
sum(a) suma de todos los elementos de a
prod(a) producto de todos los elementos de a
size(A) dimensiones de A
det(A) determinante de A
rank(A) rango de A
trace(A) traza de A
spec(A) autovalores (y autovectores) de A
inv(A) matriz inversa de A
clear borra la memoria
Elementos de Matemática Aplicada 2013 5
2. Gráficos
Para graficar en Scilab hay que hacer una tabla de valores (ya sé, va
en contra de lo que enseñamos en Análisis I, pero las computadoras hacen
cuentas sin pensar y por eso hacen tablas de valores; nosotros tenemos que
pensar para decirle a las computadoras qué cuentas hacer)
Entonces hay que tener dos vectores, uno con los valores de x y otro con
los valores de y = f (x), y darle eso al comando plot para que la compu-
tadora grafique.
Antes de seguir adelante vamos a ver una forma para ingresar varios
comandos juntos, y después poder corregirlos si hiciera falta. Abra un archivo
nuevo (usando el menú ‘Aplicaciones’→‘SciNotes’, o usando el botoncito ese
que parece una libretita).
x=-3:0.1:7
y=2*x.^2 - 5*x -2
plot(x,y)
x=0:.1:3;
y1=(x.^9 -18*x.^8 + 144*x.^7- 672*x.^6 + 2016*x.^5 ..
- 4032*x.^4+ 5376*x.^3 - 4608*x.^2 + 2304*x - 512);
plot(x,y1)
Elementos de Matemática Aplicada 2013 6
un polinomio de grado nueve, nada del otro mundo. Ahora queremos mirar
más cerca de la raiz, ası́ que volvemos a hacer la cuenta (fı́jense que sólo
hace falta cambiar el primer renglón, y recuerden como siempre cerrar la
ventana de gráfico antes de volver a ejecutar con ‘F5’)
x=1.95:.001:2.05;
y1=(x.^9 -18*x.^8 + 144*x.^7- 672*x.^6 + 2016*x.^5 ..
- 4032*x.^4+ 5376*x.^3 - 4608*x.^2 + 2304*x - 512);
plot(x,y1)
Bastante feo ¿no? ¿Será que este polinomio de grado 9 tiene más de 20
raices? ¿O será culpa del error de redondeo?
Ahora viene cuando nos acordamos de que nos explicaron que escribiendo
los polinomios de manera anidada se reduce el número de operaciones y por
lo tanto también el error por redondeo. Volvamos a cambiar el programa
entonces, agregando unas lı́neas con comentarios para recordar qué era cada
cosa.
x=1.95:.001:2.05;
// Calcula polinomio sin anidar
y1=(x.^9 -18*x.^8 + 144*x.^7- 672*x.^6 + 2016*x.^5 ..
- 4032*x.^4+ 5376*x.^3 - 4608*x.^2 + 2304*x - 512);
// Calcula el polinomio de manera anidada
y2=-512+(2304+(-4608+(5376+(-4032+(2016+(-672+(144+(-18+x) ..
.*x).*x).*x).*x).*x).*x).*x).*x;
// Grafica los dos
plot(x,y1,"--g",x,y2,"r")
Mejoró un poco, ¿no? Cuantas menos cuentas haya que hacer, menor será el
error de redondeo. Podrı́a ser que fueramos muy despiertos y nos dieramos
cuenta de que, en realidad, ese polinomio es la expansión de (x − 2)9 . En-
tonces el error se puede achicar muchı́simo, agregamos entonces los últimos
detalles a nuestro programa
x=1.95:.001:2.05;
// Calcula polinomio sin anidar
y1=(x.^9 -18*x.^8 + 144*x.^7- 672*x.^6 + 2016*x.^5 ..
- 4032*x.^4+ 5376*x.^3 - 4608*x.^2 + 2304*x - 512);
// Calcula el polinomio de manera anidada
y2=-512+(2304+(-4608+(5376+(-4032+(2016+(-672+(144+(-18+x) ..
.*x).*x).*x).*x).*x).*x).*x).*x;
// Calcula el polinomio factorizado
y3=(x-2).^9;
// Grafica los dos
plot(x,y1,"--g",x,y2,"r",x,y3,"b")