Variables

  1. Los nombres de las variables deben de comenzar con una letra y pueden tener hasta 31 caracteres, que pueden ser números, letras, guión (-), subrrayado(_)
  2. La variable a es distinta de la variable A, MATLAB diferencia entre mayúsculas y minúsculas
  3. Los nombres de las variables deben tener significado, primero se utilizan letras como a, x, y, pero cuando los programas son más complejos se llamarán posicion, velocidad, etc.
  4. Los nombres de las variables no pueden coincidir con las palabras reservadas por MATLAB: sin, sqrt exp, etc
  5. No están permitidos espacios entre caracteres

Para guardar el número 1.5 en un lugar de la memoria, lo asignamos a una variable denominada a, del siguiente modo:

>> a=1.5
a = 1.5000

En la misma línea se pueden asignar valores a más de una variable, separadas por comas , o punto y comas ;

>> a=6,  b=34   
a = 6
b = 34

Si no deseamos que se muestren en la ventana de comandos Command Window los valores de a y b escribiremos, alternativamente

>> a=6;  b=36;   

El punto y coma ; le indica a MATLAB que ejecute el comando pero que suprima la salida.

Las variables no solamente pueden guardar números, sino también pueden guardar cadenas de caracteres (strings), delimitados por comillas simples

>> str='hola'
str = hola

Las variables actualmente en memoria a, b y str tal como aprecen en la ventana Workspace. Las variables en la ventana Workspace pueden ser editadas para cambiar el valor que guardan, pueden ser borradas con la tecla Suprimir, o seleccionado delete en el menú Edit.

Variables predefinidas

ans

Representa el valor calculado de una expresión y que se puede reutilizar en el siguiente cálculo

pi

Representa el número pi

eps

Es la más pequeña diferencia entre dos números. Precisión de los números en coma-flotante

i, j 1 o el número complejo 0+1.0000i
realmax, realmin Máximo y mínimo número en como flotante
inf Representa el infinito, por ejemplo cuando se divide un número entre cero, se muestra ∞
NaN No es un número. Resultado de una expresión indefinida, por ejemplo al dividir cero entre cero
>> pi
ans =    3.1416
>> i
ans =   0.0000 + 1.0000i
>> j
ans =   0.0000 + 1.0000i
>> eps
ans =   2.2204e-16
>> realmax
ans =  1.7977e+308
>> realmin
ans =  2.2251e-308
>> 3/0
ans =   Inf
>> 0/0
ans =   NaN
>> inf-inf
ans =   NaN

Comandos

clear Borra todas las variables de la memoria
clear x y z Borra las variables x, y, z de la memoria
who Lista de variables que se están utilizando
whos Lista de variables junto a su tamaño en memoria

Se recomienda al lector que ejecute el comando clear cada vez que comience una tarea, o corra un script. Todas las variables se borran de memoria y la ventana Workspace aparecerá vacía. Alternativamente, se elige en el menú la opción Clear Workspace

Cálculo con variables

Calcular la expresión

b a b+ b+a ca

donde a=8, b=3 y c=-2

Vamos a utilizar con cuidado los paréntesis

>> a = 8; b = 3; c = -2;
>> b-a/(b+(b+a)/(c*a))
ans = -0.4595

Calcular las raíces de la ecuación de segundo grado con MATLAB, ax2+bx+c=0

x 1 = b+ b 2 4ac 2a x 2 = b b 2 4ac 2a

Sea la ecuación de segundo grado x2-x-6=0. Una de las raíces es

>> a=1;  b=-1; c=-6;
>> x=(-b+sqrt(b^2-4*a*c))/(2*a)
x = 3

En vez de tener que volver a escribir

>> x=(-b-sqrt(b^2-4*a*c))/(2*a)     

Pulsamos la tecla cursor flecha hacia arriba y obtenemos la línea anterior,

cursor

La editamos, cambiando el signo + por -. Pulsamos Retorno, obtenemos, la segunda raíz

>> x=(-b-sqrt(b^2-4*a*c))/(2*a)
   x = -2

Haciendo doble-click en el comando de la ventana Command History, el comando aparece en la ventana de comandos, Command Window y es ejecutado.

También es posible arrastrar el comando desde la ventana Command History a Command Window, hacer los cambios que sean necesarios y correrlo, pulsando Retorno, tal como se muestra en la figura.

Pulsamos la tecla cursor hacia arriba y obtenemos la línea anterior, la editamos, cambiando el signo + por -. Pulsamos Retorno, obtenemos, la segunda raíz. Alternativamente, arrastarmos con el puntero del ratón el comando desde Command History, lo modificamos y pulsamos Retorno.

Ficheros script

Cada vez que pulsamos Retorno se ejecuta el último comando y los comandos que hemos ejecutado anteriormente no se pueden cambiar. Un modo diferente de proceder es crear un fichero de texto con la lista de comandos, guardarlos y luego ejecutar el nombre del fichero en la ventana de comandos, los comandos guardados se ejecutan uno tras otro en orden consecutivo. Podemos editar el fichero, cambiarlo, guardarlo y volverlo a ejecutar para ver el efecto de los cambios. Otra ventaja, es que podemos reutilizar una parte o todo el código del fichero, copiándo líneas Edit/Copy o CTRL+C de un fichero y pegándolas Edit/Paste (CTRL+V) en el lugar apropiado de otro fichero. O bien, guardándolo File/Save as... con otro nombre y editándolo para modificarlo.

