Abraham Morán
Introducción a Scilab
28/10/13
RECTA Y PARABOLA EN UN MISMO PLANO
clf t=[-2:0.01 0.01: :2]; f=2*t^2+2; g=2*t+3; plot2d( plot2d (t,[ t,[f'g']) // borrar gráfica anterior clf t=0:1:10 10; ; // valores del eje x (tiempo) x=1.5 1.5* *t+1.8 1.8; ; // ecuación de una recta y=0.08 0.08* *t^2; // ecuación de una parábola plot( plot (t,x,'r-' t,x,'r-',t,y, ,t,y,'g-.' 'g-.') ) // graficar las dos curvas // poner rejilla xgrid xtitle( xtitle ('GRAFICA DEL LA RECTA Y PARÁBOLA', PARÁBOLA' ,'SEGUNDOS' 'SEGUNDOS', ,'LONGITUD' 'LONGITUD') )
FUNCIÓN SENO
x=[ x=[0:0.1 0.1: :3*%pi]'; //Genero la variable x que va desde 0 a 3 * pi y con intervalos de 0,1. plot2d( plot2d(x,sin x,sin( (x)) )); ; //Ploteo de la función. xlabel( xlabel ( " Tiempo " ) ; ylabel( ylabel (" Tensión " ) ; title( title ("Función sinusoidal" ) ; //titulo y etiquetas en los x e y. a=gca a=gca() (); ; a.grid a.grid= =[1,2]; //Activo el grid grid uno uno de color negro y otro de color azul. Dadas las siguientes funciones:
Código para Scilab: x=[ x=[0:0.1 0.1: :3*%pi]'; plot2d( plot2d(x,[ x,[sin sin( (x) sin sin( (2*x) *x) sin sin( (3*x)]) *x)])
1
Abraham Morán
Introducción a Scilab
28/10/13
LOGARITMO NATURAL
clf x=[0.1:0.1:10]; y=x^2+2*x^3; xgrid plot2d(x,y,3,logflag="ln")
Gráfica tridimensionales. Por ejemplo para grafica la función z = yx2 x=-5:0.1:5; // eje x y=-5:0.1:5; // eje y z=y'*(x.^2); // función
plot3d(x,y,z) El comando mesh dibuja una superficie parametrica usando un grid rectangular definido por las coordenadas x e y. Por ejemplo si se quisiera representar la siguiente función:
Código en Scilab: a1=0.65812;b1=1.34208;c1=-0.46980;d1=0.14074;e1=0.20124;f1=0.30487; [X,Y]=meshgrid(-2:.1:2,-2:.1:2); Z=a1*X.^2+b1*Y.^2+c1*X.*Y+d1*X+e1*Y+f1; xtitle('z=a1*X.^2+b1*Y.^2+c1*X.*Y+d1*X+e1*Y+f1' ); mesh(X,Y,Z); Curvas de nivel
Para poder visualizar el mínimo o máximo de una función puede llegar a ser más útil observar las curvas de nivel. El siguiente código nos permite hacer un multiploteo de varios gráficos en la misma ventana. Las funciones son:
a1=1;a2=-10;a3=1;a4=12; b1=5;b2=4;b3=8;b4=-9; clf
2
Abraham Morán
Introducción a Scilab
28/10/13
t=linspace(-5,5,30); function z=my_surface(x, y),z=a1*x^2+a2*x*y+a3*y^2+a4,endfunction function z1=my_surface1(x, y),z1=b1*x^2+b2*x*y+b3*y^2+b4,endfunction subplot(3,2,1) contour(t,t,my_surface,10) xtitle('$\textstyle z=a_1*x^2+a_2*x*y+a_3*y^2+a_4$' ) subplot(3,2,2) contour(t,t,my_surface1,10) xtitle('$\textstyle z_1=b_1x^2+b_2*x*y+b_3*y^2+b_4$' ) xset("colormap",[jetcolormap(64);hotcolormap(64)]) subplot(3,2,3) colorbar(0,2,[1,64]) Sfgrayplot(x,y,my_surface,strf="041",colminmax= [1,64]) xtitle('$\textstyle z=a_1*x^2+a_2*x*y+a_3*y^2+a_4$' ) subplot(3,2,4) colorbar(0,2,[1,64]) Sfgrayplot(x,y,my_surface1,strf="041",colminmax= [1,64]) xtitle('$\textstyle z_1=b_1x^2+b_2*x*y+b_3*y^2+b_4$' ) drawnow() ; f1=a1*x1.^2+a2*x1.*x2+a3*x2.^ 2+a4; f2=b1*x1.^2+b2*x1.*x2+b3*x2^2+b4; [X,Y]=meshgrid(-5:.3:5,-5:.3:5); Z=a1*X.^2+a2*X.*Y+a3*Y.^2+a4; Z1=b1*X.^2+b2*X.*Y+b3*Y^2+b4; subplot(3,2,5) mesh(X,Y,Z); subplot(3,2,6); mesh(X,Y,Z1);
3
Abraham Morán
Introducción a Scilab
28/10/13
Para colocar los títulos de la gráfica y de los ejes se utiliza la siguiente sintaxis, xlabel(‘título de la gráfica’, ‘del eje x’, ‘del eje y’)
// borrar gráfica anterior clf t=0:1:10; // valores del eje x (tiempo) x=1.5*t+1.8; // ecuación de una recta y=0.08*t^2; // ecuación de una parábola plot(t,x,'r-',t,y,'g-.') // graficar las dos curvas // poner rejilla xgrid xtitle('GRAFICA DEL LA RECTA Y PARÁBOLA','SEGUNDOS','LONGITUD')
ARGUMENTOS
Donde los argumentos son: style: Color o estilo de la línea. De 0,-1,- 2,…,-9 cambia el estilo. Para cambiar el color se usan los números positivos 0,1,2,….,10
rect: Limita los valores del gráfico [xmin,ymin,xmax,ymax] logflag: Son las escalas de los gráficos. Natural-natural ‘nn’, natural-decimal ‘nl’, decimal-natural ‘ln’, decimaldecimal ‘ll’.
axesflag: Especifica en qué posición se dibujan los ejes leg: escribe la leyenda de la curva realizada COMANDO plot2d Se utiliza para generar gráficos en el plano (dos dimensiones). Su sintaxis es, plot2d(x,y,’argumentos’)
subplot(mnq) Donde m es el número de filas, n el de columnas y q el de la subgráfica. clf x=[0:0.1:10]; subplot(221) // primera gráfica y1=2*x+1; plot(x,y1) subplot(222) // segunda gráfica y2=0.2*x^2; plot(x,y2) 4
Abraham Morán
Introducción a Scilab
28/10/13
subplot(223) // tercera gráfica y3=15*sin(x); plot(x,y3) subplot(224) // cuarta gráfica y4=15*cos(x); plot(x,y4) xgrid(4) COLOR
POLAR
5
Abraham Morán
Introducción a Scilab
28/10/13
MATRICES
Resolución de sistemas lineales Para resolver un sistema lineal podemos hacer: 1. Primer método
A=[1 5;4 3];B=[1;2]; -->inv(A)*B ans = 0.4117647 0.1176471 1.
Segundo método: Resolver el sistema con el comando linsolve.
A=[1 5;4 3];B=[1;2]; linsolve(A,-B) ans = 0.4117647 0.1176471 1.
A\B ans
Tercer método: Otra forma:
=
0.4117647 0.1176471
Inversa La matriz inversa verifica la siguiente propiedad:
Dada la matriz A, se desea calcular la matriz inversa en Scilab:
Código en Scilab:
A=[2 3;4 2]; inv(A)
6
Abraham Morán
ans
Introducción a Scilab
28/10/13
=
- 0.25 0.375 0.5 - 0.25 //o también se puede hacer así: A^-1 ans = - 0.25 0.5
0.375 - 0.25
Verificación de la definición de la matriz inversa:
A*inv(A) ans = 1. 0.
0. 1.
7