1 % lambda z'' = -exp(z) z' + pi/2 sin(pi*t/2) exp(2z ...

3 downloads 0 Views 3MB Size Report
y = l\(p*F); phi = u\y; z = z - phi; nl = -exp(z).*(A1*z)+pi/2*sin(pi/2*t).*exp(2*z); nl(1)=0; nl(n)=0;. F = A2*z-nl-s; ...... alpha = 0.5*(gamma-1);. % simulation parametrs.
% lambda z'' = -exp(z) z' + pi/2 sin(pi*t/2) exp(2z) % z(0)=0 % z(1)=0

clc; clear all; close all; %

problem parameters

lambda = 1; % simulation parametrs iter = 15; % form color plotting CM = jet(iter+1); Legend = cell(iter+1,1); for i=1:iter+1 Legend{i}=strcat('iter = ',num2str(i-1)); end % boundary conditions z1 = 0; zn = 0; % problem

a = 0; b = 1; n = 500; h = (b-a)/(n-1); t = (a:h:b)'; % construction differential operators A1 = zeros(n,n); A2 = zeros(n,n); for j=2:n-1 A1(j,j-1:j+1) = [-1 0 1]*0.5/h; A2(j,j-1:j+1) = lambda*[1 -2 1]/h^2; end

1

%

right hand force vector

s = zeros(n,1); %

impose boundry cconitions

s(1) = z1; s(n) = zn; A2(1,1) = 1; A2(n,n) = 1;

% intial guess % fit line in conditions z = z1 + (zn-z1)/(b-a)*(t-a); nl = -exp(z).*(A1*z)+pi/2*sin(pi/2*t).*exp(2*z); nl(1)=0; nl(n)=0; F = A2*z-nl-s; dnl = -diag(exp(z).*(A1*z))diag(exp(z))*A1+pi*diag(sin(pi*t/2).*exp(2*z)); dnl(1,:) = 0; dnl(n,:) = 0; dF = A2-dnl; [l,u,p] = lu(dF); err = norm(F,inf); fprintf('iter = %d, err = %2.2f \n',0,err); figure(1); plot(t,z,'color',CM(1,:),'marker','.'); axis([-0.1 1.5 -0.8 0.1]) hold on for i=1:iter y = l\(p*F); phi = u\y; z = z - phi; nl = -exp(z).*(A1*z)+pi/2*sin(pi/2*t).*exp(2*z); nl(1)=0; nl(n)=0; F = A2*z-nl-s; err = norm(F,inf); fprintf('iter = %d, err = %2.2s \n',i,err);

2

plot(t,z,'color',CM(i+1,:),'marker','.'); hold on

end legend(Legend) title('\lambda = 1') iter iter iter iter iter iter iter iter iter iter iter iter iter iter iter iter

= = = = = = = = = = = = = = = =

0, err = 1.57 1, err = 3.85e-02 2, err = 1.47e-03 3, err = 4.88e-05 4, err = 1.51e-06 5, err = 4.58e-08 6, err = 1.38e-09 7, err = 5.10e-11 8, err = 9.71e-12 9, err = 1.63e-11 10, err = 1.31e-11 11, err = 1.28e-11 12, err = 1.37e-11 13, err = 9.67e-12 14, err = 1.33e-11 15, err = 1.27e-11

3

clc; clear all; close all; %

problem parameters

lambda = 1e-1; % simulation parametrs iter = 15; % form color plotting CM = jet(iter+1); Legend = cell(iter+1,1); for i=1:iter+1 Legend{i}=strcat('iter = ',num2str(i-1)); end % boundary conditions z1 = 0; zn = 0; % problem

a = 0; b = 1; n = 500; h = (b-a)/(n-1); t = (a:h:b)'; % construction differential operators A1 = zeros(n,n); A2 = zeros(n,n); for j=2:n-1 A1(j,j-1:j+1) = [-1 0 1]*0.5/h; A2(j,j-1:j+1) = lambda*[1 -2 1]/h^2; end %

right hand force vector

s = zeros(n,1); %

impose boundry cconitions

s(1) = z1;

4

s(n) = zn; A2(1,1) = 1; A2(n,n) = 1;

