Está en la página 1de 71

ESCUELA SUPERIOR POLITÈCNICA DEL

CHIMBORAZO
FACULTAD DE MECÀNICA
ESCUELA DE INGENIERÌA INDUSTRIAL
PROGRAMACIÓN II

Portafolio
Nombre:

Curso:
4° “P3”
Código:

Docente:
Ing. Edwin Mejìa
Fecha:
2019-02-03
Diseño de programas para la resolución de problemas de ingeniería
OBJETIVO DE LA UNIDAD:
Aprender acerca del manejo básico del software a través de la sintaxis apropiada que
permitan el desarrollo de problemas de Ingeniería.
LOGROS DE APRENDIZAJE:
Al finalizar la unidad será capaz de manejar el software para resolver problemas básicos de
ingeniería de una manera rápida y eficaz.
CONCEPTOS BÁSICOS:

 PSEUDOCÓDIGO
Etimológicamente: Pseudo deriva del griego, de “seudo”, que puede traducirse como
“falso”. Código, por su parte, emana del latín. En concreto, de “codices, codex” que se
empleaban para referirse a los documentos o libros donde los romanos tenían escritas
todas y cada una de sus leyes.
Estas definiciones nos permiten comprender qué es un pseudocódigo, una noción que se
emplea en el ámbito de la informática. Se trata de un falso lenguaje, ya que apela a las
normas de estructura de un lenguaje de programación aunque se encuentra desarrollado
para que pueda ser leído por un ser humano y no interpretado por una máquina.

 ALGORITMO
Un algoritmo se puede definir como una secuencia de instrucciones que representan un
modelo de solución para determinado tipo de problemas. O bien como un conjunto de
instrucciones que realizadas en orden conducen a obtener la solución de un problema.
Para realizar un programa es conveniente el diseño o definición previa del algoritmo. El
diseño de algoritmos requiere creatividad y conocimientos profundos de la técnica de
programación. Luis Joyanes, programador experto y autor de muchos libros acerca de
lógica y programación nos dice “en la ciencia de la computación y en la programación,
los algoritmos son más importantes que los lenguajes de programación o las
computadoras. Un lenguaje de programación es sólo un medio para expresar un algoritmo
y una computadora es sólo un procesador para ejecutarlo”.
Los algoritmos son independientes de los lenguajes de programación. En cada problema
el algoritmo puede escribirse y luego ejecutarse en un lenguaje diferente de
programación. El algoritmo es la infraestructura de cualquier solución, escrita luego en
cualquier lenguaje de programación.

Características de los algoritmos


- Preciso. Definirse de manera rigurosa, sin dar lugar a ambigüedades.
- Definido. Si se sigue un algoritmo dos veces, se obtendrá el mismo resultado.
- Finito. Debe terminar en algún momento.
- Puede tener cero o más elementos de entrada.
- Debe producir un resultado. Los datos de salida serán los resultados de efectuar las
instrucciones

 DIAGRAMA DE FLUJO
Representación gráfica de un algoritmo.
Ejercicio

Desarrolle un algoritmo que permita leer dos valores distintos, determinar cuál de los dos valores es
el mayor y escribirlo.

Pseudocódigo Diagrama de Flujo

1. Inicio

2. Inicializar variables: A = 0, B = 0 Inicio

3. Solicitar la introducción de
“Introduzca
dos valores distintos
dos valores
distintos”
4. Leer los dos valores

5. Asignarlos a las variables A y B

6. Si A = B Entonces vuelve a 3 A, B
porque los valores deben
ser distintos Si
A=B
7. Si A>B Entonces
No
Escribir A, “Es el mayor”
No Si
8. De lo contrario: Escribir B, A>B
“Es el mayor”

9. Fin_Si B “Es el mayor” A “Es el mayor”

10. Fin

Fin
 PROGRAMA
Un programa es un conjunto de instrucciones escritas en algún lenguaje de programación. El programa debe
ser compilado o interpretado para poder ser ejecutado y así cumplir su objetivo.

Ejemplo:

Realice un programa que permita ingresar en un vector los n primeros múltiplos de 5.

N=input('Ingrese un número')
cont=input('Ingrese un número')
cont=1
while(cont<=N);
A(cont)=cont*5;
cont=cont+1;
end
disp(A)

 LENGUAJE DE PROGRAMACIÓN

- Es aquel que se utiliza para redactar programas de computación.


- Un lenguaje de programación es aquel elemento dentro de la informática que nos permite crear programas
mediante un conjunto de instrucciones, operadores y reglas de sintaxis; que pone a disposición del
programador para que este pueda comunicarse con los dispositivos hardware y software existentes.

 PROGRAMACIÓN
Programación es la acción de solucionar un problema, y/o satisfacer una necesidad de carácter informático,
dicha solución es generar un programa o software utilizando un determinado lenguaje de programación.

ARREGLOS

Los arreglos son una colección de datos finita, homogénea y ordenada de elementos
 Finita: porque todo arreglo tiene un límite máximo de elementos que lo forman.
 Homogénea: los elementos de un arreglo son del mismo tipo.
 Ordenada: lleva una secuencia ordenada de los elementos, de forma ascendente o descendente.

Los arreglos (arrays) son una estructura de datos que permite el almacenamiento estático(tamaño definido) de una
serie de elementos del mismo tipo (caracter, númerico, Booleano) ordenados en fila.

Su representación matemática es la de un vector de 1 dimensión, por lo que podemos llegar a representar una matriz
con arrays multidimensionales.

Cada array posee un índice (empieza en 0) que indica la posición en la que está almacenado un elemento en el arreglo,
esto se debe a que el array está segmentado.

Existen distintos tipos de arreglos dependiendo del tipo de dato que contengan.

Ejemplo:
 Arreglo numérico

 Arreglo de caracteres

