Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Octave Comandos

Descargar como txt, pdf o txt
Descargar como txt, pdf o txt
Está en la página 1de 4

https://www.youtube.com/watch?

v=GE3NTUTeAw0&t=612s

No olvidar presionar enter una vez colocado los comandos que indicaremos a
continuación
Edit / Preferences… / Comand / Font size Con esto cambiamos el tamaño de nuestro
TEXTO
En el editor se trabaja con las programaciones parecido al c.

Algo adicional que es lo que nos indica el vídeo cuyo link está en la primera fila:
pkg (paquete), para activar el symbolic hacemos lo siguiente:
pkg install symbolic-win-py-bundle-2.9.0.tar.gz (la dirección del winRar
descargado) (enter)
------------esperamos
pkg load symbolic (siempre que queramos hacer uso del symbolic al iniciar el Octave
debemos cargarlo con load, ya no con install)

Si bien no se puede hacer control c control v podemos presionar la flecha arriba


para volver a cada una de las variables
o ecuaciones que hemos escrito o definido anteriormente
Para darle a una variable el valor de caracter le damos las comillas simples
a='pepe'

Matrices: Los elementos en una fila están separados por comas o por espacios y para
separar filas se utiliza el ; o intro
ejemplo: a=[1 1; 2 5]
a': Traspuesta de la matriz a. a + b:suma de matrices a - b:resta de matrices
a * b:multiplicación de matrices siempre que se pueda
a=rand(3): se define una matriz aleatoria con valores entre 0 y 1 de orden 3.
det(a) me da la determinante de la matriz
inv(a): Inversa de la matriz a
a^(-1): También me da la inversa de una matriz
round(a): le da valores enteros a los valores de a
# o %: ambas se usan al comenzar un comentario en una fila.

a=[una matriz extremadamente grande]; el punto y coma final sirve para que no se
ponga en pantalla lo que acabamos de definir
Los límites de octave son 10 a la -308 y 10 a la 308, tomar esto en cuenta, 0 e
infinito serán

OPERACIONES ELEMENTO A ELEMENTO NO SIRVEN


a .* b: matriz que tiene en el lugar 11 la multiplicación de esos lugares en cada
una de la matriz. y así siguiendo el orden.
a ./ b o a.\ b: división elemento a elemento
a .^ b: elevar a una potencia elemento a elemento

DIVISIONES PARA SISTEMAS LINEALES


Hay dos tipos de divisiones la división izquierda y la división derecha:
AX=B XyB vectores columna
AX=B Aquí se usa la división izquierda X=A\B inv(a)*B dan lo mismo pero, no es la
misma forma la división izquierda se basa en la eliminación Gaussiana
XC=D XyC vectores fila
XC=D Aquí se usa la divisóin derecha X=D/C

COMANDOS
clc: limpiamos la pantalla
clear: limpiar las variables ya definidas
syms: para definir mi variable (es importante ya que si solo coloco y=3x+2 el
programa no sabrá qué es x)
int(eq,x) eq representa a quién aplicaremos la integral y x la variable respecto a
la que integramos
simplify(x): es para simplificar la variable x.
whos: me da en pantalla todas las variables que he definido
str2num(a): cambia el valor de a de un caracter a un número con el que se puede
hacer operaciones
num2str(a): transforma el a que es un número en una cadena
help cos: me dirá cómo funciona la función coseno y otros tipos de funciones
parecidas
cos(x): coseno de x en radianes
cosd(x): coseno de x en grados sexagesimales
sqrt(x): raíz cuadrada de x
pi: constante predefinida en octave (salen solo 4 decimales, pero, en realidad
trabaja con más)
e: constante predefinida en octave
format long: me permite mostrar los valors con 15 decimales y dandome siempre la
forma científica si es que fuera menor a 1
format short: me da pocos decimales
disp(x): solo me da la impresión del valor de x
disp('manito'): es escribe manito en la pantalla
disp('el resultado es',c) está mal porque display no puede desplegar cadenas con
valores numéricos
disp('el resultado es',num2str(c))
disp(['el resultado es',num2str(c)]): igual que el comando anterior pero, ahora se
está guardando como vector.
clear+click derecho y clear window: limpia las variables y además toda la pantalla
nombre=input('dame tu nombre'): me pedirá en la pantalla mi nombre y lo tengo que
colocar con comillas sencillas 'Tito'
nombre=input('dame tu nombre','s'): ya no será necesario la colocación de comillas
senccillas.
a=input('dame el valor de a ','s') a= 12: ese 12 está en versión de caracter y no
se puede hacer operaciones.
exp(x) e elevado a la x
log(x^2) Logaritmo neperiano o natural
Log10(x) Logaritmo en base 10

