miércoles, 15 de mayo de 2019

ESTRUCTURAS REPETITIVAS (WHILE AND FOR)

CONTENIDO

  ESTRUCTURAS REPETITIVAS
  ESTRUCTURA REPETITIVA PARA
  EJEMPLOS


 ESTRUCTURAS REPETITIVAS
 Las estructuras repetitivas se utilizan cuando se quiere que un conjunto de instrucciones se ejecuten un cierto número finito de veces, por ejemplo, escribir algo en pantalla cierta cantidad de veces, mover un objeto de un punto a otro cierta cantidad de pasos, o hacer una operación matemática cierta cantidad de veces. Se les llama bucle o ciclo a todo proceso que se repite cierto número de veces dentro de un pseudocódigo o un programa.

ESTRUCTURAS REPETITIVAS (ER)
 Son un bloque de instrucciones o pasos que se repiten hasta que se cumpla la condición.
 Dentro de las ER tenemos las siguientes:
 Mientras(While)
 Hacer mientras (Do While)
 Para (For)

ESTRUCTURA REPETITIVA - PARA
 Esta estructura es la mas fácil y que se usa mas dentro de programación, primero inicia el contador, segundo realiza la condición y si la misma es Verdadera, repite el bloque de instrucciones, caso contrario, sale del bucle. Y como paso tercero incrementa o decrementa el contador según sea el caso.
 En una sola línea realiza todo lo indicado, al contrario de la estructura “mientras” que tiene que realizar antes el inicio del contador y dentro del bucle el incremento o decremento.


Sintaxis de la sentencia for en Matlab
 for( inicio: incremento o decremento: fin)
 ….
  ….
 end
 Donde
 Inicio: variable contador desde donde va iniciar el bucle
 Incremento o decremento: de acuerdo al criterio la variable se puede incrementar un numero entero o decimal o también decrementar.
 Fin: hasta donde debe llegar la variable contador


Ejemplos
 Realizar un DF y programa en Matlab para obtener los N primeros números enteros positivos. Use for.


Estructura SWITCH - CASE

Contenido
• Estructura Switch - case
• Definición • Sintaxis
• Ejemplo
• Ejercicio


Switch - case

• Esta estructura se usa con mucha frecuencia en programación cuando existe una serie de opciones para una variable dada y de acuerdo a su valor.






















SWITCH - Sintaxis
Switch (variable)
 Case (opción 1) - - -
Case (opción 2) - - -
 Case (opción N) - - -
 Otherwise - - -
end

Grupo de instrucciones o código, se ejecuta esta parte cuando no se escoge una opción que no esta en la variable.

Ejemplo:
Realizar un programa que permita hacer un MENU de opciones y permita escoger una opción para su correspondiente ejecución.
Las opciones tienen que ser:
 1. Sumar 2 números
2. Restar 2 números
3. Multiplicar 2 números
4. Indica si un número es par o impar
5. Salir

ESTRUCTURAS DE DECISIÓN


Realizar un programa que permita obtener el mayor de 5 números
clc;
clear all;

a=input('ingrese el primer número:');
b=input('ingrese el segundo número:');
c=input('ingrese el tercer número:');
d=input('ingrese el cuarto número:');
e=input('ingrese el quinto número:');
M=a;
if (M<b)
   M=b;
end
if(M<c)
    M=c;
end
if(M<d)
    M=d;
end
if(M<e)
disp('el mayor es:');
disp(e);
else
    disp('el mayor es:');
    disp(M);
end



UNIDAD II : PROGRAMACION E INTERFAZ GRÁFICA DE USUARIO

 PROGRAMACION E INTERFAZ GRÁFICA DE USUARIO

• La base de la programación son las funciones lógicas.
• Para poder programar se necesita de:
– Estructuras de control de decisión
– Estructuras de selección múltiple
– Estructuras de repetición
• Cuando ya se sabe programar se utiliza Interfaz Gráfica y Matlab tiene.

INTRODUCCION



GRAFICAS EN 2D Y 3D, EJEMPLOS.





clc;
clear all;

x= -2:0.1:2;
y= x.^2-3;
subplot(2,3,1);
plot(x,y,'r.');
xlabel('valores x');
ylabel('valores y');


x1=-1:10;
y1=x1;
subplot(2,3,2);
plot(x1,y1,'g*');
xlabel('valores x');
ylabel('valores y');

x2=linspace (-4,4,100);
y2= x2.^3+1;
subplot(2,3,3);
plot(x2,y2,'b-');
xlabel('valores x');
ylabel('valores y');

x3=linspace(-3,3,15);
y3=linspace(-3,13,17);
[x4,y4]=meshgrid(x3,y3);
z4=x4.^4+3*x4.^2-2*x4+6-2*y4.*x4.^2+y4.^2-2*y4;
subplot(2,3,4);
xlabel('valores x');
ylabel('valores y');
zlabel('valores de z');