FUNCIONES INTERNAS
MANIPULACION DE MATRICES
FUNCIONES INTERNAS: La mayoría de problemas de ingeniería requieren de cálculos avanzados para poder ser
resueltos, es por eso que MATLAB nos ofrece una extensa librería de funciones matemáticas de trigonometría,
logaritmos, análisis estadísticos entre otros.
La gran ventaja en MATLAB es que dichas funciones pueden realizar los cálculos tanto en escalares como en
matrices.
En este tema vamos a aprender sobre las funciones internas de MATLAB, tales como funciones matemáticas,
redondeos, trigonometría, análisis de datos estadísticos.
Toda función de MATLAB esta constituida de 3 partes, que son:

 Los argumentos de salida,

 El nombre de la función y

 Los argumentos de entrada.

A modo de ejemplo, veamos la función de raiz cuadrada (sqrt) donde tiene un argumento
de salida (b) y un argumento de entrada (a)
b=sqrt(a)
donde (a) puede ser un numero escalar o también puede ser una matriz o vector.
Sin embargo las functions de MATLAB también pueden poseer más de un argumento de entrada y salida, veamos a
modo de ejemplo la función (rem) que entrega el residuo de dos números y tiene dos argumentos de entrada. Y
también la función (size) que calcula el tamaño de un vector o matriz y el cual tiene dos argumentos de salida.

C=rem(a,b) %tiene dos argumentos de entrada

[x,y]=size(d)%tiene dos argumentos de salida

ARREGLOS
Los arreglos son una colección de datos finita, homogénea y ordenada de elementos

 Finita: Es porque todo arreglo tiene un límite máximo de elementos que lo forman.

 Homogénea: Los elementos de un arreglo son del mismo tipo.

 Ordenada: Lleva una secuencia ordenada de los elementos, de forma ascendente o descendente.

MARICES EN MATLAB

MATLAB, de las palabras: "MATrix LABoratory" o en español “Laboratorio de Matrices”. Este programa fue
inicialmente escrito con el objetivo de proveer a los científicos e ingenieros acceso interactivo a las librerías de cálculo
numérico LINPACK y EISPACK. Estas librerías, que fueron cuidadosamente probadas, son paquetes de programación
de alta calidad para resolver ecuaciones lineales y problemas de valores. MATLAB esta basado en el uso de técnicas
basadas en álgebra de matrices para resolver problemas, sin tener que escribir los programas en un lenguaje tradicional
como C++ o Fortran..

Hoy en día, MATLAB es un paquete comercial, el cual opera como medio ambiente de programación interactivo con
salida gráfica. El MATLAB es un lenguaje excepcional porque los datos son tomados como arreglos. De aquí, que
para algunas áreas de la ingeniería MATLAB esta desplazando al Fortran y al C++ como lenguajes de programación,
debido a su interface interactiva, a su reutilizable formulación de algoritmos, con un medio ambiente amigable y por
su velocidad de cómputo. MATLAB está disponible para muchos sistemas de cómputo incluyendo a las plataformas
MACS, PCs y UNIXis.

 CREAR UNA MATRIZ USANDO UNA FUNCION


MATRIZ TRASPUESTA

MATRIZ IDENTIDAD
En álgebra lineal, la matriz identidad es una matriz que cumple la propiedad de ser el elemento neutro del producto
de matrices. Esto quiere decir que el producto de cualquier matriz por la matriz identidad (donde dicho producto

esté definido) no tiene ningún efecto. La columna i-ésima de una matriz identidad es el vector unitario de
una base vectorialinmersa en un espacio Euclídeo de dimensión n. Toda matriz representa una aplicación
lineal entre dos espacios vectoriales de dimensión finita.

OPERACIONES CON MATRICES DE ELEMENTO POR ELEMENTO


CONCANETACION DE MATRICES

La concatenación es el proceso que consiste en unir arreglos para crear otros más grandes. De hecho, el primer
arreglo de este capítulo resultó de la concatenación de sus elementos individuales. El operador de concatenación es
el par de corchetes: [].
La concatenación de arreglos uno junto a otro mediante el uso de comas se conoce como concatenación horizontal.
Cada arreglo debe tener la misma cantidad de filas. De forma similar, cuando los arreglos tienen la misma cantidad
de columnas, es posible concatenarlos verticalmente mediante el uso de punto y coma.

CALCULO DE LA MATRIZ INVERSA


EJEMPLO
PROPIEDADES DE LA MATRIZ INVERSA

CORRECION DE LA PRUEBA PARCIAL 1


Respuestas de la Corrección Prueba #1 y #2
1.- Como se obtiene la ayuda de un comando en Matlab
help y el nombre del comando
2. Que significa Matlab
Matrix Laboratory
3. Que hace >>clear B
Borra los datos de la variable B en el workspace
4. Que hace >>clear all
Borras todos los datos de las variables que se encuentran en el workspace
5. Quiero acceder al elemento 3 del vector A, como es el comando en Matlab
a=[5 9 6 4];
l=a(3);
disp(l)
6. Quiero acceder al elemento 5 del vector B, como es el comando en Matlab
b=[3 4 5 6 2];
z=B(5);
disp(z)
7. Quiero acceder al elemento (1,4) de la matriz B, como es el comando en Matlab
A=[1 5 9 3;4 5 8 9 ];
d=c(1,4);
disp(d)
8. Quiero acceder al elemento (4,1) de la matriz A, como es el comando en Matlab
B=[1 2; 3 4;4 5; 6 7]
g=B(4,1)
disp(g)
9. Que hacen los siguientes comandos
Abs()=Valor absoluto
Cos()=coseno de un valor dado en radianes
Sin()=seno de un valor dado en radianes
Inv()=inversa de una matriz
A’=transpuesta de una matriz
10. Que hacen los siguientes comandos
Abs()= valor absoluto de un valor
Cosd()= coseno de un valor dado en grados
Send()=seno de un valor en grados
Inv()=Inversa de una matriz
A*inv(A)= matriz identidad
11. Que hace las siguientes instrucciones
for i=1:3
disp('i+2')
end
Visualiza
i+2;
i+2;
i+2;
12.-Que hace las siguientes instrucciones
for i=1:4
disp('i+1')
end
Visualiza
i+1;
i+1;
i+1;
13. Cuál es la respuesta a:
T=[0 0.1 0.2 0.3 ....10]