% intial guess % fit line in conditions z = z1 + (zn-z1)/(b-a)*(t-a); nl = -exp(z).*(A1*z)+pi/2*sin(pi/2*t).*exp(2*z); nl(1)=0; nl(n)=0; F = A2*z-nl-s; dnl = -diag(exp(z).*(A1*z))diag(exp(z))*A1+pi*diag(sin(pi*t/2).*exp(2*z)); dnl(1,:) = 0; dnl(n,:) = 0; dF = A2-dnl; [l,u,p] = lu(dF); err = norm(F,inf); fprintf('iter = %d, err = %2.2f \n',0,err); figure(1); plot(t,z,'color',CM(1,:),'marker','.'); axis([-0.1 1.5 -0.8 0.1]) hold on for i=1:iter y = l\(p*F); phi = u\y; z = z - phi; nl = -exp(z).*(A1*z)+pi/2*sin(pi/2*t).*exp(2*z); nl(1)=0; nl(n)=0; F = A2*z-nl-s; err = norm(F,inf); fprintf('iter = %d, err = %2.2s \n',i,err); plot(t,z,'color',CM(i+1,:),'marker','.'); hold on

end legend(Legend) title('\lambda = 1e-1')

5

iter iter iter iter iter iter iter iter iter iter iter iter iter iter iter iter

= = = = = = = = = = = = = = = =

0, err = 1.57 1, err = 3.49e-01 2, err = 1.16e-01 3, err = 4.81e-02 4, err = 1.95e-02 5, err = 7.71e-03 6, err = 2.99e-03 7, err = 1.15e-03 8, err = 4.38e-04 9, err = 1.67e-04 10, err = 6.39e-05 11, err = 2.45e-05 12, err = 9.38e-06 13, err = 3.60e-06 14, err = 1.38e-06 15, err = 5.29e-07

clc; clear all; close all; %

problem parameters

lambda = 1e-2;

6

% simulation parametrs iter = 15; % form color plotting CM = jet(iter+1); Legend = cell(iter+1,1); for i=1:iter+1 Legend{i}=strcat('iter = ',num2str(i-1)); end % boundary conditions z1 = 0; zn = 0; % problem

a = 0; b = 1; n = 500; h = (b-a)/(n-1); t = (a:h:b)'; % construction differential operators A1 = zeros(n,n); A2 = zeros(n,n); for j=2:n-1 A1(j,j-1:j+1) = [-1 0 1]*0.5/h; A2(j,j-1:j+1) = lambda*[1 -2 1]/h^2; end %

right hand force vector

s = zeros(n,1); %

impose boundry cconitions

s(1) = z1; s(n) = zn; A2(1,1) = 1; A2(n,n) = 1;

% intial guess % fit line in conditions

7

z = z1 + (zn-z1)/(b-a)*(t-a); nl = -exp(z).*(A1*z)+pi/2*sin(pi/2*t).*exp(2*z); nl(1)=0; nl(n)=0; F = A2*z-nl-s; dnl = -diag(exp(z).*(A1*z))diag(exp(z))*A1+pi*diag(sin(pi*t/2).*exp(2*z)); dnl(1,:) = 0; dnl(n,:) = 0; dF = A2-dnl; [l,u,p] = lu(dF); err = norm(F,inf); fprintf('iter = %d, err = %2.2f \n',0,err); figure(1); plot(t,z,'color',CM(1,:),'marker','.'); axis([-0.1 1.5 -0.8 0.1]) hold on for i=1:iter y = l\(p*F); phi = u\y; z = z - phi; nl = -exp(z).*(A1*z)+pi/2*sin(pi/2*t).*exp(2*z); nl(1)=0; nl(n)=0; F = A2*z-nl-s; err = norm(F,inf); fprintf('iter = %d, err = %2.2s \n',i,err); plot(t,z,'color',CM(i+1,:),'marker','.'); hold on

end legend(Legend) title('\lambda = 1e-2') iter iter iter iter iter iter iter

= = = = = = =

0, 1, 2, 3, 4, 5, 6,

err err err err err err err

= = = = = = =

1.57 4.15e+00 1.43e+00 6.06e-01 2.79e-01 1.34e-01 6.56e-02

8

iter iter iter iter iter iter iter iter iter

= = = = = = = = =

7, err = 3.26e-02 8, err = 1.63e-02 9, err = 8.18e-03 10, err = 4.18e-03 11, err = 2.18e-03 12, err = 1.14e-03 13, err = 5.97e-04 14, err = 3.13e-04 15, err = 1.64e-04

clc; clear all; close all; %

problem parameters

lambda = 1e-3; % simulation parametrs iter = 15; % form color plotting CM = jet(iter+1); Legend = cell(iter+1,1);

9

for i=1:iter+1 Legend{i}=strcat('iter = ',num2str(i-1)); end % boundary conditions z1 = 0; zn = 0; % problem

