1. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 1
Ejemplo:
En el comando window se muestra los resultados de los cálculos realizados con las
matriz ingresada:
2. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 2
Programa para calcular el Factorial de un Número
n= input ('ingrese un numero:');
i=1;
fact=1;
if n>=0
while i<=n
fact=fact*i;
i=i+1;
end
disp(fact);
else
disp ('es negativo')
end
Programa para Calcular los 100 primeros Números Primos
%programa para calcular los 100 primeros numeros primos
n=100;
cp=1;
num=3;
while(cp<=n)
i=2;
nd=0;
3. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 3
while(i<=num)
if rem(num,i)==0
nd=nd+1;
end
i=i+1;
end
if nd==1
cp=cp+1;
disp(num);
end
num=num+1;
end
Funciones Trigonométricas en Matlab
Las funciones trigonométricas están incorporadas en la librería de matlab
5. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 5
Ejemplos:
1.- Calcular: seno, coseno, tangente, cotangente, secante, cosecante de los ángulos
notables conocidos:
Código:
clc;
syms x;
y=input ('ingrese la función: ');
c=input ('ingrese la cantidad de ángulos');
i=0;
while i<c;
r=input ('ingrese el ángulo: ');
u=(r*pi) /180;
p=subs (y,x,u);
i=i+1;
disp (p);
end
t=0:360;
y1=sind(t);y2=cosd(t);y3=tand(t);y4=cotd(t);y5=secd(t);y6=cscd(t);
subplot(3,2,1);plot(t,y1);title('seno');
subplot(3,2,2);plot(t,y2);title('cos');
subplot(3,2,3);plot(t,y3);title('tan');
subplot(3,2,4);plot(t,y4);title('cot');
subplot(3,2,5);plot(t,y5);title('sec');
subplot(3,2,6);plot(t,y6);title('csc');
6. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 6
Este programa pide la función y los ángulos de los cuales se quiere hallar esa función
ingresada y realiza las gráficas de todas las funciones trigonométricas.
2. Graficar las siguientes funciones:
Y1=sin(3πx)/ex
Y1=cos(3πx)/ex
0<x<3π
Código:
y='(sin(3*pi*x))/exp(x)';
x=0:3*pi;
fplot(y,[0,3*pi]);
hold on;
z='(cos(3*pi*x))/exp(x)';
fplot(z,[0,3*pi],'r-');
hold on;
7. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 7
3. Obtener la solución del sistema de ecuaciones:
3x+2y-z=1
5x+y+3y=-2
3y-4z=3
A=input('ingrese los coeficientes de las variables en forma de matriz: ');
B=input('ingrese las los números después del igual');
d=det(A);
disp(d);
ab=[A B];
c=rref(ab);
disp(c);
Este programa permite resolver cualquier sistema de ecuaciones xlabel (string) Establece
la cadena string como etiqueta del eje x de la gráfica ylabel (string) Establece la cadena
string como etiqueta del eje y de la grafica
Meshgrid:
La función mesh dibuja super cies 3D a partir de matrices. El comando mesh(Z) dibuja
los valores de la matriz Z sobre sus coordenadas. Los valores de Z se muestran como la
altura sobre la rejilla xy.
ejemplo:
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(Z);
9. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 9
Surf
k = 5;
n = 2^k-1;
[x,y,z] = sphere(n);
c = hadamard(2^k);
surf(x,y,z,c);
colormap([1 1 0; 0 1 1])
axis equal
10. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 10
Surfc: aparte de dibujar la superficie dibuja las curvas de nivel
[X,Y,Z] = peaks(30);
surfc(X,Y,Z)
colormap hsv
axis([-3 3 -3 3 -10 5])
11. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 11
Shading
shading flat
shading faceted
shading interp
shading(axes_handle,...)
cart 2 pol(x,y); (x,y,z)
transformación de coordenadas
cartesianas a cilíndricas
pol 2cart(x,y);(x,y,z)
transformación de coordenadas
cilíndricas a cartesianas
Otros commandos:
getframe
movie(m,n,fps)
12. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 12
Derivada en Matlab
Sintaxis:
diff(expr)
diff(expr,v)
diff(expr, sym('v'))
diff(expr,n)
diff(expr,v,n)
diff(expr, n, v)
Ejemplos:
1. syms x
diff(sin(x^2))
el resultado es:
ans = 2*x*cos(x^2)
2. syms t
diff(t^6,6)
el resultado es:
ans = 720
3. syms x t
diff(sin(x*t^2), t)
el resultado es:
ans = 2*t*x*cos(t^2*x)
Integral en Matlab
int(expr,var)
int(expr,var,Name,Value)
int(expr,var,a,b)
int(expr,var,a,b,Name,Value)
13. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 13
Ejemplos:
1. syms x
int(-2*x/(1 + x^2)^2)
el resultado es:
ans = 1/(x^2 + 1)
2. syms x z
int(x/(1 + z^2), z)
el resultado es:
ans = x*atan(z)
3. syms x
int(x*log(1 + x), 0, 1)
el resultado es:
ans = ¼
4. syms x t
int(2*x, sin(t), 1)
El resultado es:
ans = cos(t)^2
Serie de Taylor en Matlab
taylor(f)
taylor(f,Name,Value)
taylor(f,v)
taylor(f,v,Name,Value)
taylor(f,v,a)
taylor(f,v,a,Name,Value)
Ejemplos:
1. syms x
taylor(exp(x))
taylor(sin(x))
taylor(cos(x))
ans = x^5/120 + x^4/24 + x^3/6 + x^2/2 + x + 1
ans = x^5/120 - x^3/6 + x
ans = x^4/24 - x^2/2 + 1
14. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 14
2. syms x
taylor(log(x), x, 'Expansion Point', 1)
ans = x - (x - 1) ^2/2 + (x - 1) ^3/3 - (x - 1) ^4/4 + (x - 1) ^5/5 – 1
3. taylor(acot(x), x, 1)
ans = pi/4 - x/2 + (x - 1) ^2/4 - (x - 1) ^3/12 + (x - 1) ^5/40 + ½
4. syms x
f = sin(x)/x;
t6 = taylor(f)
t6 = x^4/120 - x^2/6 + 1
CAPÍTULO 4: Métodos Cerrados
Métodos gráficos
El método de bisección
Método de la falsa posición
Problemas
1.- METODO GRÁFICO
15. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 15
2.- METODO DE LA BISECCION
syms x;
f=input('Ingrese la funciòn: ');
ezplot(f,[-5,5]);
xai=input('Ingrese el intervalo inferior: ');
xbi=input('Ingrese el intervalo superior: ');
tol=input('Ingrese el porcentaje de error: ');
i=1;
f1=subs(f,x,xai);
f2=subs(f,x,xbi);
ea(i)=100;
if f1*f2 < 0
xa(i)=xai; f1=subs(f,x,xa(i));
xb(i)=xbi; f2=subs(f,x,xb(i));
xr(i)=(xa(i)+xb(i))/2; f3=subs(f,x,xr(i));
fprintf('It. Xa Xr Xb
Error aprox n');
fprintf('%2d t %11.7f t %11.7f t %11.7f
n',i,xa(i),xr(i),xb(i));
while abs(ea(i)) >= tol,
if f1*f3<0
xa(i+1)=xa(i);f1=subs(f,x,xa(i+1));
xb(i+1)=xr(i);f2=subs(f,x,xb(i+1));
end
if f1*f3> 0
xa(i+1)=xr(i);f1=subs(f,x,xa(i+1));
xb(i+1)=xb(i);f2=subs(f,x,xb(i+1));
end
xr(i+1)=(xa(i+1)+xb(i+1))/2; f3=subs(f,x,xr(i+1));
ea(i+1)=abs((xr(i+1)-xr(i))/(xr(i+1))*100);
fprintf('%2d t %11.7f t %11.7f t %11.7f t %7.7f
n',...
i+1,xa(i+1),xr(i+1),xb(i+1),ea(i+1));
i=i+1;
end
else
fprintf('No existe una raíz en ese intervalo');
end
16. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 16
2.- METODO DE REGLA FALSA O FALSA POSICION
%regla falsa
syms x;
f=input('Ingrese la Funcion: ');
ezplot(f,[-5,5]);
xai=input('Ingrese limite inferior: ');
xbi=input('Ingrese limite superior: ');
tol=input('Ingrese el porcentaje de Error: ');
f1=subs(f,x,xai);
f2=subs(f,x,xbi);
i=1;
ea(1)=100;
if f1*f2 < 0
xa(1)=xai;f1=subs(f,x,xa(1));
xb(1)=xbi;f2=subs(f,x,xb(1));
xr(1)=xa(1)-f1*(xb(1)-xa(1))/(f2-f1); f3=subs(f,x,xr(1));
fprintf('It. Xa Xr Xb
Error aprox n');
fprintf('%2d t %11.7f t %11.7f t %11.7f
n',i,xa(i),xr(i),xb(i));
while abs(ea(i))>=tol,
if f1*f3 < 0
xa(i+1)=xa(i);f1=subs(f,x,xa(i+1));
xb(i+1)=xr(i);f2=subs(f,x,xb(i+1));
end
if f1*f3> 0
xa(1)=xr(i);
xb(1)=xb(i);
end
xr(i+1)=xa(i+1)-f1*(xb(i+1)-xa(i+1))/(f2-f1);
ea(i+1)=abs((xr(i+1)-xr(i))/(xr(i+1)))*100;
fprintf('%2d t %11.7f t %11.7f t %11.7f t %7.3f
n',...
i+1,xa(i+1),xr(i+1),xb(i+1),ea(i+1));
i=i+1;
end
else
fprintf('No existe una raíz en ese intervalo');
end
17. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 17
CAPÍTULO 4: Métodos Abiertos
Iteración simple de punto fijo
Método de Newton-Raphson
El método de la secante
Raíces múltiples
Problemas
METODO DE PUNTO FIJO
METODO DE NEWTON RAPHSON
%METODO DE NEWTON RAPHSON
clear all, clc
syms x
disp(' M E T O D O D E N E W T O N - R A P H S O N')
disp('-----------------------------------------------------------
')
disp('Datos de entrada')
f = input('Función :','s');
ezplot(f,[-2,2]);
x0 = input('Aproximación inicial :');
tol= input('Tolerancia :');
disp('Datos de salida')
df = diff(sym(f));
f = inline(char(f));
df = inline(df);
x = x0;
e = abs(f(x));
i = 0;
fprintf('%sttt%st%sn','it.','x','f(x)');
while (e>=tol)
fprintf('%dt%7.11ft%7.11fn',i,x,f(x))
nwr = x - (f(x)/df(x));
e = abs(f(x));
x = nwr;
i = i+1;
end
18. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 18
CAPÍTULO 5: Raíces de Polinomios
Cálculos con polinomios
Métodos convencionales
Método de Müller
Método de Bairstow
Problem as
CAPÍTULO 6: Raíces de Ecuaciones
Leyes de los gases ideales y no ideales (ingeniería química y bioquímica)
Diseño de un circuito eléctrico (ingeniería eléctrica)
Medio ambiente y Derrame de petróleo
Problem as
CAPÍTULO 7: Eliminación de Gauss
Eliminación de Gauss simple
Sistemas complejos
Sistemas de ecuaciones no lineales
Gauss-Jordan
Problemas
CAPÍTULO 8: Matrices e Inversa de Matrices
Matriz
La matriz inversa
19. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 19
Problemas
INGRESO DE MATRICES
Para crear un vector introducimos los valores deseados separados por espacios (o comas)
todo ello entre corchetes []. Si lo que queremos es crear una matriz lo hacemos de forma
análoga, pero separando las filas con puntos y comas (;). Generalmente usaremos letras
mayúsculas cuando nombremos a las matrices y minúsculas para vectores y escalares. Esto
no es imprescindible y Matlab no lo exige, pero resulta útil.
OPERACIONES BÁSICAS CON MATRICES
20. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 20
Ejemplo de suma de matrices:
ABRIR UN SCRIPT
Un script es un conjunto de instrucciones (de cualquier lenguaje) guardadas en un
fichero (usualmente de texto) que son ejecutadas normalmente mediante un intérprete. Son
útiles para automatizar pequeñas tareas. También puede hacer las veces de un "programa
principal" para ejecutar una aplicación.
21. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 21
Pasos para abrir un script:
1) Ir al menú file
2) De desplegaráuna nuevaventana,seleccionar la opción script
CREAR UN PROGRAMA EN SCRIPT:
Ejemplo:
Programa para calcular la suma de dos matrices:
1
2
22. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 22
Ejemplo:
Programa para calcular la sumatoria de los n primeros números:
Al ejecutar los dos programas anteriores, así se muestra en la ventana command window:
Ejemplo:
23. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 23
Programa en script que calcula:
1. la suma de los ángulos internos de un polígono. Si un número es par o impar
2. El menor de dos números ingresados
24. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 24
CAPÍTULO 9: Matrices Especiales y Método de Gauss-Seidel
Matrices especiales
Gauss-Seidel
Problemas
CAPÍTULO 10: Optimización unidimensional no restringida
Búsqueda de la sección dorada
Interpolación cuadrática
Método de Newton
Problemas
CAPÍTULO 11: Optimización multidimensional no restringida
Métodos directos
Métodos con gradiente
Problemas
CAPÍTULO 12: Optimización restringida
Programación lineal
Optimización restringida no lineal
Problemas
CAPÍTULO 13: Aplicaciones en ingeniería: optimización
Diseño de un tanque con el menor costo
25. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 25
Mínimo costo para el tratamiento de aguas residuales
Diseño de una bicicleta de montaña
Problemas
CAPÍTULO 14: Regresiónpor mínimos cuadrados
Regresión lineal
Regresión polinomial
Regresión lineal múltiple
Mínimos cuadrados lineales en general
Regresión no lineal
Problemas
CAPÍTULO 15: Interpolación
Interpolación polinomial de Newton en diferencias divididas
Polinomios de interpolación de Lagrange
Coeficientes de un polinomio de interpolación
Problemas
CAPÍTULO 16: Aproximación de Fourier
Ajuste de curvas con funciones sinusoidales
Serie de Fourier continua
Dominios de frecuencia y de tiempo
Problemas
26. METODOSNUMERICOS PARACIENCIAS E INGENIERIA | 26
CAPÍTULO 17: Estudio de casos: ajuste de curvas
Regresión lineal y modelos de población
Uso de trazadores para estimar la transferencia de calor
Análisis de Fourier
Análisis de datos experimentales
Problemas