function [w, yA, MutlakHata, lambda] = paraboliccranknicolson(L,T,m,n,alpha) % du/dt - alpha^2 d^2u/dx^2 = 0, u(0,t)=fx0 , u(L,t) = fxL, u(x,0) = ft0 f = @(x,t) ...; fx0 = @(x,t) ...; fxL = @(x,t) ...; ft0 = @(x,t) ...; h = L/m; k = T/n; x = 0:h:L; t = 0:k:T; %Sınır koşulları for j = 1:n+1 w(1,j) = fx0(x(1),t(j)); w(m+1,j) = fxL(x(m+1),t(j)); end %Başlangıç koşulları for i = 1:m+1 w(i,1) = ft0(x(i),t(1)); end lambda = (alpha^2)*k/(h^2); mu1 = 1 + lambda; mu2 = 1 - lambda; % Katsayılar matrisi for i = 1:m-1 K(i,i) = mu1; end for i = 1:m-2 K(i,i+1) = -lambda/2; K(i+1,i) = -lambda/2; end % Sağ taraf vektörü F for j = 1:n F(1,1) = (lambda/2)*w(1,j) + mu2*w(2,j) + (lambda/2)*w(3,j) + (lambda/2)*w(1,j+1) + (k/2)*(f(x(2),t(j))+f(x(2),t(j+1))); for i=2:m-2 F(i,1) = (lambda/2)*w(i,j) + mu2*w(i+1,j) + (lambda/2)*w(i+2,j)+(k/2)*(f(x(i+1),t(j))+f(x(i+1),t(j+1))); end F(m-1,1) = (lambda/2)*w(m-1,j) + mu2*w(m,j) + (lambda/2)*w(m+1,j) + (lambda/2)*w(m+1,j+1)+(k/2)*(f(x(m),t(j))+f(x(m),t(j+1))); ww = K\F; for i = 2:m w(i,j+1) = ww(i-1,1); end end % Analitik çözüm [TT,XX] = meshgrid(t,x); yA = ...; MutlakHata = abs(yA - w);