Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [x,w]=db8d2(a,b,n,alpha1,alpha2,alpha3,beta1,beta2,beta3,p,q,r)
- h=(b-a)/n;
- x=a:h:b;
- A=zeros(n+1,n+1);
- b=zeros(n+1,1);
- for i=1:n+1
- l(i)=-1-0.5*h*p(x(i));
- d(i)= 2 + h.^2 * q(x(i));
- u(i)= -1 + 0.5*h*p(x(i));
- end
- if alpha2 == 0
- A(1,1)=1;
- b(1)=alpha3/alpha1;
- else
- A(1,1)=d(1)+2*h*l(1)*alpha1/alpha2;
- A(1,2)=-2;
- b(1)=-h^2*r(x(1))+2*h*l(1)*alpha3/alpha2;
- end
- if beta2 == 0
- A(n+1,n+1) = 1;
- b(n+1) = beta3/beta1;
- else
- A(n+1,n) = -2;
- A(n+1,n+1) = d(n+1) - 2*h*u(n+1)*(beta1/beta2);
- b(n+1) = -(h.^2*r(x(n+1))) - (2*h*u(n+1)*(beta3/beta2));
- end
- for i=2:n
- A(i,i-1) = l(i-1);
- A(i,i) = d(i-1);
- A(i,i+1) = u(i-1);;
- b(i) = -(h.^2*r(x(i-1)));
- end
- w=A\b;
- plot(x,w);
- end
- %keyrsla 1
- % p = @(x) -2; q = @(x) 3; r = @(x) 0;
- % db8d2(0,1,100,1,0,exp(3),1,0,1, p,q,r)
- %
- %keyrsla 2
- % p = @(x) -2*x; q = @(x) 3*x; r = @(x) 0;
- % db8d2(-1,1,100, 1,1,exp(3),1,1,-1,p,q,r)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement