Anda di halaman 1dari 5

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

Laboratorio 1 de Métodos Numérico


ciclo 2018-II

OCTAVE

Puntualizaciones para trabajar en la ventana de comandos:

• Para teclear un comando el cursor debe estar situado después del sı́mbolo ¿¿.

• Una vez que el comando se ha tecleado y se pulsa la tecla enter, el comando es ejecutado. Sin
embargo solo se ejecuta el último comando, todo ejecutado anteriormente permanece inalterado.

• Se puede teclear más de un comando en una sola lı́nea, para ello sólo hay que poner una coma
entre comando y comando. Cuando se pulsa la tecla enter todos los comandos se ejecutan en
orden de izquierda a derecha.

• No es posible ir hacia arriba, a una lı́nea anterior, realizar una corrección y reejecutar de nuevo
un comando.

Punto y coma (;): Cuando se teclea un comando en la Ventana de Comandos y se pulsa la tecla
enter, el comando es ejecutado inmediatamente. Cualquier salida que genere el comando se
visualizará en la Ventana de Comandos. Si se teclea un punto y coma (;) al final de un comando,
la salida de dicho comando no será visualizada; esto puede ser útil, cuando el resultado de un
comando es obvio o conocido o cuando la salida es grande.

El sı́mbolo %: Cuando se teclea el sı́mbolo % (tanto por ciento) al principio de una lı́nea, Octave
considerará dicha lı́nea un comentario, esto significa que cuando se pulsa la tecla enter la lı́nea
no será ejecutada.

El comando clc: El comando clc (teclear clc y pulsar enter) borra la Ventana de Comandos. A
medida que se van tecleando y ejecutando comandos en la Ventana de Comandos, esta se va
llenando. Una vez que se teclea clc la ventana se limpia. Este comando no cambia nada que hay
sido creada antes, es decir si previamente se han definido variables,estas aún seguirán definidas
con sus valores asignados, y podrán seguir usándose normalmente.

Operaciones aritméticas con escalares


Los números pueden ser utilizados en cálculos aritméticos directamente (como si se tratara de una
calculadora), o pueden ser asignados a variables que posteriormente podrán ser usados en los
cálculos. Los sı́mbolos de operaciones aritméticas son los siguientes:
Operación Sı́mbolo Ejemplo
Suma + 3+4
Resta - 4-5
Multiplicación * 3*5
División derecha / 5/3
División izquierda 5 3=3 / 5
Exponenciación ! 53
Observación: Todos estos sı́mbolos excepto la divisiń izquierda, son los mismos que pueden encon-
trarse en cualquier calculadora de mano.

Orden de precedencia Los cálculos se ejecutan en función del orden de precedencia que se muestra
en la relación siguiente. Este orden es el mismo que se utiliza en la mayorı́a de las calculadoras.
Precedencia Operación matemática
Primero Paréntesis. Para paréntesis anidados, el más interno es el que primero se ejecuta.
Segundo Exponenciación
Tercero Multiplicación, división (igual precedencia)
Cuarto Suma y resta.
Observación: En una expresión que contiene varias operaciones, las operaciones con mayor prece-
dencia son ejecutadas antes que las operaciones de menor precedencia. Si dos o más operaciones
tienen la misma precedencia, la expresión será entoncesejecutada de izquierda a derecha.

Ejercicios Encuentre el resultado de cada operación:

1. 7 + 8 ÷ 2

2. (7 + 8) ÷ 2

3. 4 + 5 ÷ 3 + 1

4. 53/2

5. 3 27 + 320.2

6. 0.7854 − (0.7854)3/(1×2×3) + 0.7855/(1×2×3×4×5)

Formatos de visualización de números


