Está en la página 1de 23

Computadores

Introducción a Matlab

Profesor: Juan Antonio Gualda Tornero


Computadores

% Introducción a Matlab

% Generamos un fichero donde almacenar la sesión de trabajo

diary IntroMATLAB

%{

Vamos a comenzar

1º.- Primeros pasos.

2º.- Vectores

3º.- Matrices

%}

% Trabajando con variables

% variable ANS

9/8 % Se mostrará el valor con 4 cifras fraccionarias

ans =

1.1250

format long % Cambiamos formato. Se incrementa el número de cifras fraccionarias

9/8

ans =

1. 125000000000000

% Mostramos 6 cifras del nùmero pi

vpa(pi,6)

ans =

3.14159

% Borramos Command Window

clc
Computadores

% Obtenemos ayuda

help

help sin

%{

Operadores elementales

+ Suma.

- Resta.

* Multiplicación.

/ División.

^ Potenciación.

Funciones definidas de uso frecuente

exp() equivale a e^x

sqrt (x) Raíz cuadrada de x.

sin(x) Seno de x.

cos(x) Coseno de x.

abs(x) Valor absoluto de x.

floor(x) Redondea x hacia menos infinito.

ceil(x) Redondea x hacia más infinito.

fix(x) Redondea x hacia cero.

round(x) Redondea x hacia el entero más próximo.

Rand Genera un número aleatorio entre 0 y 1.

%}
Computadores

a=2

B=3;

% c contiene la suma de a y b. Al no poner punto y coma el….

% resultado se muestra en el Command Window.

c=a+B

% Elevamos c al cuadrado y lo almacenamos en d.

d=c^2

d=

25

% Definición de vector

% Utilizando comas

A=[1,2,3,4,5]

A=

12345

% Utilizando espacios en blanco

B=[2 5 8 3 4]

B=

25834

% Definición de vector entre desde un valor mínimo a un valor máximo

C=0:5

C=

01234 5
Computadores

% Determinando el incremento entre los siguientes valores del vector

D=0:3:9

D=

0369

% En sentido descendente

E=10:-2:0

E=

10 8 6 4 2 0

% Mostrar lista de variables

Who

Your variables are:

A B C D E a ans c d

whos % Muestra información detallada de las variables

Name Size Bytes Class Attributes

A 1x5 40 double

B 1x5 40 double

C 1x6 48 double

D 1x4 32 double

E 1x6 48 double

a 1x1 8 double

ans 1x1 8 sym

c 1x1 8 double

d 1x1 8 double
Computadores

% Guardar la lista de variables en fichero

save variables.mat

% Borrado de una variable

clear E

% Borrado de todas las variables

clear all

% Lectura de las variables

load variables.mat

% Tamaño de un vector

size(A)

ans =

15

% Longitud de un vector

length(A)

ans =

% Descripción acciones función

help size

%Definir un vector columna

F=[1;3;4]

F=

4
Computadores

% Transposición del vector

G=F'

G=

134

% Acceso a los componentes de un vector

C(2)

ans =

% Asignación de valor a un componente del vector

C(1)=10

C=

10 1 2 3 4 5

% Se muestran los indicados

D([1,3])

ans =

06

% Se muestra un rango

D(1:3)

ans =

036

% Operaciones entre vectores y escalares

% Sumamos cinco a cada uno de los componentes del vector

A+5

ans =

6 7 8 9 10
Computadores

% Operaciones entre vectores

a=[1,3,4] % Generamos un vector fila

b=[1;3;4] % Generamos un vector columna

a+b; % Generamos una matriz 3x3

ans =

245

467

578

% Operaciones entre vectores

% .* Multiplicación termino a termino.

% ./ División termino a termino.

% .^ Potenciación termino a termino.

f=1:3

g=4:6

f.*g

ans =

4 10 18

f./g

ans =

0.2500 0.4000 0.5000

f.^2

ans =

149
Computadores

% Definición de matrices

% Usando espacios en blanco

MATRIZ1=[1 3 5;2 4 6;7 8 9]

MATRIZ1 =

135

246

789

% Usando comas

MATRIZ2=[1,3,5;2,4,6;7,8,9]

MATRIZ2 =

135

246

789

% Matriz identidad

MI=eye(3)

MI =

100

010

001

% Matriz de ceros

M0=zeros(2)

M0 =

00

00
Computadores

% Matriz de unos

M1=ones(2)

M1 =

11

11

M23=ones (2,3)

M23 =

111

111

% Selección de elementos de una matriz

% Selección de la segunda fila de MATRIZ1

MATRIZ1(2,:)

ans =

246

% Selección de la primera columna de MATRIZ2

MATRIZ1(:,1)

ans =

diary off % Cerramos el fichero IntroMATLAB y guardamos el trabajo realizado


Computadores
Estructuras de control
% Primer bucle

for i=1:10

V(i)=i;

end

disp(V);

% Ejemplo de while

% factorial

numero = input('Introduce un número:');

factorial = numero;

while numero > 1

numero = numero-1;

factorial = factorial*numero;

end

disp(['n! = ' num2str(factorial)])

% Ejemplo de while usando break para crear un vector

numero = input('Introduce el número de elementos:');

while 1

V(numero)=numero;

if numero < 2

break

end

numero=numero-1;

end

disp(V)
Computadores
% Ejemplo de continue. Muestra los números pares de 0 al número introducido

numero = input('Introduce el número de elementos:');

for i=0:numero

if rem(i,2)~=0

continue;

end

disp(i);

end