14.-Cuál es la respuesta a:
F=[10 9.9 9.8 9.7 ....0]
15 y 16 Cuál es la diferencia entre fprintf y sprintf?
A1=5;
fprintf('el valor de A1 es igual a %d',A1);
sprintf('el valor de A1 es igual a %d',A1);
disp(A1)
17 y 18.- Realice el análisis, algoritmo, diagrama de flujo y código en Matlab para obtener
la ecuación x^2-2*x+1=0, y decir cuál es el mayor
a=input('Ingrese el valor de x^2: ');
b=input('Ingrese el valor de x: ');
c=input('Ingrese el valor independiente: ');
z=sqrt(b^2-4*a*c);
x1=(-b+z)/2*a;
x2=(-b-z)/2*a;
if x1>x2
disp('La primera raíz es la mayor')
disp(x1)
else
disp('La segunda raíz es la mayor')
disp(x2)
end
19 y 20.- Realice un programa en Matlab que permita intercambiar los valores de un vector,posiciones pares
a posiciones impares
n=input('Ingrese el valor de n: ');
%Ingresos de los elementos del vector
for 1=1:n
c(i)=input('Ingrese los elementos del vector: ');
end
Intercambio de los valores de for por:
for i=1:n
p=mod(i,2)
if p==1
aux=c(i)
c(i)=c(i+1);
c(i+1)=aux;
end
end
disp(c)

21.-Realice un programa en Matlab que permita ordenar los valores de dos vectores, el primer vector de
manera ascendente y el segundo de manera descendente.
x=input('Ingrese la dimensión del vector: ');
for i=1:x
m(i)=input('Ingrese los valores del primer vector:');
n(i)=input('Ingrese los valores del segundo vector:');
end
a=sort(m)
B=sort(n,'descend')
22. Realice un programa en Matlab que permita ordenar los valores de dos vectores, el primer vector de
manera descendente y el segundo de manera ascendente.
x=input('Ingrese la dimensión del vector: ');
for i=1:x
m(i)=input('Ingrese los valores del primer vector:');
n(i)=input('Ingrese los valores del segundo vector:');
end
A=sort(m,'descend')
b=sort(n)
Graficas
Objetivo:
• Aprender acerca del manejo básico del software a través de la sintaxis apropiada que permitan el desarrollo de
problemas de Ingeniería.
• Aprender como es el uso de Graficcas en Matlab
1) GENERAR UN GRAFICA MEIDANTE MATLAB
CODIGO.
X=-5:0.1:5;
Y=3*x.^3+2*x-17
plot(x,y)

GRAFICA.

2) Generar una gráfica en Matlab


Código
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)

Gráfica
3) GENERAR UNA GRAFICA MEDIANTE MATLAB.
CODIGO.
x = 0:pi/100:2*pi;
y = sin(x);
y2 = sin(x-.25);
y3 = sin(x-.5);
plot(x,y,x,y2,x,y3)

GRAFICA.
4) Generar una gráfica en Matlab
Código
x=[ 2 4 6 8 10];
y=[1 3 5 7 9]
plot(x,y)

Gráfica

5) GENERAR UNA GRAFICA MEDIANTE MATLAB .


CODIGO
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)

GRAFICA
6) Generar una gráfica en Matlab
Código
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = cos(x);
plot(x,y1)
hold on;
plot(x,y2, ’r’)
hold off;

Gráfica

7) GENERAR UNA GRAFICA MEDIANTE MATLAB.


CODIGO.
X=linspace(-5,5,300);
y=sin(x)-cos(x).^2;
plot(x,y)

GRAFICA.

%graficos utilizando otro tipo de funciones y sus propiedades


%figura 1
x=0:10;
plot(x,x)
%figura 2
x=0:10;
plot(x)

%figura 3
x=0:10;
y=x
plot(x,y)

set(gcf,'NumberTitle','off')%elimina el titulo del archivo de la

grafica
set(gcf,'Color','r') %Fondo de la gráfica de color rojo
%para obtener un color que se desea var=[r g b]
r1=[1 0.5 0.25]
set(gcf,'Color',r1)

%para crear un vecto tenemos (:) dos puntos , linspace y logspace en el eje
%x
w=logspace(-2,4)
%para crear un vestor en el eje de las ordenadas o y
y1=besseli(1,x)
y2=besseli(2,x)
y3=besseli(3,x)

%para insertar una regilla en el grafico


t=linspace(0,2*pi,101);
x1=sin(t);
y=sin(2*t+pi/4);
plot(x1,y,'-k')

grid on
%para quitar la linea de arriba y de la derecha del ciadro del grafico
box off

%para quitar los ejer


axis off

%se desea obtener 4 graficas


x2=linspace(0,12);
y1=besseli(1,x2);
y2=besseli(2,x2);
y3=besseli(3,x2);

subplot(221),plot(x2,y1)
subplot(222),plot(x2,y2)
subplot(223),plot(x2,y3)
subplot(224),plot(x2,x2)
%se desea obtener 6 graficas
x2=linspace(0,12);
y1=besseli(1,x2);
y2=besseli(2,x2);
y3=besseli(3,x2);
y4=besseli(4,x2);
y5=besseli(5,x2);

subplot(231),plot(x2,y1)
subplot(232),plot(x2,y2)
subplot(236),plot(x2,y3)
subplot(234),plot(x2,y4)
subplot(235),plot(x2,y5)
subplot(233),plot(x2,x2)

%se desea obtener 6 graficas

