PDF de programación - Introducción al Matlab - I

Imágen de pdf Introducción al Matlab - I

Introducción al Matlab - Igráfica de visualizaciones

Publicado el 8 de Julio del 2017
1.532 visualizaciones desde el 8 de Julio del 2017
80,3 KB
8 paginas
Creado hace 18a (14/03/2006)
UNIVERSIDAD DE CONCEPCION
FACULTAD DE CIENCIAS

FISICAS Y MATEMATICAS
DEPARTAMENTO DE INGENIERIA MATEMATICA

Cálculo Numérico (521230)

Laboratorio 1

Introducción al Matlab – I

Matlab (www.mathworks.com) es un lenguaje de programación y una herramienta de cálculo.

Un comando Matlab puede terminar con “;” o no. Cuando se ejecuta un comando terminado en
“;”, los contenidos de las variables involucradas no se muestran en la pantalla. A continuación daremos
una serie de comandos que muestran como trabajar con escalares, vectores y matrices.

>> a=1; % Un escalar, ingreselo con y sin ";".

Para ingresar el vector fila v = (1 3 5 7):

>> v=[1 3 5 7]; % Las componentes van separadas una de otra por un espacio.

Para ingresar el vector columna w =


1
2
3
4

:




>> w=[1;3;5;7]; % Una fila va separada de otra por ";".

Muchas veces los vectores tiene una ley de formación. Esto permite una mayor facilidad para ingre-
sarlos al computador. Por ejemplo, un vector con 100 componentes, donde la primera componente es 2,
la última es 200 y las componentes intermedias van incrementados de dos en dos, puede ingresarse de la
siguiente manera abreviada:

>> q=2:2:200; % El primer numero indica la componente inicial, el segundo el
>>

% incremento y el ultimo la componente final.

Cuando el incremento está ausente, se presupone el valor 1: así, son equivalentes

r=1:45;

y

r=1:1:45;

A continuación mostraremos ejemplos de algunas operaciones con vectores que pueden realizarse

(hágalas una a una):

1

>> u=[1 2 3 4 5 6 7 8]; % Se ingresa un vector (fila).
>> v=8:-1:1 % Se ingresa otro vector (fila).
>> u+v % Suma de vectores.
>> v’
>> u*v’ % El vector u por el v transpuesto (producto interior entre dos vectores).
>> sqrt(u*u’) % Norma del vector u ("sqrt" calcula la raiz cuadrada)
>> sin(u)
>>
>> cos(u)
>> u.*v % Vector cuyas componentes son los productos de las componentes de u por
>>
>> u./v % Vector cuyas componentes son las divisiones de las componentes de u por
>>
>> u.^3 % Vector cuyas componentes son los cubos de las componentes de u
>>
>> 5^4 % Para elevar un escalar a una potencia no es necesario usar el punto.
>> length(v) % Entrega el numero de componentes del vector v (longitud de v).

% Produce un vector de la misma longitud de u donde cada componente es
% el seno de cada componente de u.
% Idem con coseno.

% las de v (notar el . antes del signo *).

% las de v (notar el . antes del signo /).

% Vector transpuesto (columna).

% (notar el . antes del signo *).

Para ingresar la matriz M =


1
2
2 −1
3

5
6

0 −1 
 :

>> M=[1 2 5; 2 -1 6; 3 0 -1] % Una matriz se ingresa por filas. Los elementos
>>
>>
>> IM=inv(M)
>> TM=M’
>> Det=det(M)
>> VP=eig(M)

% de una misma fila se separan por un espacio y
% para separar una fila de otra se usa ";".
% Inversa de la matriz.
% Transpuesta de la matriz.
% Determinante de la matriz.
% Valores propios de la matriz.

Notar que un escalar es una matriz 1 × 1 y un vector columna es una matriz n × 1.

A continuación mostraremos ejemplos de algunas operaciones que pueden realizarse con matrices

(hágalas una a una):

