Matlab 显示未定义函数或变量??

%% Dynamic Neural Field Model (1D)
clear; clf; hold on;
nn = 100; dx=2*pi/nn; sig = 2*pi/10; C=0.5;
%% Training weight matrix
for loc=1:nn
i=(1:nn)'; dis= min(abs(1i-loc),nn-abs(1i-loc));
pat(:,loc)=exp(-(dis*dx).^2/(2*sig^2));
end
w=pat*pat'; w=w/w(1,1); w=4*(w-C);
%% Update with localised input
tall = []; rall = [];
I_ext=zeros(nn,1); I_ext(nn/2-floor(nn/10):nn/2+floor(nn/10))=1;
[t,u]=ode45('rnn_ode',[10 20],u(size(u,1),:),[],nn,dx,w,I_ext);
r=1./(1+exp(-u)); tall=[tall;t]; rall=[rall;r];
%% Update without input
I_ext=zeros(nn,1);
[t,u]=ode45('rnn_ode',[10 20],u(size(u,1),:),[],nn,dx,w,I_ext);
r=1./(1+exp(-u)); tall=[tall;t]; rall=[rall;r];

%% Plotting results
surf(tall',1:nn,rall','linestyle','none'); view(0,90);  
return
function udot=rnn_ode(~,u,~,~,dx,w,I_ext)
% odefile for recurrent network
 tau_inv = 1.; % inverse of membrane time constant
 r=1./(1+exp(-u));
 sum=w*r*dx;
 udot=tau_inv*(-u+sum+I_ext);

end 

    如题,显示未定义函数或变量“u”,请问如何解决?

是不是运行环境不对,添加运行环境或者保存在运行环境中试试。编译的文件要保存在运行环境下。调用的函数也要和运行的函数在同一根目录下。