Vous êtes sur la page 1sur 50

EL ENTORNO

OCTAVE
El software de Matlab se desarroll
originalmente como un Laboratorio de
matrices (Matriz Laboratory).
En cuanto entra a Matlab, la ventana activa
es la ventana de comandos y deber aparecer
el indicador Matlab ( >> ).
Matlab tiene los operadores
matemticos bsicos

+ Adicin
- Sustraccin
* Multiplicacin
/ divisin derecha
^ Potencia
Ejemplos:
>> 2+3

ans =

5
>> 3^0.5

ans =

1.7321
Matlab llama al resultado ans (abreviatura de
answer = respuesta) para cualquier clculo.
Dicho ans siempre guarda el resultado del
ltimo clculo.
Para evitar eso, es recomendable almacenar la
informacin en variables, por ejemplo:
>> persona=20+40*3-10

persona =

130
Observemos algunos tutoriales en la
ventana de comandos:
help ayuda
who muestra una lista de las variables
utilizadas
whosexhibe informacin acerca de las
variables
clc limpia la pantalla
clear limpia de memoria las variables; clear
x borra la variable x de la memoria
exit salida del Matlab
Date fecha actual
Ejemplos:
>>help sin
sin Sine of argument in radians.
sin(X) is the sine of the elements of X.

See also asin, sind.

Overloaded methods:
codistributed/sin

Reference page in Help browser


doc sin
>> date

ans =

10-Aug-2014
Operadores relacionales y lgicos
< menor que
<= menor o igual que
> mayor que
>= mayor o igual que
= asignacin
= = igual (comparacin)
~= diferente
& y (conjuncin)
| | o (disyuncin)
~ no (negacin)
Estos operadores retornan 0 para indicar falsedad y
1 para verdad
Ejemplos:
>> 4<3

ans =

0
>> 4==-4

ans =

0
>> (3<7)&(3~=4)

ans =

1
formatos
short: imprime nmeros con 4 dgitos
significativos
long: Imprime nmeros con al menos 14
dgitos significativos.
bank: Imprime nmeros con un formato fijo
de dos lugares luego del punto decimal.
Free o none: Muestra la salida en un formato
libre
Ejemplos
>> pi
ans = 3.1416
>> format short
>> pi
ans = 3.1416
>>format long
>> pi
ans = 3.14159265358979
Variables de arreglo
Son aquellos que generalmente servirn para
representar vectores y matrices.
VECTORES: Debemos de escribirlas entre los
smbolos [ , ] y cada elemento debe ser
separado por un espacio en blanco o por
coma, podemos tambin ingresar nmeros
complejos como sus componentes.
Ejemplos:
>> v1=[1,-4,0.25]

v1 =

1.0000 -4.0000 0.2500


>> v2=[-3.5 -32 25]

v2 =

-3.5000 -32.0000 25.0000


>> v5=[2,v1]

v5 =

2.0000 1.0000 -4.0000 0.2500


Otra forma de escribir este tipo de variables es con un
incremento o decremento fijo:
x=valor inicial : incremento(decremento):valor final
x1 =1:0.1:2

Columns 1 through 6

1.0000 1.1000 1.2000 1.3000 1.4000 1.5000

Columns 7 through 11

1.6000 1.7000 1.8000 1.9000 2.0000


>> x2=8:-1:2

x2 =

8 7 6 5 4 3 2
MATRICES: Tambin debemos de escribirlas entre
los smbolos [ ] cada fila se separa por un
punto y coma y los elementos de dichas filas por
coma o espacio en blanco.
>> A1=[1,2;-2,0]

A1 =

1 2
-2 0
>> A2=[0.5 2;-2 0.1]

A2 =

0.5000 2.0000
-2.0000 0.1000
Operadores Matriciales:

+ Adicin
- Sustraccin
* Multiplicacin
/ divisin derecha
^ Potencia
conjugada transpuesta
Operadores Puntuales(opera componente a
componente , es decir las matrices o vectores
deben ser del mismo orden)

.* Multiplicacin
./ divisin derecha
.^ Potencia
. conjugada transpuesta
Ejemplos:
>> v1*v2
Error using *
Inner matrix dimensions must agree.
>> v1.*v2

ans =

-3.5000 128.0000 6.2500


>> v1^2
Error using ^
Inputs must be a scalar and a square matrix.
To compute elementwise POWER, use POWER (.^) instead.
>> v1.^2

