Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
1. Inicio
3. Solicitar la introducción de
“Introduzca
dos valores distintos
dos valores
distintos”
4. Leer los dos valores
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”
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:
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
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:
El nombre de la función y
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.
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.
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.
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.
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.
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.
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
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
GRAFICA.
%figura 3
x=0:10;
y=x
plot(x,y)
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)
grid on
%para quitar la linea de arriba y de la derecha del ciadro del grafico
box off
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)
x2=linspace(0,12);
y1=besseli(1,x2);
y2=besseli(2,x2);
y3=besseli(3,x2);
y4=besseli(4,x2);
y5=besseli(5,x2);
%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);
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
Ícono GUIDE.
Se presenta el siguiente cuadro de diálogo:
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:
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.
guidata(hObject,handles);
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','')
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- 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)
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
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
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
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
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)