Matlab2015

matlab出现Attempt to reference field of non-structure array.

已解决,感谢

请使用插入代码控件插入你的代码,否则别人也很难重现你的问题。

time0=clock();
Nx=128;
dx=1.0;
nstep=600;
nprint=200;
dtime=0.2;
for i=1:Nx
u0(i)=0.0;
x(i)=i*dx;
if((i>=44)&&(i<=84))
u0(i)=1.0;
end
end
ncount=0;
for istep=1:nstep
for i=2:Nx-1
u0(i)=u0(i)+dtime*(u0(i+1)-2.0*u0(i)+u0(i-1))...
/(dx*dx);
end
if((mod(istep.nprint)==0)||(istep==1))
ncount=ncount+1;
subplot(2,2,ncount);
plot(x,u0);
time=sprintf('%d',istep);
title(['time' time]);
axis([0 Nx -0.5 1.5]);
xlabel('x');
ylabel('Temperature');
end
end
Attempt to reference field of non-structure array.
 

 

 time0=clock();
Nx=128;
dx=1.0;
nstep=600;
nprint=200;
dtime=0.2;
for i=1:Nx
u0(i)=0.0;
x(i)=i*dx;
if((i>=44)&&(i<=84))
u0(i)=1.0;
end
end
ncount=0;
for istep=1:nstep
for i=2:Nx-1
u0(i)=u0(i)+dtime*(u0(i+1)-2.0*u0(i)+u0(i-1))...
/(dx*dx);
end
if((mod(istep.nprint)==0)||(istep==1))
ncount=ncount+1;
subplot(2,2,ncount);
plot(x,u0);
time=sprintf('%d',istep);
title(['time' time]);
axis([0 Nx -0.5 1.5]);
xlabel('x');
ylabel('Temperature');
end
end

 

最后一个end enter报Attempt to reference field of non-structure array.

代码格式还是没有排版清楚缩进,简单看了下

for i=1:Nx
u0(i)=0.0;

u0 在第一次使用之前没有被定义?