ans =

1.0000 16.0000 0.0625


Funciones para la construccin de
matrices especiales
eye matriz identidad.
zeros matriz nula
ones matriz de unos
rand matriz de nmeros aleatorios
uniformes.
diag matriz diagonal
Ejemplos:
>> eye(3)

ans =

1 0 0
0 1 0
0 0 1
>> zeros(2,3)

ans =

0 0 0
0 0 0
>> ones(1,3)

ans =

1 1 1
>> rand(2)

ans =

0.8147 0.1270
0.9058 0.9134
>> diag([2,-1,3])

ans =

2 0 0
0 -1 0
0 0 3
Funciones para vectores y matrices:
length(v) cantidad de componentes de
un vector
sort(v) ordena en forma creciente los
componentes del vector v
max(v) halla el componente mayor del
vector
min(v) halla el componente menor del
vector
size(A) nos da el orden de la matriz A
det(A) determinante de la matriz A
inv(A) inversa de la matriz A
diag(A) extrae la diagonal de la matriz A
trace(A) traza de la matriz A
rank(A) rango de la matriz A
rref(A) forma fila reducida de A
Si ingresamos:
>> v=[1,-2,-4,3]

v=

1 -2 -4 3

>> A=[-2,1;-4,3]

A=

-2 1
-4 3
Podemos realizar:
>> length(v)

ans =

>> sort(v)

ans =

-4 -2 1 3

>> size(A)

ans =

2 2
>> det(A)

ans =

-2

>> inv(A)

ans =

-1.5000 0.5000
-2.0000 1.0000
GRAFICOS EN OCTAVE
1. GRAFICOS SIMPLES.
Para realizar un grfico en el plano cartesiano
escribimos:
x=a:k:b ; y=f(x); plot(x,y);
Donde:
a y b representan los lmites del intervalo [a, b]
k es el incremento(depende de los puntos que
necesitamos)
y=f(x) la funcin deseada
Plot comando para graficar en el plano cuya
sintaxis general es:
Plot(x,y,marca y color)
La marca permite visualizar solo los puntos
ploteados y con el color diferenciamos
grficas simultaneas.
Color de Smbolo
Lnea

Tipo de Smbolo Rojo r


Marca Amarillo y
Punto . Turquesa c
Ms + Verde g
Estrella * Azul b
Circulo Blanco w
Marca x x Negro K
Cuando asignamos x=a:k:b definimos x como
vector:
x=-1:1:2 entonces x=(-1,0,1,2)
Cuando aplicamos una funcin de OCTAVE a x
obtenemos un vector:
sin(x)=(sin(-1), sin(0), sin(1), sin(2))
Como no podemos multiplicar dos vectores,
dividirlos, ni elevarlos a una potencia se
utilizan las operaciones puntuales .*, ./, .^
Por ejemplo:
Si x=0:1:4
Es incorrecto escribir y=x*sin(x) pues ambos
factores son vectores luego la forma correcta es:
y=x.*sin(x).
Es incorrecto escribir y=1/x+x^2 pues x es
vector, lo correcto es y=1./x+x. ^2
Con respecto al incremento k dependera de los
lmites a y b para obtener una curva lisa es
recomendable que x tenga ms de 30
componentes y si x tienen muchas componentes
la memoria utilizada puede no ser suficiente.
Ejemplo:
x=0:1:4 x tiene 5 componentes (muy poco)
x=0:0.1:4 x tiene 41 componentes (aceptable)
x=0:0.001:4 x tiene 40001 componentes
(demasiado)
Deseamos graficar y=1/(x2 +1)-cos(x) en [-3, 3]
x=-3:0.1:3; y=1./(x.^2+1)-cos(x); plot(x,y);
Definiendo x como incremento 0.1
obtenemos 61 componentes (aceptable)

x=-3:0.1:3; y=1./(x.^2+1)-cos(x);
plot(x,y,'b');
Obtendremos una curva de color azul