>> A=[1 2 5 5; 2 -1 6 0; 3 0 -1 4; -1 2 4 8; 1 2 3 6]; % Se ingresa la matriz A.
>> A(2,3)
>> A(:,4)
>> A(2,:)
>> A(1:3,2)
>> [m,n]=size(A) % Muestra los numeros de filas (m) y columnas (n) de la matriz A.

% Muestra el elemento que esta en la posicion (2,3).
% Muestra la cuarta columna de la matriz A.
% Muestra la segunda fila de la matriz A.
% Muestra desde el elemento 1 al 3 de la columna 2 de la matriz A.

Los siguientes comandos permiten construir matrices preestablecidas:

Matriz identidad.

eye
zeros Matriz de ceros.
ones Matriz de unos.
diag

Si x es un vector, diag(x) crea una matriz diagonal cuya diagonal son las componentes de x.
Si A es una matriz cuadrada, diag(A) es un vector formado por la diagonal de A.

2

triu Parte triangular superior de una matriz.
tril Parte triangular inferior de una matriz.
rand Matriz generada aleatoriamente con valores entre 0 y 1.
hilb Matriz de Hilbert.

Los comandos anteriores combinados permiten ahorrar tiempo en la construcción de algunas matrices.

Por ejemplo:

>> A=[1 2; 5 -2]
>> B=[-10 30; A]
>> C=[eye(2) zeros(2,2); zeros(2,2) A]
>> D=diag(diag(C))

Matlab permite hacer gráficos, mediante el comando plot. Por ejemplo:

>> x=0:.01:10;
>> y=sin(x);
>> plot(x,y)
>> plot(x,y,’r’) % Note la diferencia con el anterior.
>> plot(x,y,’*’) % Note la diferencia con los anteriores.
>> plot(x,y,’*y’) % Note la diferencia con los anteriores.
>> z=sin(x).^2;
>> plot(x,y,’r’,x,z,’b’) % Asi pueden dibujarse dos curvas en un mismo grafico.

También pueden hacerse varios gráficos a la vez agregando el comando subplot. Por ejemplo:

% se utiliza la primera ventana.

>> x=1:.01:10;
>> y=sin(4*x);
>> subplot(2,2,1) % Se divide la pantalla grafica en dos filas por dos columnas y
>>
>> plot(x,y)
>> subplot(2,2,2) % Estamos usando la segunda ventana.
>> plot(x,y,’r’) % Note la diferencia con el anterior.
>> subplot(2,2,3) % Estamos usando la tercera ventana.
>> plot(x,y,’*’) % Note la diferencia con los anteriores.
>> subplot(2,2,4) % Estamos usando la cuarta ventana.
>> plot(x,y,’*y’) % Note la diferencia con los anteriores.

Para borrar los contenidos de todas las variables se usa el comando clear.

Para conocer la sintaxis correcta de alguna sentencia se usa el comado help. Por ejemplo:

>> help plot

Importante: Matlab diferencia entre mayúsculas y minúsculas. Por lo tanto, “a” y “A” son varia-

bles diferentes!

3

UNIVERSIDAD DE CONCEPCION
FACULTAD DE CIENCIAS

FISICAS Y MATEMATICAS
DEPARTAMENTO DE INGENIERIA MATEMATICA

Cálculo Numérico (521230)

Laboratorio 2

Introducción al Matlab – II

En este laboratorio discutiremos los tipos de programas que pueden hacerse en Matlab y cómo

almacenar datos.

Hay dos tipos de programas Matlab: uno se donomina rutero y el otro function.

Supongamos que tenemos un directorio donde guardaremos nuestros programas. Matlab debe estar

direccionado a ese directorio. Un comando para cambiar de directorio dentro de Matlab es:

>> cd directorio

Todos los archivos con programas Matlab deben terminar con la extensión .m. Veamos un ejemplo:

Deseamos resolver la ecuación de segundo grado 3x2 + 5x + 2 = 0. Escribamos primeramente un

programa tipo rutero. El programa puede ser el siguiente:

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

Guarde el programa con el nombre eje1.m. Para ejecutarlo escriba en Matlab el nombre del archivo

