Sunteți pe pagina 1din 2

Guía Scilab – Matrices y Vectores 5 Guía Scilab – Matrices y Vectores 6

Bifurcaciones y Bucles Funciones útiles


[m p]=max(v); [m p]=min(v); Son funciones cuyo primer valor de
if : Ejecuta sentencias si se cumple una condición.
retorno corresponde al máximo (o mínimo) del vector (o matriz)
if expr1 ingresado y el segundo indica su posición.
sentencias1 --> A=[1 6 32; 12 23 87; 57 12 15];
elseif expr2 -->[m p]=max(A)
sentencias2 p =
... 2. 3.
else m =
sentencias 87.
end
linspace(x1,x2,n); Genera un vector fila de n valores equiespacia-
for: Repite sentencias un número predeterminado de veces. dos que van de x1 a x2.
for i=valor inicial : incremento : valor final logspace(x1,x2,n); Devuelve un vector fila de n puntos logarítmi-
sentencias
camente equiespaciados entre 10x1 y 10x2.
End
sum(v); Suma todos los elementos del vector
while: Repite sentencias mientras se cumpla una condición. --> v=[1 6 32];
--> sum(v)
while expr ans=
sentencias 39.
end
abs(v); Valor absoluto del argumento.
break: interrumpe la ejecución de un bucle for --> A=[1 -6;-3 7];
Ejemplo 1: Realizar la sumatoria del vector u: --> abs(A)
ans=
s=0; 1. 6.
for i=1:1:length(u) 3. 7.
s=s+u(i); Barra izquierda “\”; x=A\b es la solución al sistema de ecuacio-
end nes Ax=b. 1. Matrices y Vectores
Ejemplo 2: Encontrar la posición del primer elemento de  Si A es cuadrada y no singular x = A\b es equivalente a
valor 0 en el vector w: x=inv (A)*b pero de manera mas eficiente. 2. Creación de Funciones
w=[1 3 5 0 9 18]; w=[1 3 5 0 9 18];
n= length(w); i=1;
 Si A no es cuadrada, x = A\b es la solución de mínimos
for i=1:n while w(i)~=0
i=i+1;
cuadrados. 3. Graficas bidimensionales
if w(i)==0 Ejemplo:
posicion=i end

end
break posicion=i; --> A=[9 -36 30;-36 192 -180;30 -180 180];
--> b=[3;-24;30];
4. Bifurcaciones y Bucles
end --> x=A\b
x =
1.
5. Funciones útiles
1.
1.
Guía Scilab – Matrices y Vectores 1 Guía Scilab – Matrices y Vectores 2 Guía Scilab – Matrices y Vectores 3

Matrices y Vectores Creación de funciones Gráficos bidimensionales


Se definen por filas; los elementos de una misma fila están Se definen bajo la siguiente sentencia: Scilab dispone de varias funciones básicas para crear gráfi-
separados por espacios o comas y las filas por Entre o punto cos 2-D. Algunas son:
función [valores de retorno]=ñame)
y coma. Por ejemplo, si deseamos ingresar la matriz A, el plot() crea un gráfico a partir de vectores y/o columnas de
endfunction
vector v y el vector u: matrices, con escalas lineales sobre ambos ejes.
 1 2 3 1 name corresponde al nombre de la función. Entre corchetes y plot2d() similar a plot pero cuenta con funciones de cambio
   
A   4 5 6  v  3 7 2 u   3  separados por comas se definen los valores de retorno (salida/s de escala en los ejes.
7 8 9 7 de la función). Los argumentos (entadra/s de la función) se defi- fplot2d() grafico 2D de una curva definida por una función
   
En Scilab: nen entre paréntesis separados por comas. polarplot() crea una gráfica de coordenadas polares del án-
Ejemplo: Creamos la función “promedio” que encuentra la me- gulo theta versus el radio rho
--> A=[1 2 3; 4 5 6; 7 8 9];
--> v=[3 7 2]; dia aritmética de un vector. Nota: Para mayor información consultar el comando help
--> u=[1;3;7]; seguido de cualquiera de las anteriores funciones.
function [x]=promedio(a)
Nota: Las variables escalares pueden ser ingresadas como x=sum(a)/length(a); Ejemplos:
vectores de un solo elemento. Ejemplo: --> p= 3.14 endfunction
--> x=[1 3 2 4 5 3];
Manipulación de elementos Al ejecutar las sentencias anteriores, la función promedio se --> plot(x)
En Scilab se accede a los elementos de un vector o de una activa para utilizarse como cualquier otra función de Scilab.
matriz poniendo la posición entre paréntesis a la derecha del --> v=[3 7 2];
nombre. --> promedio(v)
Ejemplo: ans=
4.
--> v(2)
anos= Ejemplo: Deseamos obtener la densidad del aire en función de
--> x=-4:0.01:4;
7. la presión y temperatura, considerándolo como ideal. --> y=sin(x);
--> m=A(1,3)
function [densidad]=dens_ideal(P, T) --> plot(x,y)
m=
3. // P en atmosfera
// T en ºC
Operaciones con matrices
// PM en g/mol
Los operadores matriciales:
// R en atm.L/mol.ºK
+ Adición o suma; – Sustracción o resta
// densidad en g/L
* Multiplicación; .* Producto elemento a elemento --> Re=(1e4:100:1e6);
Tk=T+273.15;
^ Potenciación; .^ Potencia elemento a elemento --> f=(-2*log10(0.001/3.7 + 5.1286./(Re.^0.89))).^(-2);
PM=29; --> plot2d("ll",Re,f)
/ y \ División derecha e izquierda;
R=0.082;
./ y .\ División elemento a elemento;
densidad=(P*PM)/(R*Tk);
' Traspuesta
endfunction Doble escala
logarítmica
Nota: Se aplican también a las variables o valores escalares, --> dens_ideal(1,25)
aunque con algunas diferencias. Todos estos operadores son ans=
coherentes con las correspondientes operaciones matriciales: 1.186176
no se puede por ejemplo sumar matrices que no sean del mis-
mo tamaño. Si no se usan de modo correcto se obtiene un
mensaje de error.

S-ar putea să vă placă și