x=-3:0.1:3; y=1./(x.^2+1)-cos(x);
plot(x,y,'+g');
Obtendremos una curva de color verde con
marcas +
superficies
La funcin z=f(x,y) representa una superficie
Antes de realizar la representacin, es
necesario crear una malla de puntos en el
plano xy para calcula el valor de z en cada
uno de ellos. Para ello, Octave dispone de la
funcin meshgrid. La sintaxis de esta orden
es:
[X, Y] = meshgrid(x,y)
x = [-2:0.1:2]; y = x;
[X, Y] = meshgrid(x,y);
Z = X.*exp(-((X-Y.2).2+Y.2));
mesh(X,Y,Z)
Programacin en Octave
Para realizar programas en MATLAB debemos de estar en
el editor de MATLAB, para eso elegimos en el MENU(parte
superior), FILE despus NEW y finalmente M-FILE;
aparecer una nueva ventana; donde podemos escribir
las instrucciones del programa.
Si deseamos correr el programa debemos grabarlo, para
eso en el men del editor elegimos ARCHIVO, luego
GUARDAR COMO, aparecer una ventana, en la parte
inferior ponemos el nombre que deseamos con la
extensin m; por ejemplo si deseamos grabar un
programa con el nombre PG1 escribiremos PG1.m; para
que el programa se efectu, en la ventana de comandos
escribiremos PG1 solamente.
Ingreso de datos:
MATLAB puede aceptar datos de entrada a
travs del teclado mediante el comando input.
Para el cual debemos de seguir el sintaxis
siguiente:
Variable = input (mensaje);
Tenemos los siguientes ejemplos:
n=input(ingresar un nmero entero);
A=input(ingresar una matriz);
v=input(ingresar un vector)
Los mensajes solo nos indiaca lo que debemos
de ingresar, ellos no tienen influencia en el
tipo de variable. Podemos ingresar n en el
formato de matriz, por tanto n ser una matriz
en toda la sesin de trabajo.
Tambin podemos ingresar frases mediante dos
formas, una de ellas escribindola entre
apostrofes y la otra utilizando el argumento s
el cual indica que la entrada del teclado es
una cadena:
F1=input(ingresar su nombre:);
Para este caso escribir Edwin

F2=input(ingresar su nombre, s);


Para este caso escribir Edwin
Salida de datos.
En Matlab tenemos dos formas de mostrar
nuestros resultados numricos:
a. Formato del Matlab. En este caso
utilizamos el comando disp; cuya sintaxis es:
disp(variable);
disp([variable1,variable2]);
disp([variable1,variable2,variable3]);
disp(mensaje);
Ejemplos:
>> a=3.25;b=12.7;
>> disp(a);
3.2500

>> disp([a,b]);
3.2500 12.7000

>> disp('Buenos dias');


Buenos dias
Instrucciones de control de un programa.
Para mantener el flujo de control de la
secuencia lgica de un programa; Matlab
utilizaremos las siguientes instrucciones:

1. Ciclo de contador. Cuya sintaxis es:


for variable = inicio: incremento : final
sentencias
end
Por ejemplo si escribimos:

for i = 1:2:7;
x=i^2;
disp(x);
end
Obtendremos:
1
9
25
49
2. Ciclo con entrada controlada. Cuya
sintaxis es :
while condicin
sentencias;
end
Debemos tener en cuenta que en condicin
tendremos una proposicin lgica (simple y
compuesta) la cual debe comprobarse si es
verdadera para poder ejecutar las
sentencias
Ejemplo:
k=1; a=0; disp(b);
while k<=4
c=a+b;
disp(c); Obtenemos:
a=b; 1
1
b=c;
2
k=k+1; 3
end 5
3. Procesamiento con una o dos
selecciones. cuya sintaxis es:
if condicin
Sentencias 1;
Else sentencias 2;
End
aqu debemos indicar que si la condicin se
cumple se ejecutan las sentencias 1; en caso
contrario las sentencias 2; else es opcional.
Ejemplo:
c=-5;
if c>= 0
disp(nmero no negativo);
else
disp(nmero negativo);
end

Obtenemos:
nmero negativo
Programa 1:

Calcular d = a*a + b*b


Donde a =3 y b = 4 (ingresados por teclado)
clear;
a=input('ingresar a=');
b=input('ingresar b=');
d=a*a+b*b;
disp(d);
Calcular y=1/x.
clear;
x=input('ingresar x=');
if x==0
disp('ingrese x diferente que 0');
else
y=1/x;
disp(y);
end
Visualizar los nmeros del 1 al 10

clear;
k=1;
while k<=10
disp(k);
k=k+1;
end

Vous aimerez peut-être aussi