x2=linspace(0,12);
y1=besseli(1,x2);
y2=besseli(2,x2);
y3=besseli(3,x2);
y4=besseli(4,x2);
y5=besseli(5,x2);

subplot(231),plot(x2,y1),title('Grafica Curva 1')


subplot(232),plot(x2,y2),title('Grafica Curva 2')
subplot(236),plot(x2,y3),title('Grafica Curva 6')
subplot(234),plot(x2,y4),title('Grafica Curva 4')
subplot(235),plot(x2,y5),title('Grafica Curva 5')
subplot(233),plot(x2,x2),title('Grafica Recta 1')
x3=linspace(0,6,100);
plot(x3,cos(x3),'b-',x3,1./cosh(x3),'b--',[4.73 4.73],[-1 1],'b.')
hold on
xn=linspace(0,4.73,50);
fill([xn,fliplr(xn)],[1./cosh(xn),fliplr(cos(xn))],'c')
Tarea
%Grafica N°1
x=1:0.5:10;
y=x+2;
subplot(231), plot(x,y,'b-'),title('Gráfica Recta 1')
subplot(232), plot(x,x,'b-'),title('Gráfica Recta 2')
subplot(233), plot(x,y+4,'b-'),title('Gráfica Recta 3')
subplot(234), plot(x,y+6,'b-'),title('Gráfica Recta 4')
subplot(235), plot(x,y+9,'b-'),title('Gráfica Recta 5')
subplot(236), plot(x,y+100,'b-'),title('Gráfica Recta 6')

%Grafica N°2
x=linspace(3,15,50);
y=x;
subplot(231), plot(x,y.^12,'b-'),title('Gráfica Curva 1')
subplot(232), plot(x,y.^3,'g-'),title('Gráfica Curva 2')
subplot(233), plot(x,y.*y,'y-'),title('Gráfica Curva 3')
subplot(234), plot(x,log(y),'k-'),title('Gráfica Curva 4')
subplot(235), plot(x,y.^2,'c-'),title('Gráfica Curva 5')
subplot(236), plot(x,y.^y,'r-'),title('Gráfica Curva 6')

%Grafica N°3
x=linspace(1,5,100);
y=x;
subplot(231), plot(x,sin(y),'b-'),title('Gráfica trigonométrica 1')
subplot(232), plot(x,cos(y),'g-'),title('Gráfica trigonométrica 2')
subplot(233), plot(x,tan(y),'y-'),title('Gráfica trigonométrica 3')
subplot(234), plot(x,sin(y)+cos(y),'k-'),title('Gráfica trigonométrica 4')
subplot(235), plot(x,sin(y).^2,'c-'),title('Gráfica trigonométrica 5')
subplot(236), plot(x,sin(y).*cos(y),'r-'),title('Gráfica trigonométrica 6')

%Gráfica 4
x3=linspace(0,6,100);%crea un vector de forma automatica desde 0 a 6 de 100 elementos
plot(x3,cos(x3),'k-',x3,1./cosh(x3),'k--',[4.73 4.73],[-1,1],'k')%grafíca 3 curvas
dentro de la misma gráfica la primera en
%x=x3 y en Y=cos(x3) en color negro en linea continua, la otra en X=x3 y en
%Y=1./cosh(x3) en color negro en linea continua, y la ultima X=[4.73 4.73]
%en ese intervalo de 4.73 a 4.73 y en Y=[-1,1] en ese intervalo de -1 a 1
%en color negro y linea continua
hold on % permite agregar diagramas a una gráfica existente
xn=linspace(0,4.73,50);% crea un vector de forma automatica desde 0 a 4.73 con 50
elementos
fill([xn,fliplr(xn)],[1./cosh(xn),fliplr(cos(xn))],'c')%va a crear un poligono
%y va estar delimitado en x y en y dentro de la misma grafica anterior
%obteniendo el area de la curva x=[xn,fliplr(xn]),el comando fliplr va a
%cambiar de izquierda a derecha el vector xn, y en
%Y=[1./cosh(xn),fliplr(cos(xn))], y este poligono va a estar pintado de
%color cyan
Taller
REPRESENTACIÓN GRÁFICA DE FUNCIONES DEFINIDAS POR UNA FÓRMULA
Los comandos que se presentan en este apartado son funciones MATLAB “fáciles de usar” (easy-to-use) para
representar gráficamente, de forma rápida, funciones definidas por una expresión matemática. Tienen sólo un
pequeño número de parámetros que se pueden especificar. Todas ellas hacen uso de otras funciones MATLAB que
disponen de un número superior de opciones y parámetros que podemos modificar. Cuando se necesite hacer gráficas
de funciones que no vienen definidas por una fórmula (definidas a trozos, definidas a través de programas o por sus
valores en un número finito de puntos,) habrá que recurrir a dichas funciones más generales.
Curvas planas
El comando más fácil de usar de que dispone MATLAB para dibujar curvas planas definidas por una fórmula
matemática (no por un conjunto de valores) es el comando ezplot, que puede ser
usado de varias formas.
Superficies

Tarea
Visualizar las 6 graficas realizadas en clases en una sola figura
CODIGO DE MATLAB
x=[1,5]
y=[1,7]
x1=[2 6 6 2]
y1=[2 2 6 6]
x3=[0:2*pi/20:2*pi];
y3=[0:2*pi/40:2*pi];
[x,y]=meshgrid(x3,y3);
z3=cos(x).*cos(2*y);
subplot(2,3,1),line(x,y,'color','r');
subplot(2,3,2),patch(x1,y1,'b'),axis([0,8,0,8]);
subplot(2,3,3),mesh(x3,y3,z3);
subplot(2,3,4),surf(x3,y3,z3);
subplot(2,3,5),contour(x3,y3,z3);
subplot(2,3,6),surfc(x3,y3,z3);