% Generamos un vector de números pares

indice=1;

for i=1:10

if mod(i,2) == 0

VP(indice)=i;

indice=indice+1;

end

end

disp(VP);

% Uso de if, else y elseif

numero=input('Introduce un numero: ');

if numero > 0

fprintf(1,'El número %.0f es positivo\n',numero)

elseif numero < 0

fprintf(1,'El número %.0f es negativo\n',numero)

else

fprintf(1,'El número es 0\n')

end
Computadores

% uso de switch

numero=input('Introduce un número entre 1 y 10: ');

switch(numero)

case {5,6,7,8,9,10}

disp ('Has aprobado')

case {1,2,3,4}

disp ('Tienes que mejorar')

end

Operadores relacionales
Símbolo Función
== Igual a

~= Distinto a

> Mayor que

>= Mayor que o igual a

< Menor que

<= Menor que o igual a

Operadores lógicos
Símbolo Función
& AND lógico

| OR lógico

&& AND lógico (con cortocircuito)

|| OR lógico (con cortocircuito)

~ NOT lógico
Computadores
Gráficos en Matlab
% Posibilidades gráficas en dos dimensiones

help graph2d

help plot

% Visualizar la función seno

x=(0:0.01:2*pi);

y=sin(x);

plot(x,y);
Computadores

% Para mostrar varias funciones en la misma figura

z=cos(x);

hold on; % Permite visualizar más funciones en la misma figura

plot(x,z);

% Otra forma de visualizar dos funciones en la misma figura

x=(0:0.01:2*pi);

y1=sin(x);

y2=cos(x);

plot(x,y1,'r-',x,y2,'b.-');
Computadores

% Visualizar rejillas

grid on

% Eliminar marco exterior

box off

% Mostramos solo imágenes

axis off

% Personalizar las graficas

plot(x,y, 'r--',x,z,'.-g')

text(2.5,6,'y=sen(x)')

title('Representación de una función')

xlabel('Radianes')

ylabel('Amplitud')
Computadores

% Visualización de varias funciones simultaneas en la misma figura en diferentes áreas. En el

% ejemplo las áreas se organizan en dos filas y una columna. Usamos stem para visualizar la

% segunda.

subplot(2,1,1);

x =(0:0.01:2*pi);

y1 = sin(x);

plot(x,y1)

title('Seno')

subplot(2,1,2);

y2 = x/2;

stem (x,y2)

title('y=x/2')
Computadores

% El siguiente script visualiza dos funciones en diferentes figuras

x=0:0.001:2*pi;
y=sin(x);
plot (x,y,'r');
figure;
z=cos(x);
plot (x,z,'b');
Computadores

Trabajando con caracteres


% Vectores de caracteres. Secuencia de caracteres (char). Vectores de caracteres

vchar1 = 'Ejemplo de secuencia '

vchar1 =

'Ejemplo de secuencia '

vchar2 = 'de caracteres'

vchar2 =

'de caracteres'

% Mostrar el 2 carácter

vchar1(2)

ans =

'j'

% Mostrar primera palabra

vchar1(1:7)

ans =

'Ejemplo'

% Concatenar vectores de caracteres

vchar12=[vchar1,vchar2]

vchar12 =

'Ejemplo de secuencia de caracteres'

whos vchar12

Name Size Bytes Class Attributes

vchar12 1x34 68 char


Computadores

% Comparar vectores de caracteres

strcmp (vchar1,vchar2)

ans =

logical

% Arreglos de cadenas. Contenedores de fragmentos de texto (string) . Matrices de cadenas

% Primera cadena

str="Esto es una prueba"

str =

"Esto es una prueba"

% Eliminamos los espacios en blanco

erase (str," ")

ans =

"Estoesunaprueba"

% Convertimos los caracteres en mayúsculas

str=upper(str)

str =

"ESTO ES UNA PRUEBA"

% Convertimos los caracteres en minúsculas

str=lower(str)

str =

"esto es una prueba"


Computadores

% Convertimos un valor numérico en una cadena

V=3; % tensión de 3 voltios

mensaje=['La tensión es de ',num2str(V),' voltios']

mensaje =

'La tensión es de 2 voltios'

num2str(pi,4)

ans =

'3.142'

num2str(pi,5) % Observar el redondeo con respecto al valor anteriormente mostrado

ans =

'3.1416'

% Convertimos un entero en un vector de caracteres

% Si no es entero se realiza un redondeo

int2str(3)

ans =

'3'

int2str(3.5)

ans =

'4'

int2str(3.4)

ans =

'3'
Computadores
% Mostramos los caracteres hexadecimales

char([65:70])

ans =

'ABCDEF'

% Convertimos el vector en una cadena

cadenachar1=string(vchar1)

cadenachar1 =

"Ejemplo de secuencia "

% Generamos un matriz de cadenas con las diferentes palabras

% separadas por el espacio en blanco.

Matrizpalabras=split(cadenachar1)

Matrizpalabras =

4×1 string array

"Ejemplo"

"de"

"secuencia"

""

% Matriz de cadenas

MCadenas=["Lunes", "Martes","Jueves";"Computadores","Algebra","Fisica"]

MCadenas =

2×3 string array

"Lunes" "Martes" "Jueves"

"Computadores" "Algebra" "Fisica"

whos Mcadenas

Name Size Bytes Class Attributes

MCadenas 2x3 436 string


Computadores

% Comparación de cadenas

Compara="Jueves"

strcmp(Compara,MCadenas)

ans =

2×3 logical array

001

000

También podría gustarte