Para escribir un fichero script se abre el Editor seleccionado New/Script y se escriben el código que queremos guardar. Estos ficheros tienen extensión m.

Creamos el script ecuacion_2 y lo guardamos en un fichero con extensión .m

dis=sqrt(b^2-4*a*c);   
x1=(-b+dis)/(2*a)
x2=(-b-dis)/(2*a)

En la ventana de comandos, Command Window, asignamos valores a las variables a, b y c, y ejecutamos el script ecuacion_2

>>a=1; b=-1; c=-6;   
>> ecuacion_2
x1 = 3
x2 = -2

Las variables a, b y c, pueden estar también en el script

a=1;  b=-1; c=-6;
dis=sqrt(b^2-4*a*c);
x1=(-b+dis)/(2*a)
x=(-b-dis)/(2*a)
>> ecuacion_2
x1 =     3
x2 =    -2

Se puede crear un script a partir de los comandos guardados en Command History.

Si escribimos en la ventana Command Window

>> a=1; b=-1; c=-6;
>> dis=sqrt(b*b-4*a*c);
>> x1=(-b+dis)/(2*a)
x1 =     3
>> x2=(-b-dis)/(2*a)
x2 =    -2

En la ventana Command History se guardan los comandos, tal como vemos en la imagen.

Se selecciona con el ratón, manteniendo pulsada la tecla Ctrl los comandos resaltados en la figura. Se pulsa el botón derecho del ratón y se selcciona en el menú flotante Create Script. Aparece la ventana del Editor con los comandos selecionados.

Ahora solamente queda guardarlo y darle un nombre al script ecuacion_3, pulsando en el icono Save.

Corremos el script en la ventana de comandos Command Window, escribiendo el nombre del script o bien, pulsando el botón Run

>> ecuacion_3
x1 =     3
x2 =    -2

Es una buena práctica escribir ficheros script que sean fáciles de entender por nosotros mismos, después de un cierto tiempo y por otros lectores que tengan acceso al código que hemos creado. Esto implica al menos, las siguientes tareas:

  1. Asignar a las variables y funciones nombres significativos
  2. Estructurar el código
  3. Comentar el código, describiendo las tareas que realiza cada una de sus partes

La carpeta de trabajo

La carpeta de trabajo es el lugar donde se guardan los ficheros .m que hemos creado. La carpeta de trabajo se muestra y se selecciona debajo de la barra de botones pulsando en la flecha hacia abajo situda a la derecha

Se establece la carpeta de trabajo mediante el comando cd, indicando la unidad c:, carpeta /MATLAB, subcarpeta /fisica

>> cd c:/MATLAB/fisica 

Alternativamente, se utiliza el botón titulado 'Browser for folder' situado a la izquierda. Una vez que se ha localizado la subcarpeta fisica en la carpeta MATLAB, en el cuadro de diálogo que aparece, se pulsa en el botón titulado 'Seleccionar carpeta'

Ejemplos

1.-Evaluar las siguientes expresiones para el valor dado de x

y= 1 x3 5 x 2 x6 ,x=2 y= tanxsinx xsinx ,x= π 6 y= 1 2( 1 x ) 1 3( 1 x 3 ) ,x=3

>> x=2;
>> y=1/(x-3)-5/(x^2-x-6)
y =    0.2500

>> x=pi/6;
>> y=(tan(x)-sin(x))/(x-sin(x))
y =    3.2777

>> x=3;
>> y=1/(2*(1-sqrt(x)))-1/(3*(1-nthroot(x,3)))
y =    0.0707

2.-La longitud del arco de parábola de la figura es

s= 1 2 b 2 +16 a 2 + b 2 8a ln( 4a+ b 2 +16 a 2 b )

Calcular s para a=12 y b=8

>> a=12; b=8;
>> s=sqrt(b^2+16*a^2)/2+b^2*log((4*a+sqrt(b^2+16*a^2))/b)/(8*a)
s =   25.9922

3.-Un proyectil se dispara con un ángulo θ y una velocidad inicial v0. Calcular el alcance horizontal, la altura máxima y el tiempo de vuelo del proyectil, desde que sale hasta que impacta con el suelo

θ=60°, v0=600 m/s, g=10 m/s2.

x max = v 0 2 g sin(2θ) y max = v 0 2 2g sin 2 θ t vuelo =2 v 0 g sinθ

>> format short g
>> th=60; v0=600; g=10;
>> x_max=v0^2*sind(2*th)/g
x_max =  31177
>> y_max=v0^2*sind(th)^2/(2*g)
y_max =  13500
>> t_vuelo=2*v0*sind(th)/g
t_vuelo =  103.92

4.-Ley del enfriamiento de Newton

T= T s +( T 0 T s ) e kt

La temperatura ambiente es Ts=20, la temperatura inicial del cuerpo T0=5. Calcular la temperatura T del cuerpo en el instante t=3, sabiendo que k=0.45.

> format short
>> Ts=20; T0=5; k=0.45;
>> T=Ts+(T0-Ts)*exp(-k*3)
T = 16.1114