ESTRUCTURAS REPETITIVAS O CICLICAS


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 y las estructuras repetitivas nos permiten hacerlo de forma sencilla.
Estructura repetitiva while.

Una estructura repetitiva permite ejecutar una instrucción o un conjunto de instrucciones varias veces. Una
ejecución repetitiva de sentencias se caracteriza por: - La o las sentencias que se repiten.
EJERCICIO
ESTRUCTURA WHILE
%REALIZAR UN PROGRAMA QUE PERMITA INGRESAR DE FORMA AUTOMATICA LOS N PRIMEROS
NUMEROS
%PARES EN UN VECTOR Y SUMAR LOS DE LAS POSICIONES IMPARES Y LOS DE LAS
%POSICIONES PARES.INDICAR CUAL DE LAS DOS SUMAS ES LA MAYOR.
n=input('ingrese un numero');
cont=1;
while(cont<=n)
A(cont)=cont*2;
cont=cont+1;
end
A
%sumar posiciones pares e impares del vector
acump=0;
acumimp=0;
i=1;
while(i<=n)
p=rem(i,2);
if(p==0)
acump=acump+A(i);
else
acumimp=acumimp+A(i);
end
i=i+1;
end
acump
acumimp
%verificar cual de las dos sumas es la mayor
if(acump>acumimp)
disp('el mayor es de las pos pares');
disp(acump);
else
disp('el mayor de las pos impares');
disp(acumimp);
end
Estructura repetitiva for.

Es la estructura algorítmica adecuada para utilizar en un ciclo que se ejecutara un numero definido de veces. Este
tipo de estructura esta presente en todos los lenguajes de programación, ya sean estructurados u orientados a
objetos.
EJERCICIO
%REALIZAR UN PROGRAMA QUE PERMITA INGRESAR DE FORMA AUTOMATICA LOS N PRIMEROS
NUMEROS
%PARES EN UN VECTOR Y SUMAR LOS DE LAS POSICIONES IMPARES Y LOS DE LAS
%POSICIONES PARES.INDICAR CUAL DE LAS DOS SUMAS ES LA MAYOR.
n=input('ingrese un numero');
for i=1:n
A(i)=i*2;
end
A
%sumar posiciones pares e impares del vector
par=0;
impar=0;
i=1;
for i=1:n
p=rem(i,2);
if (p==0)
par=par+A(i);
else
impar=impar+A(i);
end
i=i+1;
end
par
impar
%verificar cual de las dos sumas es la mayor
if(par>impar)
disp('el mayor es de las pos pares');
disp(par);
else
disp('el mayor de las pos impares');
disp(impar);
end
Estructura de control de decisión o condicional
Switch-case
Esta estructura se utiliza con mucha frecuencia en programación cuando existe una serie de opciones para una variable
dada y de acuerdo a su valor.
Sintaxis
Switch (variable)
Case (opción 1)
--
--
Case (opción 2)
--
--
Case (opción n)
--
--
Otherwise
--
--
End

Ejemplo
Realizar un programa que permita hacer un menú de opciones y que escoja una opción para su correspondiente
ejecución.
1. Suma de dos números
2. Resta de dos números
3. Multiplicación de dos números
4. División de dos números
5. Salir

clear all,clc
disp('menu')
disp('1. suma')
disp('2. resta')
disp('3. multiplicación')
disp('4. par o multiplo de 3')
disp('5. salir')
op=input('ingrese valor: ');
switch(op)
case 1
disp ('la suma de 2 números');
a=input('ingrese un numero: ');
b=input('ingrese el otro numero: ');
c= a+b ;
disp ('la suma es: ');
disp(c);
case 2
disp ('la resta de 2 números');
a=input('ingrese un numero: ');
b=input('ingrese el otro numero: ');
c= a-b ;
disp ('la resta es: ');
disp(c);
case 3
disp ('la multiplicacion de 2 números');
a=input('ingrese un numero: ');
b=input('ingrese el otro numero: ');
c= a*b ;
disp ('la multiplicacion es: ');
disp(c);
case 4
disp('indica si es un número par o impar');
n=input('ingrese un numero:');
p=rem(n,2);
if (p==0)
disp('el número ingresado es par')
else
disp('el número ingresado es impar')
end
case 5
disp('esta saliendo del sistema')

otherwise
disp('error-escoja bien la opcion');
end

Taller en clases
Realizar un programa que permita visualizar un menú de opciones (5) utilizando la estructura stiwch y cualquier
estructura repetitiva. solamente saldrá del programa si pulsa el número 5
clear all,clc
ban= 1;
while (ban==1)
disp('menu')
disp('1. suma')
disp('2. resta')
disp('3. multiplicación')
disp('4. par o multiplo de 3')
disp('5. salir')
op=input('ingrese valor: ');
switch(op)
case 1
disp ('la suma de 2 números');
a=input('ingrese un numero: ');
b=input('ingrese el otro numero: ');
c= a+b ;
disp ('la suma es: ');
disp(c);
case 2
disp ('la resta de 2 números');
a=input('ingrese un numero: ');
b=input('ingrese el otro numero: ');
c= a-b ;
disp ('la resta es: ');
disp(c);
case 3
disp ('la multiplicacion de 2 números');
a=input('ingrese un numero: ');
b=input('ingrese el otro numero: ');
c= a*b ;
disp ('la multiplicacion es: ');
disp(c);
case 4
disp('indica si es un número par o impar');
n=input('ingrese un numero:');
p=rem(n,2);
if (p==0)
disp('el número ingresado es par')
else
disp('el número ingresado es impar')
end
case 5
disp('esta saliendo del sistema')
ban=0;
otherwise
disp('error-escoja bien la opcion');
end
end
Guide
INTERFAZ GRÁFICA DE USUARIO EN MATLAB
GUIDE es un entorno de programación visual disponible en MATLAB para realizar y ejecutar programas
que necesiten ingreso continuo de datos. Tiene las características básicas de todos los programas visuales
como Visual Basic o Visual C++.
INICIO
Para iniciar nuestro proyecto, lo podemos hacer de dos maneras:
 Ejecutando la siguiente instrucción en la ventana de comandos:
>> guide

 Haciendo un click en el ícono que muestra la figura:

Ícono GUIDE.
Se presenta el siguiente cuadro de diálogo:

Ventana de inicio de GUI.


Se presentan las siguientes opciones:

a) Blank GUI (Default)


La opción de interfaz gráfica de usuario en blanco (viene predeterminada), nos presenta
un formulario nuevo, en el cual podemos diseñar nuestro programa.
b) GUI with Uicontrols
Esta opción presenta un ejemplo en el cual se calcula la masa, dada la densidad y el
volumen, en alguno de los dos sistemas de unidades. Podemos ejecutar este ejemplo y
obtener resultados.
c) GUI with Axes and Menu
Esta opción es otro ejemplo el cual contiene el menú File con las opciones Open, Print y
Close. En el formulario tiene un Popup menu, un push button y un objeto Axes, podemos
ejecutar el programa eligiendo alguna de las seis opciones que se encuentran en el menú
despegable y haciendo click en el botón de comando.
d) Modal Question Dialog
Con esta opción se muestra en la pantalla un cuadro de diálogo común, el cual consta de
una pequeña imagen, una etiqueta y dos botones Yes y No, dependiendo del botón que se
presione, el GUI retorna el texto seleccionado (la cadena de caracteres ‘Yes’ o ‘No’).
Elegimos la primera opción, Blank GUI, y tenemos:

Entorno de diseño de GUI


La interfaz gráfica cuenta con las siguientes herramientas:

Alinear objetos.
Editor de menú.
Editor de orden de etiqueta.
Editor del M-file.
Propiedades de objetos.
Navegador de objetos.
Grabar y ejecutar (ctrl. + T).
Para obtener la etiqueta de cada elemento de la paleta de componentes ejecutamos:
File>>Preferentes y seleccionamos Show names in component palette. Tenemos la siguiente
presentación:

Entorno de diseño: componentes etiquetados.

La siguiente tabla muestra una descripción de los componentes:

Control Valor de estilo Descripción


Check box ‘checkbox’ Indica el estado de una opción o atributo
Editable Text ‘edit’ Caja para editar texto
Pop-up menu ‘popupmenu’ Provee una lista de opciones
List Box ‘listbox’ Muestra una lista deslizable
Push Button ‘pushbutton’ Invoca un evento inmediatamente
Radio Button ‘radio’ Indica una opción que puede ser seleccionada
Toggle Button ‘togglebutton’ Solo dos estados, “on” o “off”
Slider ‘slider’ Usado para representar un rango de valores
Static Text ‘text’ Muestra un string de texto en una caja
Panel button Agrupa botones como un grupo
Button Group Permite exclusividad de selección con los radio button

PROPIEDADES DE LOS COMPONENTES

Cada uno de los elementos de GUI, tiene un conjunto de opciones que podemos acceder con click
derecho.
La opción Property Inspector nos permite personalizar cada elemento.

Entorno Property Inspector.


Permite ver y editar las propiedades de un objeto.
Al hacer click derecho en el elemento ubicado en el área de diseño, una de las opciones
más importantes es View Callbacks, la cual, al ejecutarla, abre el archivo .m asociado a nuestro
diseño y nos posiciona en la parte del programa que corresponde a la subrutina que se ejecutará
cuando se realice una determinada acción sobre el elemento que estamos editando.
Por ejemplo, al ejecutar View Callbacks>>Callbacks en el Push Button, nos ubicaremos
en la parte del programa:
function pushbutton1_Callback(hObject, eventdata, handles)
%hObject handle to pushbutton1 (see GCBO)
%eventdata reserved-to be defined in a future version of MATLAB
%handles structure with handles and user data (see GUIDATA)

FUNCIONAMIENTO DE UNA APLICACIÓN GUI


Una aplicación GUIDE consta de dos archivos: .m y .fig. El archivo .m es el que contiene el código con
las correspondencias de los botones de control de la interfaz y el archivo .fig contiene los elementos
gráficos.Cada vez que se adicione un nuevo elemento en la interfaz gráfica, se genera automáticamente
código en el archivo .m.Para ejecutar una Interfaz Gráfica, si la hemos etiquetado con el nombre curso.fig,
simplemente ejecutamos en la ventana de comandos >> curso. O haciendo click derecho en el m-file y
seleccionando la opción RUN.
MANEJO DE DATOS ENTRE LOS ELEMENTOS DE LA APLICACIÓN Y EL ARCHIVO
.M
Todos los valores de las propiedades de los elementos (color, valor, posición, string…)
y los valores de las variables transitorias del programa se almacenan en una estructura,
los cuales son accedidos mediante un único y mismo identificador para todos éstos.
Tomando el programa listado anteriormente, el identificador se asigna en:
handles.output = hObject;

handles, es nuestro identificador a los datos de la aplicación. Esta definición de


identificador es salvada con la siguiente instrucción:
guidata(hObject, handles);

guidata, es la sentencia para salvar los datos de la aplicación.


Aviso: guidata es la función que guarda las variables y propiedades de los
elementos en la estructura de datos de la aplicación, por lo tanto, como regla
general, en cada subrutina se debe escribir en la última línea lo siguiente:

guidata(hObject,handles);

Esta sentencia nos garantiza que cualquier cambio o asignación de propiedades o


variables quede almacenado.
Por ejemplo, si dentro de una subrutina una operación dio como
resultado una variable diego para poder utilizarla desde el programa u otra
subrutina debemos salvarla de la siguiente manera:
handles.diego
=diego;
guidata(hObje
ct,handles);

La primera línea crea la variable diego a la estructura de datos de la aplicación apuntada


por handles y la segunda graba el valor.