y obtendrá:

>> eje1

x =

-0.6667

-1.0000

Este tipo de programas se conocen como ruteros y las variables son globales, es decir, quedan en la
memoria despues de ejecutarse el programa. Para saber que hay en la memoria puede usarse el comando
whos:

4

>> whos

Name

Size

Bytes Class

D
a
b
c
x

1x1
1x1
1x1
1x1
1x2

8
8
8
8

double array
double array
double array
double array
16 double array

Una desventaja de este tipo de programas es que para resolver otra ecuación que utilice la misma

fórmula debemos modificar el programa.

Los programas tipo function tienen una estructura más esquematizada y siempre comienzan de la

siguiente forma:

function [salida1,salida2,...]=nombre(entrada1,entrada2,...)

El programa anterior escrito como function queda asi:

function x=eje2(a,b,c)
D=b^2-4*a*c;
x(1)=(-b+sqrt(D))/(2*a);
x(2)=(-b-sqrt(D))/(2*a);

Se almacena en un archivo eje2.m y se ejecuta del siguiente modo:

>> eje2(3,5,2)
ans =

-0.6667

-1.0000

Este programa puede usarse, sin modificarlo, para resolver otras ecuaciones del mismo tipo. También

puede usarse en otros programas (como veremos en otros laboratorios).

En este caso las variables son locales. Por ello si se ejecuta whos se obtiene:

>> whos

Name

Size

Bytes Class

ans

1x2

16 double array

Es conveniente usar programas tipo function, cuando sea posible, pues permiten un ahorro de memoria.

5

A continuación daremos los comandos más usados en programas:

• for . La sintaxis de este comando es

for i=vi:in:vf
instrucciones

end

donde vi, in y vf son el valor inicial, el incremento y el valor final de la variable escalar i. Cuando
in está ausente, se presupone el valor 1: así, son equivalentes for i=vi:vf y for i=vi:1:vf .

• while . La sintaxis de este comando es

while relación

instrucciones

end

Las instrucciones se ejecutan reiteradamente mientras la relación sea verdadera.

• if . La sintaxis de este comando es

if relación

instrucciones

end

Las instrucciones se ejecutan si la relación es verdadera. Otras formas de este comando son posibles.
Por ejemplo,

if relación

instrucciones 1

else

instrucciones 2

end

Si la relación es verdadera se ejecutan las instrucciones 1, caso contrario se ejecutan las instruc-
ciones 2.

Las relaciones para los comandos if y while se construyen mediante los siguientes relacionadores:

menor que
mayor que

<
>
<= menor o igual a
>= mayor o igual a
==
~=

igual a
distinto a

y los siguientes conectivos lógicos:

&
|
~
xor

y
o
no
o excluyente

6

A continuación mostraremos un par de ejemplos de programas (prográmelos) y dejaremos algunos

ejercicios (trate de hacerlos todos en el tiempo del laboratorio).

1. Construya un programa que evalúe la función f (x) =( 2 sen2(2x), x ≤ 0,

1 − e−x,

x > 0.

Solución:

function y=fun1(x) % Si la entrada es un vector, la salida tambien lo es.
n=length(x);

% Determina la longitud del vector x.
% A continuacion se calcula el valor de la funcion
% componente a componente.
% Al omitir el incremento este se asume igual a 1.

for i=1:n

if x(i)<=0

y(i)=2*(sin(2*x(i)))^2;

else

y(i)=1-exp(-x(i));

end

end

Para hacer la gráfica de la función f en el intervalo [−10, 10] puede utilizarse este programa del
siguiente modo:

>> x=-10:.01:10;
>> plot(x,fun1(x))

2. Construya un programa que evalúe la función: f (x) =


Solución:

x − 1,
1 − x2,



1

x + 1

x ≤ −2,

−2 < x < 0,

, x ≥ 0.

function y=fun2(x)
n=length(x);
for i=1:n

if x(i)<=-2
  • Links de descarga
http://lwp-l.com/pdf5027

Comentarios de: Introducción al Matlab - I (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad