Sie sind auf Seite 1von 8

Programación aplicada

1 Instrucciones básicas
El presente texto y sus guías se abocan al aprendizaje del lenguaje M, utilizado por Matlab.

1.1 Variables
1.1.1 Asignación de variables
La asignación de variables es el proceso por el cual se le asigna a una determinada variable
un valor conocido. Los valores asignados no necesariamente deben ser números,
pudiendo ser estructuras de datos como vectores o matrices e inclusive pueden ser
cadenas de texto (string).

Ejemplo:

Expresión matemática Equivalencia en .M


=2 a=2
2 b=[2;3;1]
=3
1
=3 5 1 c=[3,5,1]
2 3 d=[2,3;5,4;7,2]
=5 4
7 2
= ′ e=’Feliz’

1.1.2 Extracción de datos de variables


La extracción de datos se realiza por medio de “coordenadas” asignadas a cada elemento
del arreglo (matrices y vectores).

Ejemplo

Variable Acción a realizar Procedimiento


=2 Obtener el valor de a a
−1 Obtener el primer valor del b(1)
=
4 vector “b”
5 3 4 Obtener el primer valor de c(1,2)
=
7 2 1 la segunda columna
5 3 4 Obtener la última columna c(:,3)
=
7 2 1 de datos
5 3 4 Obtener la primera fila de c(1,:)
=
7 2 1 datos

1.1.3 Llenado con datos en variables del tipo vector o matriz


El procedimiento de esta acción es similar al de la extracción de datos como se ve en los
ejemplos a continuación.
Ejemplo:

Variable Acción a realizar Procedimiento


=5 1 2 Cambiar el valor “1” por un a(2)=5
“5”
=5 1 2 Cambiar los valores “5” y a([1,3])=10
“2” por un “10”
=5 1 2 Cambiar los valores “1” y a([2,3])=[8,9]
“2” por los valores “8” y “9”
4 −7 Cambiar el valor “0” por un b(2,2)=3
=6 0 “3”
1 6
4 −7 Asignar el valor de “4” a b(:,2)=4
=6 0 todos los elementos de la
1 6 segunda columna
4 −7 Cambiar el valor “4” y “1” b([1,3],1)=[2,3]
=6 0 por “2” y “3”
1 6

1.2 Operaciones con variables numéricas


1.2.1 Operaciones básicas
Las operaciones básicas siguen las reglas del algebra lineal, como se indica a continuación.

Variable 1 Variable 2 Acción a realizar Procedimiento


=2 =4 Suma de ambas a+b
variables
=2 =4 Multiplicación de ambas a*b
variables
=2 2 Multiplicación de los a*c
=3 términos de c por a
4
3 −3 4 2 Multiplicación de una d*c
=
2 1 3 =3 matriz por un vector
4 (operación compatible)
3 2 Multiplicación de un e.*c
=2 =3 vector por otro vector (el punto es agregado
1 4 (operación no para trabajar termino
compatible) a termino)
3 2 Suma de ambos e+c
=2 =3 vectores (operación
1 4 compatible)
3 2 División de ambos e./c
=2 =3 vectores (operación no
1 4 compatible)
2 Elevar al cuadrado el c.^2
=3 vector c (operación no
4 compatible)
La no compatibilidad de operaciones se refiere a la invalidez que tienen las operaciones
ante las reglas del algebra lineal, por tanto matlab para trabajar estas acciones debe
asumirlas valor por valor.

1.3 Estructuras básicas de programación

1.3.1 Condicionales if
Esta estructura se utiliza para discriminar datos que cumplen con cierta condición del
universo total de datos.

Ejemplo:

1) Utilización del comando if para saber si el numero introducido es mayor a 10

A=input(‘ingrese valor a comparar = ’)

if A>10
display(‘numero introducido mayor a 10’)
else
display(‘numero introducido menor o igual a 10’)
end

2) Elección de valor

A=input('Ingrese valor divisible por 2 y 5 =');

m=mod(A,2);
n=mod(A,5);

if m==0 & n==0


display('Valor divisible por 2 y 5')
else
display('Valor incorrecto')
end

1.3.2 Condicionales Switch


La estructura Switch puede ser utilizada para elegir una acción a realizar entre las distintas
programadas.

Ejemplo
1) Código que muestra el día según su identificador numérico

a=input('ingrese valor del dia = ');

switch a
case 1
display('lunes')
case 2
display('martes')
case 3
display('miercoles')
case 4
display('jueves')
case 5
display('viernes')
case 6
display('sabado')
case 7
display('domingo')
otherwise
display('dia incorrecto')
end

El código anterior asigna un valor numérico a cada dia de la semana para poder
identificarlo.
1.3.3 Ciclo For
El ciclo for, tiene por objetivo variar el valor de una variable en cada entrada al ciclo desde
un valor inicial a uno final, los valores límite deben ser previamente ingresados o
definidos.

Ejemplo:

1) Dibujo de la función seno como puntos discretos en el plano

for x=0:0.1:2*pi
y=sin(x);
plot(x,y,'o')
hold on
end

En el ejemplo anterior “x” representa la variable que cambiara su valor, esta recorrerá el
intervalo entre 0 y 2*pi, en que cada nuevo valor será 0.1 veces mayor al anterior.

2) Creación de una matriz diagonal en que sus términos varíen del 1 al 5

a=zeros(5,5);

for i=1:5
a(i,i)=i;
end

3) Sumatoria simple

= [1,2,3,4,6,7,9]

+
2

x=[1,2,4,6,7,9];
n=length(n);
s=0
for i=1:n
s=s+x(i)^2+0.5*x(i);
end
s
1.3.4 Ciclo While
El ciclo While se diferencia del for por la inclusión de un condicional en su estructura
permitiendo asi dejar que el programa determine cuando se debe detener el ciclo (a
través de un condicional definido al inicio del ciclo).

Ejemplo:

1) Equivalencia de un ciclo while con un ciclo for

For

s=0
for i=1:10
s=s+i
end

While

s=0
i=1
while i<=10
s=s+i
i=i+1
end

1.4 Representación de datos

1.4.1 Función Plot


La función plot tiene por objetivo representar gráficamente los vectores de datos, su
estructura es muy flexible por lo que permite diferentes formas de ingreso de datos para
ser representados.

Ejemplo:

1) Dibujo de un espiral

i=0:0.1:10*pi;
r=i;
x=r.*sin(i);
y=r.*cos(i);
plot(x,y)
2) Dibujo de la función coseno

x=0:0.1:2*pi;
y=sin(x);
plot(x,y)

3) Animación del espiral

i=0:0.1:20*pi;
for j=1:0.1:1000
x=i.*sin(i-j);
y=i.*cos(i-j);
plot(x,y,'k')
axis([-10,10,-10,10])
pause(0.001)
end

Para la detención del proceso se deben presionar las teclas Crtl+C al mismo tiempo.

1.4.2 Función Surf


Esta función es un mas de las librerías de representación grafica en 3D, funciona a partir
de tres variables y es posible con ella representar objetos y formas tridimensionales con
un gran abanico de opciones a modificar.

Ejemplo:

1) Dibujo de la función seno en 3D

x=0:0.1:10;%vector sobre el que se trabajara


X=meshgrid(x);%creacion de la malla a partir del vector x
Z=sin(X);%evaluacion de la funcion y asignacion a la variable de
alturas Z
surf(Z)%dibujo de la funcion en 3D

Das könnte Ihnen auch gefallen