Documente Academic
Documente Profesional
Documente Cultură
%METODO_VARIACIONAL
clc;
clear;
syms x Q0 Q1 Q2 c1 c2 w0 w1;
wo=1;
w1=x;
Q0=x;
Q1=x^2-2*x;
Q2=x^3-3*x;
U(x)=Q0+c1*Q1+c2*Q2 ;
D1=diff(U(x)) ;
D2=diff(U(x),2);
P=-D2-U(x)+x^2;
F1=wo*P;
F12=int(F1,1,0)
F2=w1*P;
F23=int(F2,1,0)
[c1 c2]=solve(F12,F23)
U=Q0+c1*Q1+c2*Q2
X=[0:0.001:1];
x=X;
U=eval(U)
y=(2*cos(X-1)-sin(X))/(cos(1))+(X.^2)-2;
Error=(y-U)/y
plot(X,Error,'--or',X,y,'g');
grid on;
%Metodo_diferencial
clc;
clear;
n=7
h=1/(n-1);
M(1,1)=h;
M(1,1)=1;
for j=2:n
M(1,j)=0;
end
escalera=0;
bandera=0;
for i=2:n-1
escalera=escalera+1;
for j=escalera:n
if bandera==0
bandera=1;
M(i,j)=-1;
elseif bandera==1
bandera=2;
M(i,j)=2-h^2;
elseif bandera==2
bandera=3;
M(i,j)=-1;
elseif bandera==3
M(i,j)=0;
end
end
bandera=0;
end
for j=1:n
if j<n-2
M(n,j)=0;
elseif j==n-1
M(n,j)=-1;
elseif j==n
M(n,j)=1
end
end
x=0;
deltax=1/(n-1);
for k=1:n
if k<=n-1
B(k,1)=-h^2*x^2;
x=x+deltax;
elseif k==n
B(k,1)=2*h
end
end
%y=((cos(p-1)-sin(p))/(cos(1)))+x^2-2;
C=linsolve(M,B)
plot(C)