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

Al completar la unidad de aprendizaje el

alumno será capaz de:

- Verificar el funcionamiento del algoritmo


definido a través de programa de cómputo
mediante pruebas de funcionalidad.
UNIDAD II
INTRODUCCIÓN
AL AMBIENTE DE
PROGRAMACIÓN
1.
Introducción
Matlab es un programa inicialmente diseñado para realizar
operaciones matriciales MATrix LABoratory que ha ido
evolucionando hasta convertirse en una herramienta muy utilizada en
distintos campos de la Ingeniería y de las Ciencias en general.

Entorno de ventanas o Entorno de trabajo


Matlab consiste en un entorno de ventanas con tres partes:
- Command Window o Ventana de Comandos: es la ventana en la
que se escriben las instrucciones que se quieren ejecutar.
- Current Directory o Directorio Actual / Workspace o Espacio de
Trabajo: la primera muestra el contenido de la carpeta de trabajo y
la segunda muestra la información sobre las variables y objetos
definidos.
- Command History: ventana que muestra los últimos comandos o
instrucciones ejecutados.
- Barra de títulos: nombre del programa
- Barra de menú: con todas las opciones del menú general
- barra de herramientas: varios iconos de acceso rápido a las
opciones más utilizadas del submenú de ficheros y de edición.
En la ventana de comandos cada instrucción debe
ser escrita a continuación del inductor del entorno -
prompt- (»), que es el indicador de que MATLAB está
preparado para recibir órdenes.

Una vez escrita alguna instrucción siempre es


necesario pulsar la tecla enter () para que MATLAB
la ejecute.

Tras realizar determinada operación numérica el


sistema responderá creando, en el espacio de
trabajo, una variable de sistema llamada ans en la
que almacena el valor numérico obtenido, siempre
que nosotros no hubiésemos creado alguna otra
variable para almacenarlo.
Ejemplos

» (1+sqrt(2))/3*pi^2 

MATLAB proporcionará la respuesta

ans=

7.9424
MATLAB es un potente paquete de software para
computación científica, orientado al cálculo
numérico, a las operaciones matriciales y
especialmente a las aplicaciones científicas y de
ingeniería.

MATLAB dispone, además, de numerosas


Toolboxes o librerías especializadas, que le
añaden funcionalidades especializadas.

Numerosas contribuciones de sus miles de


usuarios en todo el mundo pueden encontrarse
en la web de The MathWorks: www.mathworks.es
Características principales
- Lenguaje de alto nivel para cálculos científicos y
de ingeniería

- Entorno de escritorio afinado para la exploración


iterativa, el diseño y la solución de problemas

- Gráficas para visualizar datos y herramientas


para crear diagramas personalizados

- Aplicaciones para ajustar curvas, clasificar


datos, analizar señales, ajustar sistemas de
control y muchas otras tareas
- Toolboxes complementarias para una amplia
variedad de aplicaciones científicas y de
ingeniería

- Herramientas para crear aplicaciones con


interfaces de usuario personalizadas

- Interfaces para C/C++, Java®, .NET, Python,


SQL, Hadoop y Microsoft® Excel®

- Opciones de implementación libres de


regalías para compartir programas de
MATLAB con los usuarios finales
Algunas de las ventajas e inconvenientes de
MATLAB son:
1. Ventajas que el entorno MATLAB tiene frente a
un lenguaje de programación:
a. No hay que definir el tipo de las variables que
se van a utilizar, ni el tamaño de las mismas.
b. No hay que compilar los programas, como
ocurre en los entornos de programación.
c. Se pueden utilizar extensísimas librerías de
funciones ya definidas.
d. Presenta un manejo muy practico de vectores
y matrices.
2. Frente a un lenguaje de programación no
presenta inconvenientes destacables. Además
las sentencias y las a estructuras que se
manejan son muy similares a las que se usan
en el entorno de C. Algunos de los
inconvenientes frente a otros paquetes
informáticos son:
a. Al no estar pensado para el trabajo en línea
de comandos no presenta ningún menú de
acceso rápido a procedimientos de uso
frecuente.
b. No posee una librería de calculo simbólico
propio por lo que recurre a comandos de
Maple.
2.
Comandos
Comandos de variables
nombre_variable=input(‘Mensaje’)
a = input(‘Hola mundo’)