SENTENCIAS GET Y SET

La asignación u obtención de valores de los componentes se realiza mediante las


sentencias get y set. Por ejemplo si queremos que la variable utpl tenga el valor del
Slider escribimos:
utpl= get(handles.slider1,'Value');

Notar que siempre se obtienen los datos a través de los identificadores handles.
Para asignar el valor a la variable utpl al statictext etiquetada como text1
escribimos:
set(handles.text1,'String',utpl);%Escribe el valor del Slider...
%en static-text
Taller
Subir el codigo y la interfaz capturada realizada en clase de la suma de 2 numeros con la
interfaz grafica de Matlab GUIDE
% --- Executes on button press in BTNlimpiar.
function BTNlimpiar_Callback(hObject, eventdata, handles)
% hObject handle to BTNlimpiar (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.edit1,'string','')
set(handles.edit2,'string','')
set(handles.edit3,'string','')

% --- Executes on button press in BTNsumar.


function BTNsumar_Callback(hObject, eventdata, handles)
% hObject handle to BTNsumar (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
sum1=str2double(get(handles.edit1,'String'));
sum2=str2double(get(handles.edit2,'String'));
sumt=sum1+sum2
set(handles.edit3,'String',sumt);

% --- Executes on button press in BTNrestar.


function BTNrestar_Callback(hObject, eventdata, handles)
% hObject handle to BTNrestar (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
rest1=str2double(get(handles.edit1,'String'));
rest2=str2double(get(handles.edit2,'String'));
restt=rest1-rest2
set(handles.edit3,'String',restt);

% --- Executes on button press in BTNmultiplicar.


function BTNmultiplicar_Callback(hObject, eventdata, handles)
% hObject handle to BTNmultiplicar (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
mult1=str2double(get(handles.edit1,'String'));
mult2=str2double(get(handles.edit2,'String'));
multt=mult1*mult2
set(handles.edit3,'String',multt);

% --- Executes on button press in BTNdividir.


function BTNdividir_Callback(hObject, eventdata, handles)
% hObject handle to BTNdividir (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
div1=str2double(get(handles.edit1,'String'));
div2=str2double(get(handles.edit2,'String'));
divt=div1/div2
set(handles.edit3,'String',divt);
Tarea
Subir el codigo y la interfaz capturada realizada en clase de la suma de 2 numeros con la
interfaz grafica de Matlab GUIDE

function varargout = untitled(varargin)


% UNTITLED MATLAB code for untitled.fig
% UNTITLED, by itself, creates a new UNTITLED or raises the
existing
% singleton*.
%
% H = UNTITLED returns the handle to a new UNTITLED or the handle
to
% the existing singleton*.
%
% UNTITLED('CALLBACK',hObject,eventData,handles,...) calls the
local
% function named CALLBACK in UNTITLED.M with the given input
arguments.
%
% UNTITLED('Property','Value',...) creates a new UNTITLED or
raises the
% existing singleton*. Starting from the left, property value
pairs are
% applied to the GUI before untitled_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to untitled_OpeningFcn via
varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows
only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help untitled

% Last Modified by GUIDE v2.5 06-Jan-2019 17:04:06

% Begin initialization code - DO NOT EDIT


gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @untitled_OpeningFcn, ...
'gui_OutputFcn', @untitled_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

% --- Executes just before untitled is made visible.


function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to untitled (see VARARGIN)

% Choose default command line output for untitled


handles.output = hObject;

% Update handles structure


guidata(hObject, handles);

% UIWAIT makes untitled wait for user response (see UIRESUME)


% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.
function varargout = untitled_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure


varargout{1} = handles.output;

% --- Executes on button press in BTNsumar.


function BTNsumar_Callback(hObject, eventdata, handles)
% hObject handle to BTNsumar (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of BTNsumar


sum1=str2double(get(handles.edit1,'String'));
sum2=str2double(get(handles.edit2,'String'));
sumt=sum1+sum2
set(handles.edit3,'String',sumt);

% --- Executes on button press in BTNrestar.


function BTNrestar_Callback(hObject, eventdata, handles)
% hObject handle to BTNrestar (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of BTNrestar


rest1=str2double(get(handles.edit1,'String'));
rest2=str2double(get(handles.edit2,'String'));
restt=rest1-rest2
set(handles.edit3,'String',restt);

% --- Executes on button press in BTNmultiplicar.


function BTNmultiplicar_Callback(hObject, eventdata, handles)
% hObject handle to BTNmultiplicar (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of BTNmultiplicar


mult1=str2double(get(handles.edit1,'String'));
mult2=str2double(get(handles.edit2,'String'));
multt=mult1*mult2
set(handles.edit3,'String',multt);

% --- Executes on button press in BTNdividir.


function BTNdividir_Callback(hObject, eventdata, handles)
% hObject handle to BTNdividir (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of BTNdividir


div1=str2double(get(handles.edit1,'String'));
div2=str2double(get(handles.edit2,'String'));
divt=div1/div2
set(handles.edit3,'String',divt);

function edit1_Callback(hObject, eventdata, handles)


% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text


% str2double(get(hObject,'String')) returns contents of edit1
as a double

% --- Executes during object creation, after setting all properties.


function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called

% Hint: edit controls usually have a white background on Windows.


% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit2_Callback(hObject, eventdata, handles)


% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit2 as text


% str2double(get(hObject,'String')) returns contents of edit2
as a double
% --- Executes during object creation, after setting all properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called

% Hint: edit controls usually have a white background on Windows.


% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit3_Callback(hObject, eventdata, handles)


% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit3 as text


% str2double(get(hObject,'String')) returns contents of edit3
as a double

% --- Executes during object creation, after setting all properties.


function edit3_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called

% Hint: edit controls usually have a white background on Windows.


% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in BTNlimpiar.


function BTNlimpiar_Callback(hObject, eventdata, handles)
% hObject handle to BTNlimpiar (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of BTNlimpiar


set(handles.edit1,'string','')
set(handles.edit2,'string','')
set(handles.edit3,'string','')
Taller
Subir el programa y la interfaz grafica capturada de lo que realiza en formato word
- grafica de una funcion
- obtencion de sus raices a traves de sus coeficientes
- obtencion de sus coeficientes a traves de sus raices
% --- Executes on button press in btnGraficar.
function btnGraficar_Callback(hObject, eventdata, handles)
% hObject handle to btnGraficar (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
g=get(handles.edit1,'String');
ezplot(handles.axes1,g,[0 10]);

% --- Executes on button press in btnraices.


function btnraices_Callback(hObject, eventdata, handles)
% hObject handle to btnraices (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
vector=get(handles.edit2,'String');
vector=str2num(vector);
raices=roots(vector);
set(handles.listbox1,'String',num2str(raices))
% --- Executes on button press in btnPasar.
function btnPasar_Callback(hObject, eventdata, handles)
% hObject handle to btnPasar (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
v=get(handles.listbox1,'String');
v=str2num(v);
coe= poly(v);
set(handles.listbox2,'String',num2str(coe))
FUNCIONES DEFINIDAS POR EL USUARIO

OBJETIVO
Crear funciones propias, definidas por el usuario para que ayuden en la aplicación de
distintos problemas de ingeniería.
DEFINICIÓN
Es un grupo de código que acepta argumentos de entrada del usuario y produce salida del
programa.
SINTAXIS
function [output args] = nombre_función (input args)
Function.- esta palabra define la función debe ir tal cual está
Output args.- variables de salida entre corchetes y con coma si existen más de una.
Nombre_función.- debe ser una palabra o varias unidas con guion bajo que diga que es lo
que hace esa función.
Input args.- variables de entrada entre paréntesis y con coma si existen más de una. Lineas
de código
EJEMPLO
Realizar una función que permita sumar 2 números
function [s]=suma(a,b) s=a+b;
Se puede guardar con el mismo nombre de la función
En la línea de comandos insertar asi:
%Suma de dos números

x=input('Ingrese un número:');
y=input('Ingrese otro número:');
z=suma(x,y);
disp(z)

EJERCICIO
Realizar una función que permita ingresar unos puntos del plano cartesiano y dibujar un
cuadrado o rectángulo con un color enviado también a la función.
%Gráfica de un cuadrado

x=[3 3 7 7];
y=[5 6.5 6.5 5];
fill(x,y,'y')
axis([0 10 4 7.5])
Ejercicio

Hacer un código indicando el script y la función o funciones hechas por Ud., además
capturar LAS PANTALLAS DE LA EJECUCION EN MATLAB

Funcion

function [ Gra ] = graf(x,y)


%UNTITLED3 Summary of this function goes here
% Detailed explanation goes here
gra=plot(x,y)
end

script

clear all,clc
x=input('ingrese los valores de x en []: ');
y=2*x.^2+6.*x+3
raices(1,3,2)
graf(x,y)
Sumas Sucesivas

1. Análogos libres de MATLAB.


Los ejemplo abajo esta escritos en el dialecto GNU Octava del lenguaje de MATLAB. Otras
buenas opciones son Scilab y FreeMat.
2. Sumas acumuladas. Dado un arreglo, podríamos calcular sus sumas acumuladas con el
siguiente código:
a = [3; -5; 7; 1]
s = a;
for j = 2 : length(s),
s(j) = s(j) + s(j - 1);
endfor
La función cumsum permite hacer lo mismo de manera más eficiente:
a = [3; -5; 7; 1]
s = cumsum(a)
3. Diferencias sucesivas.
Dado un arreglo, podríamos calcular sus diferencias sucesivas con el siguiente código:
a = [3; -5; 7; 1]
d = zeros(length(a) - 1, 1);
for j = 1 : length(a) - 1,
d(j) = a(j + 1) - a(j);
endfor
El ciclo se puede sustituir por una operación vectorial:
a = [3; -5; 7; 1]
d = a(2 : end) - a(1 : end - 1)
La función diff hace lo mismo, pero de manera más eficiente:
a = [3; -5; 7; 1]
d = diff(a)
SUMAS SUCESIVAS

Para calcular el producto entre dos números por el método de las sumas sucesivas en matLab, se
hace necesario el uso de ciclos. Los ciclos son estructuras repetitivas (for, while) que permiten
que un conjunto de instrucciones se ejecuten cierta cantidad de veces. Este ejercicio igualmente,
puede resolverse por llamada recursiva a un método

clear all, clc


%Sumas sucesivas
%Crear un programa que permita mostrar el cuadrado de los primeros
%cien numeros usando las sumas sucesivas
impares=1
cuadrado=1
for x=2:100

impares=impares+2;
cuadrado=cuadrado+impares;
fprintf('\n El cuadrado de %d es: %d',x,cuadrado);

end
%Permita ingresar su base y el exponente y a través de
%sumas sucesivas pueda obtener el resultado.
base=input('Ingresesar base: ');
exponente=input('Ingresar exponente: ');
suma=base;
resultado=exponente;

for x=1:1

base=base.^exponente

fprintf('\n La base %d de elevado a la %d es:


%d',suma,resultado,exponente);

end
fprintf('\n La base %d de elevado a la %d es:
%d',suma,resultado,base);
Taller
Código indicando el script y la funcion o funciones hechas por Ud, ademas capturar LAS
PANTALLAS DE LA EJECUCION EN MATLAB, subir en formato de word
function [ Gra ] = graf(x,y)
%UNTITLED3 Summary of this function goes here
% Detailed explanation goes here
gra=plot(x,y)
end

clear all,clc
x=input('ingrese los valores de x en []: ');
y=2*x.^2+6.*x+3
raices(1,3,2)
graf(x,y)

También podría gustarte