Index exceed matrix dimensions.

2 views (last 30 days)
Tarun Pandey
Tarun Pandey on 20 Nov 2020
Commented: Tarun Pandey on 20 Nov 2020
% code for PTPB
Cv=0.5; %in m2/day
U0=100; %initial consolidation
U1s=0; %excess pore water pressure at top
U2s=0; %excess pore waler press at bottom
t=30; %in days
z=10; %total thickness in m
n=10; %no.of layers
dz=z/n; %length of interval
dt=1;%length of time interval
lambda= Cv*dt/dz^2;
m=t/dt;
U1=zeros(n,m);
U2=zeros(n,m);
U=zeros(n,m);
U1(2:n-1,1)=100;
U2(2:n-1,1)=100;
j=1;
for k=dt:dt:29*dt
j=j+1;
for i=2:n-1
U1(i,j)=(1-lambda)*U1(i,j-1)/(1+lambda)+(lambda)*U1(i+1,j-1)/(1+lambda)+(lambda)*U1(i-1,j)/(1+lambda);
end
end
for k=dt:dt:29*dt
j=j+1;
for i=n-1:-1:2
U2(i,j)=(1-lambda)*U2(i,j-1)/(1+lambda)+(lambda)*U2(i-1,j-1)/(1+lambda)+(lambda)*U2(i+1,j)/(1+lambda);
end
end
U=0.5*(U1+U2);

Answers (1)

Alan Stevens
Alan Stevens on 20 Nov 2020
Do you just need
j = 1;
before the last
for k=dt:dt:29*dt
loop?
  6 Comments
Alan Stevens
Alan Stevens on 20 Nov 2020
Or more like this
figure
plot(0:dt:29*dt,U1),grid
Tarun Pandey
Tarun Pandey on 20 Nov 2020
It worked thanku sir..

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!