Está en la página 1de 26

METODOS NUMERICOS PARA CIENCIAS E INGENIERIA |1

Ejemplo:

En el comando window se muestra los resultados de los cálculos realizados con las

matriz ingresada:
METODOS NUMERICOS PARA CIENCIAS 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;
while(i<=num)
METODOS NUMERICOS PARA CIENCIAS E INGENIERIA |3

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


METODOS NUMERICOS PARA CIENCIAS E INGENIERIA |4

Nota: los angulos deben estar expresados en radianes.


METODOS NUMERICOS PARA CIENCIAS 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');
METODOS NUMERICOS PARA CIENCIAS 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;
METODOS NUMERICOS PARA CIENCIAS 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);
METODOS NUMERICOS PARA CIENCIAS E INGENIERIA |8

[X,Y] = meshgrid(-2:.2:2, -2:.2:2);

Z = X .* exp(-X.^2 - Y.^2);

surf(X,Y,Z)

Surf
METODOS NUMERICOS PARA CIENCIAS E INGENIERIA |9

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
METODOS NUMERICOS PARA CIENCIAS 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])

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)
METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 11

transformación de coordenadas cilíndricas a cartesianas

Otros commandos:

getframe

movie(m,n,fps)

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:
METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 12

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)

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
METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 13

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

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
METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 14

Problemas

1.- METODO GRÁFICO

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');
METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 15

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

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');
METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 16

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

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')
METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 17

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('%s\t\t\t%s\t%s\n','it.','x','f(x)');
while (e>=tol)
fprintf('%d\t%7.11f\t%7.11f\n',i,x,f(x))
nwr = x - (f(x)/df(x));
e = abs(f(x));
x = nwr;
i = i+1;
end

CAPÍTULO 5: Raíces de Polinomios


Cálculos con polinomios
Métodos convencionales
Método de Müller
Método de Bairstow
Problemas

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
Problemas
METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 18

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
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.


METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 19

OPERACIONES BÁSICAS CON MATRICES

Ejemplo de suma de matrices:


METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 20

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.

Pasos para abrir un script:

1) Ir al menú file

2) De desplegará una nueva ventana, seleccionar la opción script


METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 21

CREAR UN PROGRAMA EN SCRIPT:

Ejemplo:

Programa para calcular la suma de dos matrices:

Ejemplo:

Programa para calcular la sumatoria de los n primeros números:


METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 22

Al ejecutar los dos programas anteriores, así se muestra en la ventana command window:

Ejemplo:

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


METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 23

CAPÍTULO 9: Matrices Especiales y Método de Gauss-Seidel


Matrices especiales
Gauss-Seidel
METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 24

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
Mínimo costo para el tratamiento de aguas residuales
Diseño de una bicicleta de montaña
Problemas
METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 25

CAPÍTULO 14: Regresión por 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

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
METODOS NUMERICOS PARA CIENCIAS E INGENIERIA | 26

Análisis de datos experimentales


Problemas

También podría gustarte