a = 0; b = 1; n = 500; h = (b-a)/(n-1); t = (a:h:b)'; % construction differential operators A1 = zeros(n,n); A2 = zeros(n,n); for j=2:n-1 A1(j,j-1:j+1) = [-1 0 1]*0.5/h; A2(j,j-1:j+1) = lambda*[1 -2 1]/h^2; end %

right hand force vector

s = zeros(n,1); %

impose boundry cconitions

s(1) = z1; s(n) = zn; A2(1,1) = 1; A2(n,n) = 1;

% intial guess % fit line in conditions z = z1 + (zn-z1)/(b-a)*(t-a); nl = -exp(z).*(A1*z)+pi/2*sin(pi/2*t).*exp(2*z); nl(1)=0; nl(n)=0; F = A2*z-nl-s;

10

dnl = -diag(exp(z).*(A1*z))diag(exp(z))*A1+pi*diag(sin(pi*t/2).*exp(2*z)); dnl(1,:) = 0; dnl(n,:) = 0; dF = A2-dnl; [l,u,p] = lu(dF); err = norm(F,inf); fprintf('iter = %d, err = %2.2f \n',0,err); figure(1); plot(t,z,'color',CM(1,:),'marker','.'); axis([-0.1 1.5 -0.8 0.1]) hold on for i=1:iter y = l\(p*F); phi = u\y; z = z - phi; nl = -exp(z).*(A1*z)+pi/2*sin(pi/2*t).*exp(2*z); nl(1)=0; nl(n)=0; F = A2*z-nl-s; err = norm(F,inf); fprintf('iter = %d, err = %2.2s \n',i,err); plot(t,z,'color',CM(i+1,:),'marker','.'); hold on

end legend(Legend) title('\lambda = 1e-3') iter iter iter iter iter iter iter iter iter iter iter iter iter iter

= = = = = = = = = = = = = =

0, err = 1.57 1, err = 3.78e+01 2, err = 1.42e+01 3, err = 5.80e+00 4, err = 2.90e+00 5, err = 1.46e+00 6, err = 7.28e-01 7, err = 3.68e-01 8, err = 1.91e-01 9, err = 9.93e-02 10, err = 5.16e-02 11, err = 2.69e-02 12, err = 1.41e-02 13, err = 7.36e-03

11

iter = 14, err = 3.86e-03 iter = 15, err = 2.02e-03

Published with MATLABĀ® R2015a

12

% lambda z'' = -(z')^2+1 % z(0) = 1+lambda*log(cosh(-0.745/lambda)); % z(1) = 1+lambda*log(cosh(0.255/lambda));

clc; clear all; close all; %

problem parameters

lambda = 1;

% simulation parametrs iter = 9; % form color plotting CM = jet(iter+1);

k=1; for i=0:iter Legend{k}=strcat('iter = ',num2str(i)); k=k+1; end % boundary conditions z1 = 1+lambda*log(cosh(-0.745/lambda)); zn = 1+lambda*log(cosh(0.255/lambda)); % problem

a = 0; b = 1; n = 500; h = (b-a)/(n-1); t = (a:h:b)'; % construction differential operators A1 = zeros(n,n); A2 = zeros(n,n);

1

for j=2:n-1 A1(j,j-1:j+1) = [-1 0 1]*0.5/h; A2(j,j-1:j+1) = [1 -2 1]/h^2; end %

right hand force vector

s = zeros(n,1); %

impose boundry cconitions

s(1) = z1; s(n) = zn;

% intial guess % fit line in conditions z = z1 + (zn-z1)/(b-a)*(t-a);

nl = (A1*z).^2-1; nl(1)=0; nl(n)=0; AA2 = lambda*A2; AA2(1,1)=1; AA2(n,n)=1; F = AA2*z+nl-s; dnl = 2*diag(A1*z)*A1; dnl(1,:) = 0; dnl(n,:) = 0; dF = AA2+dnl; [l,u,p] = lu(dF); err = norm(F,inf); fprintf('iter = %d, err = %2.2f \n',0,err); figure(1); plot(t,z,'color',CM(1,:),'marker','.'); axis([-0.1 1.5 0.9 1.9]) hold on

for i=1:iter

2

y = l\(p*F); phi = u\y; z = z - phi; nl = (A1*z).^2-1; nl(1)=0; nl(n)=0; AA2 = lambda*A2; AA2(1,1)=1; AA2(n,n)=1; F = AA2*z+nl-s; err = norm(F,inf); fprintf('iter = %d, err = %2.2s \n',i,err);

plot(t,z,'color',CM(i+1,:),'marker','.'); hold on

if(i