[X,Y] = meshgrid(-8:.5:8);
M= sqrt(X.^2 + Y.^2) + eps;
Z = sin(M)./M;
surf(X,Y,Z);
subplot(2,3,5);
xlabel('valores x');
ylabel('valores y');

a=-2:0.1:2;
b=-3:0.1:3;
[A,B]=meshgrid(a,b);
C=A.^2-B.^2;
surf(A,B,C);
subplot(2,3,6);
xlabel('valores x');
ylabel('valores y');
zlabel('valores de z');

[xs1,ys1]=meshgrid(-8:0.1:8);
Rs1=sqrt(xs1.^2+ys1.^2)+eps;
zs1=sin(Rs1.^2)./Rs1;
subplot(2,3,6);
mesh(xs1,ys1,zs1)
xlabel('valores x');
ylabel('valores y');
zlabel('valores de z');



MATLAB 3D



clc;
clear all;
 t = 0:pi/10:2*pi;
[X,Y,Z] = cylinder(4*cos(t));
subplot(3,3,1);
mesh(X);
title('X');
subplot(3,3,2);
mesh(Y);
title('Y');
subplot(3,3,,3);
mesh(Z);
title('Z');
subplot(3,3,4);
mesh(X,Y,Z);
title('X,Y,Z');
 
[X,Y] = meshgrid(-8:.5:8); 
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
subplot(3,3,5);
mesh(X,Y,Z);
title ('sin(R)./R');

x=-2:0.1:2;
y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.^2-Y.^2;
subplot(3,3,6);
mesh(X,Y,Z);
xlabel('X');
ylabel('Y');
zlabel('Z');

theta=pi/3;
r=linspace(0,1,30);
phi=linspace(0,2*pi,30);
[r,phi]=meshgrid(r,phi);
x=r.*cos(phi)*sin(theta);
y=r.*sin(phi)*sin(theta);
z=r*cos(theta);
subplot(3,3,7);
mesh(x,y,z)
xlabel('x');
ylabel('y');
zlabel('z');
title('Superficie cónica')

[x,y] = meshgrid(-7:0.25:7);
r = sqrt(x.^2 + y.^2) + eps;
z = sin(r)./r;
subplot(3,3,8);
surf(x,y,z)
colormap hsv
colorbar
xlabel('x');
ylabel('y');
zlabel('z');
x= [-2:0.2:2] ;
y= [-2:0.2:2] ;
[X,Y]=meshgrid(x,y) ;
Z= X.*exp(-X.^2 - Y.^2);
subplot(3,3,9);
mesh(X,Y,Z), figure(gcf);
xlabel ('eje-X');
ylabel ('eje-Y');
zlabel('eje-Z');





CODIGOS IMPORTANTES DE DIFERENTES FIGURAS EN 3D

%dibujar con surf
x1=linspace(-3,3,15);
y1=linspace(-3,13,17);
[x2,y2]=meshgrid(x1,y1);
z2=x2.^4+3*x2.^2-2*x2+6-2*y2.*x2.^2+y2.^2-2*y2;
subplot(3,3,1);
surf(x2,y2,z2)

%dibujar 4 puntos en 3d
xc=[-3,-3,3,3];
yc=[-3,13,13,-3];
zc=xc.^4+3*xc.^2-2*xc+6-2*yc.*xc.^2+yc.^2-2*yc;
hold on
subplot(3,3,2);
plot3([xc;xc],[yc;yc],[zeros(1,4);zc],'g*')


%dibujar un disco
R=10;
z0=80;
r=linspace(0,R,12);
theta=linspace(0,2*pi,50);
x=cos(theta')*r;
y=5+sin(theta')*r;
hold on
z=repmat(z0,size(x));
subplot(3,3,3);
surf(x,y,z)

%dibujar un cilindro
zz=linspace(0,2*pi,26);
[xx,yy,zz1]=cylinder(1.1+sin(zz),16);
subplot(3,3,4);
surf(xx,yy,zz1);
axis off

%dibujar un disco y el cono incrustado
[xs1,ys1]=meshgrid(-8:0.5:8);
Rs1=sqrt(xs1.^2+ys1.^2)+eps; %eps es un numero bine pequeño que se inserta para evitar la formacion de un agujero en la malla
zs1=sin(Rs1)./Rs1;
subplot(3,3,5);
mesh(xs1,ys1,zs1)

%un resorte
xr1=linspace(0,10*pi,1000);
yr1=cos(xr1);
zr1=sin(xr1);
subplot(3,3,6);
plot3(xr1,yr1,zr1,'linewidth',3),grid;
xlabel('angulo'),ylabel('cos(x)'),zlabel('sen(x)');
title('Un Resorte');