MATRICES ESPECIALES
a=ones(3) define a "a" como una matriz cuadrada de 1's
a=ones(2,3) define a "a" como una matriz de 2 filas por 3 columnas con todos sus
elementos iguales a 1
a=zeros(2,3) análogo al ones.
a= eye(4) una matriz "identidad" la diferencia es que no siempre será cuadrada y
cumple que en su diagonal principal los elementos son 1
length(x) x es un vector y me sale la longitud del vector
size(M) y nos da la dimensión de la matriz: número de filas y de columnas
size(M)(1) me da el número de filas como un escalar
size(M)(2) me da el número de columnas
linspace (2,4) me da un vector fila con ancho o razón aritmética aleatoria que
comienza en 2 y termina en 4
linspace (2,4,5) Ahora el 5 me indica cuántos términos o columnas en este caso
tendrá mi vector fila comenzando en 2 hasta 4 a razón constante
1:2:11 me da un vecor fila que comienza en 1 y termina en 11, la diferencia ahora
es que el 2 me da de cuánto en cuánto voy a ir
1:2:4 ahora qué pasa si no termina exacto, 1,3 y ya no llega al 4, es debido a que
el programa solo lee hasta el máximo menor o igual a mi límite

Recordar que los índices a diferencia de C++ comienzan con 1 (enlas matrices)

SELECCIONANDO SOLO FILAS O COLUMNAS DE UNA MATRIZ M


A=M(:,4) Se lee que A está copiando en un vector columna toda la columna 4 de M
A=M(2,:) Ahora estoy copiando la fila 2 en el vecotr fila A
A=M(1:2,3:5) Ahora se copia en A desde la fila 1 a la fila 2 y desde la columna 3
hasta la 5
M=[M c1] Le estamos agregando un vector columna a la derecha (siempre en cuando
tenga la misma cantidad de filas que M
Z=[M(:,1:3) N M(:,4:6)] Sirve para insertar la columna N en medio de la matriz M
y=sin(x) Si x es un vector no es necesario poner el . para que le haga a cada
elemento ya que es un función

Cuando x es vector o matriz


También sirve el 2.^x y sale un vector cuyos elementos son de la forma 2 elevado a
los elementos del vector x.
Recordar que sí se puede hacer 2*x si x es vector o matriz.

GRAFICAS
x es un vector fila
y=sin(x)
ahora para graficar
y=plot(x,y) también le puedo dar dos plot para graficar necesita dos valores
abscisa y ordenada
"se coloca el plot al finalizar mi código en el edit después del endfunction" como
un extra
y al ejecutar en los comandos me sale la gráfica.

más fino: x=1:0.1:9; aquí x es un vector fila y el paso es de 0.1 es decir va desde
1, 1.1 1.2 hasta... 9
y=sin(x)
plot(x,y)
fplot: grafica con una regla de correspondencia que tú le das al trabajo.
otra forma de graficar:
fplot('x*3',[2,3]) la regla de correspondencia y el dominio nos pide el fplot
fplot('sin(z)',[-2*pi,2*pi]) no importa si es que z es definido porque es variable
el fplot pide primero la función y después el dominio
Recordar que no se puede multiplicar un vector de 4x1 por otro de 4x1, ya que el
programa
entiende todo como matrices. Solución x.*y
hold on: agrega un gráfico sobre otro gráfico

plot
hold on
plot
hold on

plot(v2) me dibuja un vector en donde el orden me indica la abscisa de cada punto

ESQUEMA DE COLOCACIÓN EXACTA QUE EN OCTAVE PARA LAS GRÁFICAS


plot(v1,v2)
title('funcion del seno de x') #le da un título adecuado a mi gráfica
xlabel('variable independiente') #
ylabel('funcion seno') #
text(0,0,'origen') #Ubica un punto de coordenadas xy 0,0 en este caso y le asigna
un nombre en particular
legend('el pansas') #le da un nombre a la línea de la leyenda que se ubica en la
parte superior en la que normalmente tenemos la ecuación
legend #sirve más para juntar gráficas con el hold on
axis([1,3,4,6]): me limita la gráfica para x entre 1 y 3 y para y entre 4 y 6
axis equal: la gráfica tiene la misma escala en el eje x y en el eje y
figure(número que queramos): me crea otra pantalla para figuras

FUNCIONES (FILE NEW FUNCTION)


retval son las salidas.
inline(f) me ayuda a que pueda evaluar funciones.
y=inline('sin(x)*x^2+x') Ya he definido una función.
y(2) y ya me saldrá el valor de la función cuando x es iggual a 2, recordar que no
es el f, ya que f no está definido es:
y(2).

Edit
Octave no tiene el do while.
Octave tiene el for y el while o mientras.
C=[]; genero una matriz vacía y de ni un orden.
C=[C;x y]; sí funcionará si C está como matriz vacía.

function [Salidas]= Nombre_funcion(Datos); Las salidas no solo son vectores, son


matrices, etc.
for x=-R:1:R cuando avanza de 1 en 1 no es necesario colocar el 1
for x=-R:R es lo mismo que lo anterior.
if (x<y) aquí no necesito poner llaves ni en for ni en if
en vez de else, end. for también se puede acabar con el end.
Recordar que siempre se ejecua guardando con el nombre de la función

También podría gustarte