-
Notifications
You must be signed in to change notification settings - Fork 0
/
diferenciasfinitas.m
36 lines (32 loc) · 1.37 KB
/
diferenciasfinitas.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
% Método de Euler
% Autores:
% Javier Sotamba, Elizabeth Corte, Lisbeth Espinoza
% Fecha de implementacion: 03/01/2022
% Parámetros de entrada:
%-----------------------------------------------------------
% n: número de ecuaciones |
% xo: condición inicial para x |
% yo: condición inicial para y |
% xf: condición final para x |
% yf: condición final para y |
%-----------------------------------------------------------
% Parámetros de salida:
%--------------------------------------------------------------
% U: resultados de aproximación de la ecuación diferencial |
%--------------------------------------------------------------
function [a,mat]=diferenciasfinitas(n, xo, xf, yo, yf)
h=(xf-xo)/(n+1);
x=linspace(xo,xf,n+2);
b=zeros(n,1);
a=eye(n)*(h^2-8); % matriz identidad con valor en la diagonal
for k=1:n-1 % Se obtiene el conjunto de ecuaciones
a(k,k+1)=-h+4;
a(k+1,k)=h+4;
b(k)=-h^2*x(k+1);
endfor
b(1)=-h^2*x(2)-9*yo; % reemplazo de valores las matrices
b(n)=-h^2*x(n+1)+yf;
y=inv(a)*b; % solución del sistema de ecuaciones
y=[yo;y;yf]; % se incluyen los términos iniciales y finales
mat=[x' y] ;% visualización de los resultados obtenidos
endfunction