Documentos de Académico
Documentos de Profesional
Documentos de Cultura
OCTAVE Y QTOCTAVE
http://octave.sourceforge.net/
El programa se instala como cualquier programa de Windows, por
defecto el directorio donde se instala el programa es:
C:/Octave/3.2.4_gcc-4.4.0
C:/Octave/3.2.4_gcc-4.4.0/bin
http://qtoctave.wordpress.com/
qtoctave-win32-0.9.1-3.zip
Editor:
Navigator:
Command List
A=
1 2 3
4 5 6
7 8 9
10 20 30
En Octave se accede a los elementos de un vector poniendo el
índice entre paréntesis, por ejemplo
>>> x(2)
La respuesta es:
ans =
11
12
13
Y de la misma forma
>>> y(3)
ans =
13
Para poder sumar los vectores necesitamos que ambos sean vectores
filas o ambos columna.
Si hacemos
>> x’
Transforma el vector fila x en un vector columna
ans =
10
20
30
>>> x’+y
ans =
21
32
43
Si transformamos y en vector fila y sumamos, entonces
>> x+y’
21 32 43
>>> x./3
ans=
3.3333 6.6667 10.0000
>>> x.\3
ans=
0.3000 0.1500 0.1000
• Elevar a una potencia elemento a elemento (.^)
>>> x.^3
ans=
1000 8000 27000
>>> [1 2 3 4].^2
ans =
1 4 9 16
1 -2 3 -4
Tipos de datos
>>> 1.0/0.0
ans = Inf
>>>warning: division by zero
>>>
>>> inf/inf
ans =
NaN
2.2251e-308
>>> realmax
ans =
1.7977e+308
s=
8
Si se desea que una expresión continúe en la línea siguiente, hay que
introducir tres puntos (…) antes de pulsar intro.
>>> t*2 ...
*5
ans =
50
También se pueden incluir varias expresiones en la misma línea
separándolas por comas (,) o punto y coma (;)
ans =
25
Si una expresión termina en punto y coma (;) su resultado se
calcula, pero no se escribe en pantalla.
>>> t*2;t*5
ans =
>>> zeros(3,1)
ans =
0
0
0
>>> zeros(1,3)
ans =
0 0 0
Vectores fila o columna donde todos los elementos son unos.
ones(n,1)= Vector columna donde los n elementos son uno.
ones(1,n)= Vector fila donde los n elementos son uno.
>>> ones(3,1)
ans =
>>> ones(1,3)
ans =
1 1 1
>>> linspace(1,10,10)
ans =
1 2 3 4 5 6 7 8 9 10
>>> linspace(0,1,10)
ans =
Columns 1 through 7
Columns 8 through 10
>>> x=linspace(1,10,20);
>>> length(x)
ans =
20
1 2 3 4 5 6 7 8 9 10
1 3 5 7 9
>>> x=1:1.5:10
x=
>>> x=10:-1:1
x=
10 9 8 7 6 5 4 3 2 1
Como puede verse, por defecto este operador produce vectores fila.
Si se desea obtener un vector columna basta transpones es decir x’.
1 2 3 4 5 6 7 8 9 10
>>> y=x.^2
y=
1 4 9 16 25 36 49 64 81 100
>>> [x y]
Columns 1 through 13
1 2 3 4 5 6 7 8 9 10 1 4 9
Columns 14 through 20
16 25 36 49 64 81 100
FUNCIONES DE OCTAVE
sin(x) seno
cos(x) coseno
tan(x) Tangente
log(x) logaritmo neperiano
log10(x) logaritmo decimal
exp(x) Exponencial
sqrt(x) raíz cuadrada
round(x) redondeo hacia el entero mas próximo
abs(x) valor absoluto
x4-8x2+6x -10=0
pol =
1 0 -8 6 -10
>>> polyval(pol,1)
ans =
-11
>>> x
x=
1 2 3 4 5
>>> y
y=
ans =
PROGRAMACIÓN DE OCTAVE
Bifurcaciones y bucles
falso
falso
Condición Condición
cierto cierto
1 2
falso
Condición
Sentencias
cierto
Sentencias Condición
cierto
falso
1 2
Sentencia if
Caso 1 de la Figura 8:
if condicion
sentencias
end
Caso 2 de la Figura 8:
Sentencia for
for i=1:n
sentencias
end
Por ejemplo,
>>> x=linspace(0,1,5)
x=
0 0.2500 0.5000 0.7500 1.0000
>>> n=length(x)
n=
5
>>> for i=1:n
i,x(i)
end
i=
i=
1
ans =
0
i=
3
ans =
0.5000
i=
5
ans =
1
i=
5
ans =
1
i=
3
ans =
0.5000
i=
1
ans =
0
Setencia while
Su sintaxis es la siguiente:
while condicion
sentencias
end
donde condición puede ser una expresión vectorial. Las sentencias se
siguen ejecutando mientras haya elementos distintos de cero en
condición, es decir mientras haya algún o algunos elementos true. El
bucle se termina cuando todos los elementos de condición son false.
i=
1
ans =
0
i=
2
ans =
Ficheros de comandos
>>> prueba2
y=
2.7183
y=
2.7183 7.3891
y=
y=
function poblacion(dt)
for i=1:nt
sol(i)=N0*exp((b-d)*t(i))
end
%solucion aproximada
N(1)=N0;
for i=2:nt
N(i)=N(i-1)+b*N(i-1)*dt-d*N(i-1)*dt;
end
%dibujo de las solucion exacta y aproximada, la aproximada en rojo
%y la exacta con *
plot(t,sol,'*',t,N,'r')