nombre_variable=input('Mensaje’,’mensaje’)
a = input(‘Hola’,’mundo’)

b = input(‘Ingrese la base: ‘)
h = input(‘Ingrese la altura: ‘)
area = b*h

MATLAB posee varios comandos que pueden ser utilizados para


generar mensajes y salidas mas elaboradas, los comandos de uso
muy frecuente son:
- fprintf (textos y datos)
- disp (nombre de la variable)
disp(‘Mensaje’)
fprintf(‘mensaje %d’, variable)
Carácteres utilizados para controlar Ia salida
\n salto de línea
\r regreso de carro
\t tabulador
\b retroceder un espacio

Formato de conversión % %i
e notación exponencial en minúsculas 1.709098e+001
E notación exponencial en mayúsculas
1.709098E+001
f notación de punto fijo 17.090980
g formato corto de las notaciones e o f
G formato corto de las notaciones E o f
i entero
Comandos
- clear borra toda la pantalla.
- clc borra toda la pantalla pero deja internamente el
valor de las variables.
- who enumera todas las variables usadas hasta el
momento.
- help (tema) proporciona ayuda sobre el tema
seleccionado.
- ↑ Con este botón se pueden recuperar sentencias
anteriormente usadas.
- syms sirve para declarar variables.
- round(operación) redondea al entero más cercano
- sqrt calcula raíz cuadrada.
- solve resuelve una ecuación o sistema de
ecuaciones.
Constantes numéricas predefinidas
- i , j unidad imaginaria : 2+3i -1-2j
- pi número pi
- Inf “Infinito”, número mayor que el más grande
que se puede almacenar.
- NaN “Not a Number”: magnitud no numérica
resultado de cálculos indefinidos.
Constantes y operadores aritméticos
- Reales: 8.01 -5.2
- Complejos: 1+2i -pi-3j
- Booleanos: true false
- Caracteres (entre apóstrofes o comillas):
’esto es una cadena de caracteres’ “string“
- Operadores aritméticos: + - * / ^
- Operadores de comparación: == ~= <> < >
<= >=
- Operadores lógicos: & | ~ && ||
Operadores relacionales
< Menor
<= Menor o igual
>= Mayor o igual
> Mayor
== Igualdad
~= Desigualdad

Operadores lógicos
~A Negación lógica
A&B Conjunción lógica (and) &&
A|B Disyunción lógica (or) ||
Para tener en cuenta
- Es conveniente también hacer uso intensivo de la
ayuda de MATLAB accediendo a ella desde el menú o
tecleando en la ventana de comandos help para la
ayuda sobre el comando especificado.

- Se pueden usar las flechas ↑ y ↓ para evocar los


comandos introducidos anteriormente.

- Las letras mayúsculas y las minúsculas para MATLAB


no son equivalentes.

- Los nombres de las variables tienen que comenzar con


una letra, pueden contener hasta 63 caracteres (letras,
números y barra baja, pero no signos de puntuación).
- Teclear el nombre de una variable hará que MATLAB
devuelva su valor.

- Un punto y coma (;) al final de cualquier expresión


suprime la salida del resultado por la pantalla (pero
no la evaluación de dicha expresión)

- En MATLAB se puede usar tanto paréntesis ( ) como


corchetes [ ], pero estos tienen significados
diferentes: los paréntesis sirven para agrupar
expresiones e indicar los argumentos de funciones,
mientras que los corchetes especifican listas,
vectores y matrices.

- Cualquier cálculo se puede abortar pulsando Ctrl-C.


También se prohíbe usar las palabras
reservadas, el comando iskeyword hace que
MATLAB elabore una lista de tales nombres

for end if while


function return elseif case
otherwise switch continue else
try catch global persistent
break classdef parfor spmd
Operaciones básicas
- La forma mas sencilla de usar MATLAB es
hacerlo funcionar como si se tratara de una
gran calculadora.

- Las operaciones disponibles son:


+ (suma)
- (resta)
* (producto)
/ (división)
ˆ (exponenciación)
Comandos y Formatos
- who lista las variables actuales
- whos como el anterior, pero más detallado
- clear elimina todas las variables que existan en ese momento
- clear a b c elimina las variables a, b y c sin comas
- format cambia el formato de salida a su valor por defecto short
- format short el valor por defecto
- format long muestra 15 dígitos
- format short e formato short, en coma flotante
- format long e formato long, en coma flotante
- format rat muestra los números como cociente de enteros
- ls lista de ficheros del directorio actual
- dir lista de ficheros del directorio
- pwd devuelve el nombre y path del directorio actual
- cd para cambiar de directorio
- clc limpia la ventana de comandos
- date fecha actual
- close cierra las ventanas del entorno gráfico
Funciones Elementales
Ejemplos
- 2+2
- 3*2.5
- 3^2
- exp(1)
- log(exp(1))
- log10(10)
- sin(2*pi)
- cos(2*pi)
- 4/5
- 3*(5-1)
- sqrt(25)
- 25^(1/2)
- sqrt(-4)
- real(sqrt(-4))
- imag(sqrt(-4))
- 2^(-2)
Determina el valor de x, y, z
- x=4

- y=3+x

- y=y-2

- z=y/2

- x=4

- y=7

- z = 2.5000

Las instrucciones who y whos nos dan información sobre las


variables definidas. La ventana Workspace proporciona información
adicional sobre las variables.
Ejemplos
- spy

- why

- load audio48, sound(signal48kHz, Fs48)

- lorenz

- Image

- defImage = pow2(get(0,'DefaultImageCData'),47);
imgCell = repmat({zeros(size(defImage))},8,7);
for shift = 0:52
imgCell{shift+1} = bitshift(defImage,shift);
end;
allImages = cell2mat(imgCell.');
imshow(allImages,[min(allImages(:)) max(allImages(:))]);
- load handel, sound(y,Fs)

- penny

- xpbombs

- fifteen

- x=[-2:.001:2],y=(sqrt(cos(x)).*cos(200*x)+sqrt(abs(x))-
0.7).*(4*x.*x).^0.01,plot(x,y);

- plot(x,y)

- plot(x)

- plot(y)

- aeroblk_HL20

- h.show();
1. Cálculos sencillos
var=23.45 + 1.67*sqrt(32.74) / (1 + exp(-2));

2. Cálculo de area y volumen de la esfera


r = 17.4;
area = 4*pi*r^2;
volumen = 4/3*pi*r^3

3 Hacer una pequeña tabla y plotear la curva


x = 0:6;
y = sin(pi*x/6);
plot(x,y)

4 Dibujar dos parábolas


x = -10:10;
y = x.*x - 100;
f1 = 0.2*y;
f2 = 0.5*y;
plot(x,f1,x,f2), title('Dos Parabolas')
5. Escribir vectores usando operaciones elemento a elemento
x = [0.1 0.6 log(3) sqrt(2) 3*pi/4];
f=7*x.*exp(-x);
g=x.^2+f./x;
plot(x,f,'o',x,f,x,g)
resultado = [x' f' g'] % Tabula el resultado en tres columnas

6 Una espiral dada en forma parametrica


t = 0:0.2:30;
x = t.*cos(t);
z = t.*sin(t);
plot(x,z);
title('Espiral')

7 Otras funciones MATLAB útiles


y = rand(1,10),
plot(1:length(y),y,'x') % 7 valores al azar entre 0 y 1
ymax = max(y) % Maximo de las componentes de y
s = sum(y) % Suma de componentes
y = round(100*y) % Ahora y es un vector de enteros entre 0 y 100
z = sort(y) % Ordena el vector en forma creciente
zz=fliplr(z) % Da vuelta el vector (flipud lo da vuelta en vertical)
8 Estrellas : se plotean 100 estrellas y 400 puntos al azar
xs = rand(1,100);
ys = rand(1,100);
xd = rand(1,400);
yd = rand(1,400);
plot(xs,ys,'*',xd,yd,'.');
title('Estrellas en el cielo')
clear % Vacía todas las variables

9 Circulo : Dibujar un circulo


xc=3;
yc=-3;
r=6.5; % Centro y radio
n = 50;
k=0:n;
fi=2*pi*k/n;
x=xc+r*cos(fi);
y = yc+r*sin(fi);
plot(xc,yc,'x',x,y);
axis([-5 10 -10 6]),
axis equal;
grid on
10 Serie, ejemplo con loop while
% Calculo de la suma de 1 - 1/4 + 1/9 - 1/16 + 1/25 - 1/36 + .....
s=0;k=1; term=1; p=1;
while abs(term)>1e-5
s=s + term;
k= k + 1
p= -p;
term= p / k^2 ;
end
nterm = k;
sum = s;
sumexacta=pi^2/12
diff=sum-sumexacta

11 Una sucesión numérica clásica


Tome un entero.
%Si es par se divide entre 2,
% Si es impar se multiplica por 3 y se suma uno y se repite
n= input('Un entero, por favor : ') ; % Tratar por ejemplo n = 7 , n= 107
while n > 1
if rem(n,2)==0,
n = n/2,
else
n = 3*n+1,
end
end
12 Como el anterior pero con vectores y ploteo del resultado
n= input('Un entero, por favor : ') ; % Tratar por ejemplo n = 7 , n= 107
nt = n;
while n > 1
if rem(n,2)==0
n = n/2
else
n = 3*n+1
end
nt=[nt,n];
end
nt;
plot(nt)

13 Un sistema de ecuaciones lineales


A = [ 2 2 3 -1
0312
4 -2 3 -2
1 1 -2 -3];
b = [5 8 4 12]';
x= A\b; % La solución de Ax = b
bc = A*x; % Chequeo de la solución
14 Cuadrado mágico
n=input('n= ');
A = magic(n);
colsum = sum(A);
filasum = sum(A');
diagsum = sum(diag(A));
% Para chequear la otra diagonal damos vuelta la matriz
Aud = flipud(A);
diagsum2 = sum(diag(Aud));
mesh(A) % 3-D plot de la matriz

15 Plot tridimensional
xv=-6:6;
yv=-5:7;
[x,y]=meshgrid(xv,yv);
z=x.*exp(-0.1*(x.^2+y.^2));
mesh(z);
figure % Crea otra figura para la nueva grafica
contour(x,y,z,10)

http://fismatlab.blogspot.com/2011/06/ejemplos-basicos-matlab.html

También podría gustarte