I have problem in matlab code

Eng. Hassan Turk

عضو جديد
إنضم
7 يناير 2014
المشاركات
30
مجموع الإعجابات
1
النقاط
0
in fact i have problem in code of implicit method of PDE , so i'm looking for
supporting to solve this issue quick

The code:
clear all
clc
format short
wallLegnth = 1;
dy = 0.05;
toataltime = 0.5;
dt = 0.01;
alpha = 0.1;
dis=0:dy:1;
yn = (wallLegnth/dy)+1;
tn = (toataltime/dt)+1;
alpha=0.1;
z=alpha*dt/(dy^2);
a=-z;
b=(2*z+1);
c=-z;
TRI=full(gallery('tridiag',yn,a,b,c));
TRII=inv(TRI);


% Initial condition
for j=2:1:yn-1;
LM(1,j)=100;
end


%Boundary condition
for j=1:1:tn;
LM(j,1)=300;
LM(j,yn)=300;
end


%solveing


for i=1:1:yn;
for j=1;tn-1;

if i==1;
D(i,j)= LM(i+1,j)+a*LM(i,j+1);

if i==tn-1;
D(i-1,j)= LM(i+1,j)+a*LM(i+2,j+1);

elseif 1<i<tn-2
D(i,j)=LM(i+1,j);


end
end
end
end


DD=D'*TRII;
for i=1:1:tn;
for j=2:1:yn-1;
LM(i,j)=DD(i,j);
end
end
 

مواضيع مماثلة

Eng. Hassan Turk

عضو جديد
إنضم
7 يناير 2014
المشاركات
30
مجموع الإعجابات
1
النقاط
0
مساء الخير ,, وده تعديل بسيط
محتاج حد يفيدني في اقرب فرصة


clear all

clc
format short
wallLegnth = 1
dy = 0.05
toataltime = 0.5
dt = 0.01
dis=0:dy:1
yn = (wallLegnth/dy)+1
tn = (toataltime/dt)+1
alpha=0.1
z=(alpha*dt)/(dy^2)
a=-z
b=(2*z+1);
c=-z;
TRI=full(gallery('tridiag',yn-1,a,b,c));
TRII=inv(TRI);


% Initial condition
for j=2:yn-1;
LM(1,j)=100;
end


%Boundary condition
for j=1:tn;
LM(j,1)=300;
LM(j,yn)=300;
end


%solveing
LM=LM';
for i=1:yn-1;
for j=1:tn-1;

if i==1;
D(i,j)= LM(i+1,j)+a*LM(i,j+1);

elseif 1<i<yn-1
D(i,j)=LM(i+1,j);

elseif i==yn-1;
D(i,j)=LM(i+1,j)+c*LM(i+2,j+1);
end
end
end
LM=LM';
DD=D'*TRII;


for i=2:yn;
for j=2:tn-1;
LM(i+1,j)=DD(i,j);
end
end
 
التعديل الأخير:
أعلى