Comando Descripción
format short Presenta el número real con cuatro cifras decimales.
Format long Presenta el número real con catorce cifras decimales.
Funciones matemáticas básicas Las funciones matemáticas elementales son:
Función Descripción Ejemplo
sqrt(x) Raiz cuadrada sqrt(81)
exp(x) Exponencial ( e )x exp(5)
abs(x) Valor absoluto abs(-24)
log(x) Logaritmo natural log(1000)
log10(x) Logaritmo en base 10 log10(1000)
factorial(x) Función factorial factorial(5)
sin(x) Seno del ángulo x sin(pi/6) (x en radianes)
cos(x) Coseno del ángulo x cos(pi/6) (x en radianes)
tan(x) Tangente del ángulo x tan(pi/6) (x en radianes)
sign(x) Función signo sign(5)
Ejercicios : Encuentre el resultado de cada operación:

1. 64

2. 50 + 14 × 3
p
3. 54 + 9 × |sqrt100

4. (15 + 600 ÷ 4) ÷ 121

Definición de variables escalares


El operador de asignación El sı́mbolo = se llama operador de asignación. Este operador
asigna un valor a una variable.
Nombre de la variable=valor numérico
Ejemplo
>>x=15
x=15
>>y=3*x-12 y=33
El nombre de la variable puede consistir de un máximo de 31 caracteres. Se diferencia mayúsculas
y minúsculas esto es las variables: dato1, Dato1, daTo1 son diferentes. El comando clear dato1
borra la variable dato1. El comando who lista todas las variables que estan activada.

Ejercicios:

1. En cada caso asigne el valor correspondiente de cada variable y encuentre los resultados de las
nuevas variables:

(a) a = 12; B = 4; C = (a − B) + 40 − a ÷ B × 10

(b) x = 0.75, E = sin2 (x) + cos2 (x)


x
tan x + sin x
2. Sea la siguiente identidad trigonométrica cos2 = . Verifique que dicha identidad
2 2 tan x
es correcta calculando ambos miembros de la ecuación y sustituyendo el valor de x por π/5.

3. Más ejercicios

(a) Calcule utilizando los comandos


35, 7 × 64 − 73
i.
45 + 52
5 37
ii. × 7 × 62 + 3
4 9 − 652
(b) Defina la variable x como x = 13, 5 y calcule:
i. x3 + 5x2 − 26, 7x − 52

14x3
ii.
e3x
iii. log |x2 − x3 |

(c) Defina las variables x y z como x = 9, 6, z = 8, 1 y calcule:


 3
2 2z
i. xz − /5
3x
443z
ii. + e−xz x + z
2x3
Gráficos Para realizar un gráfico, debemos crear dos vectores de la misma dimensión x y f ,
donde x corresponde a los valores del eje X y f a los valores de la función en estos pontos.
El gráfico es generado por el comando plot(x, f ) . Si deseamos generar el gráfico de la
función sen(x) en el intervalo [−π, π], debemos proceder de la siguiente forma:
>>x=-pi:0.01:pi;
>> f=sin(x);
>> plot(x,f)

Note que en la definición del vector x , usamos el paso igual a 0.01. Esto determina la cantidad
de puntos que el comando plot usa para generar el gráfico. Cuánto más puntos, más perfecto
será el gráfico (pero será mayor el tiempo de ejecución). Si hubiésemos usado el paso 0.5
no tendriamos un gráfico de calidad.

Ejercicio Dibuje la gráfica de la función exponencial en el intervalo [ 2,2] . Obtenga una


segunda gráfica donde a la curva anterior se le añada la recta tangente en x = 0.

M-archivos
Existen dos tipos de programas: scripts y functions. Ambos deben ser salvados con ex-
tensión .m en el directorio corriente. Una diferencia básica entre los dos es que los scripts
tratan a las variables, definidas en ella, como variables globales, mientras que las functions
tratan las variables como variables locales. De esta forma la functions tienen que tener un
valor de retorno.
Scripts (Archivo de instrucciones) Los scripts permiten que un conjunto de comandos y
definiciones sean ejecutados a través de un único comando en la ventana de comandos.
Como ejemplo, el script siguiente calcula la aproximación de la derivada de sen(x) usando
diferencias finitas.
% Aproximación de la derivada del seno
%Usando el operador de diferencias finita.
clear;
h=0.0001;
x=input(’Entre con el valor de, x=’);% Atribuye Valores a x
disp(’El valor de la aproximación es...’) %Muestra mensaje en el monitor
dsen=(sin(x+h)-sin(x))/h
Las primeras dos lı́neas son comentarios que describen el script. En la quinta lı́nea tenemos
el comando que permite atribuir valores a una variable. Y en la sexta lı́nea el comando que
permite mostrar un mensaje en el monitor. Vamos suponer que este archivo sea salvado
con el nombre de devira-seno.m. Para ejecutar el script digitamos su nombre.

Functions
En una función la primera lı́nea es de la forma function y=nombre(argumentos).
La función intercambia informaciones con octave por intermedio de la variable y y de los
argumentos. Para ilustrar el uso de funciones considere el siguiente código
function dsen=deriva-seno(x,h)
% Aproximación de la derivada del seno
%Usando el operador de diferencias finita.
dsen=(sin(x+h)-sin(x))/h;
A pesar de que este archivo se puede salvar con cualquier nombre, es usual usar el mismo
nombre de la función, o sea, deriva-seno.m. Para ejecutarlo debemos digitar su nombre e
informar los valores de los argumentos, por ejemplo,
>>y= deriva-seno(3.14,0.001)
Y nos dará para y una aproximación de la derivada de la función seno en 3.14. Una
diferencia importante entre esta versión, usando function, con la anterior es que el valor
calculado puede ser atruibuido a una variable. Además podemos escoger el valor de h que
en la versión anterior estaba fijo en h=0.0001.
Debemos notar que en el primer caso todas las variables del script están activas, es decir
son variables globales. Mientras que en el segundo caso las variables son locales, es decir la
variable h solo se activa en la ejecucin de la función.

Ejercicio Diseñe una función que devuelva el producto escalar de dos vectores x e y de Rn
.Los argumentos de entrada deben de ser los vectores x e y . Además, el correspondiente
archivo de tener alguna lı́nea de comentario.

Control de Flujo
El control de flujo es un recurso que permite que resultados anteriores influencien opera-
ciones futuras. Como en otros lenguajes, OCTAVE posee recursos que permiten el control
de flujo de ejecución de comandos, con base en estructuras de toma de decisiones. Presen-
tamos las estructura de loops for, loops while e if-else-end. La forma general de loop
for es
for x= vector
comandos...
end
Los comandos entre for y end son ejecutados una vez para cada columna del vector. A
cada iteración se le atribuye a x la próxima columna del vector. Por exemplo
>>for n=1:5
x(n) cos(n*pi/2);
end
>>x
x= 0.0000 -1.0000 -0.0000 1.0000 0.0000

El loop while ejecutaun grupo de comandos cuantas veces es necesario para que una condición
sea negada. Su forma general es
while expresión
comandos...
El grupo de comandos entre while y end son ejecutados hasta que la expresión asuma un
valor falso. Por exemplo,
>>while abs(x(n)-x(n-1))>10(−6)
x(n) 2*x(n-1) 1/4;
n=n+1;
end
En este caso el grupo de comandos son ejecutados hasta que el valor absoluto de la diferencia
entre dos valores consecutivos sea menor o igual a 10(−6) .
La estructura if-else-end permite que grupos de comandos sean ejecutados por una prueba
relacional. La forma general es dada por
if expresion
comandos 1...
else
comandos 2..
Si la expresión es verdadera es ejecutado el grupo de comandos 1, en caso contrario es
ejecutado el grupo de comandos 2. La siguiente estructura permite el uso de la forma más
simple que envuelve solo una condicional
if expresión
comandos...
end
Como ejemplo considere el siguiente fragmento de código que calcula el valor absoluto un
número
if x<0
x=-x;
end
Es decir, si x fuera menor que cero entonces cambia de signo, en caso contrario no hace
nada.

Ciudad Universitaria agosto del 2018

Anda mungkin juga menyukai