Plotting in for loop by adding second dimension to the variables

1 view (last 30 days)
Hello, I need to plot H,u at times
t=0.1, 0.2, 0.3, ...1
in the same plot over a range of time. I know below code is wrong but how can I fix it?
dt=0.01;
Nx = 101;
Nt= 101;
t=0;
H=zeros(1, Nx);
u=zeros(1, Nx);
for nt=1:Nt % time loop
t=(nt-1)*dt;
for i=1:Nx
H(i) = ...
u(i) = ...
end
for ntstep=1:10
t=(ntstep-1)*10*dt;
newH(ntstep,1:Nx)=H(1:Nx);
newu(ntstep,1:Nx)=u(1:Nx);
end
end
for i=1:10
hold on;
figure (1);
hplot1 = plot(x,newH(i,1:Nx),'lineWidth',1.3);
hold on
hplot1 = plot(x,newu(i,1:Nx),'lineWidth',1.3);
hold on
end
  1 Comment
Meva
Meva on 31 May 2016
Hello,
I have changed the code as below:
dt=0.01;
Nx = 101;
Nt= 101;
t=0;
H=zeros(1, Nx);
u=zeros(1, Nx);
for nt=1:Nt % time loop
t=(nt-1)*dt;
for i=1:Nx
H(i) = ...
u(i) = ...
end
for k=1:10
if k*0.1 == nt
newH(k,1:Nx)=H(1:Nx);
newu(k,1:Nx)=u(1:Nx);
else
continue
end
end
end
for i=1:10
hold on;
figure (1);
hplot1 = plot(x,newH(i,1:Nx),'lineWidth',1.3);
hold on
hplot1 = plot(x,newu(i,1:Nx),'lineWidth',1.3);
hold on
end

Sign in to comment.

Answers (0)

Categories

Find more on Graphics Performance 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!