24小时热门版块排行榜    

查看: 728  |  回复: 4

jiasen1980

金虫 (正式写手)

[交流] 【求助】那位高手帮看下MATLAB程序出错了

%FWT on the NLS equation i*du/dt+alpha*d^2u/dx^2+nu*|u|^2*u=0
%x=linspace(-3,3,1000);u=exp(2*x.^2);[c,L]=wavedec(u,3,'sym6');A=wrcoef('a',c,L,'sym6',3);
%plot(x,u,'x',x,A,'r')
%-----Claculate the wavelet-------
xmax=16;
level=3;
alpha=1/2;
nu=1;
deltat=5*10^(-5);
maxtime=2;
iter=3;
wav='sym6';
[phi,psi,xval]=wavefun(wav,iter);
hval=xval(2)-xval(1);
MX=max(xval);
s=1;
% mm=0;
% jump=10^(s+1);
flag=1;
for t=0:deltat:maxtime
if flag==1
flag=0;
thresh=2^(level-3)*10^-5;
phin=2^(level/2)*phi;
psin=2^(level/2)*psi;
lenphi=length(phin);
shift=floor(lenphi/MX);
N=xmax*2^level-(MX-1);
lenPHI=(N-1)*shift+lenphi;
x=linspace(-xmax/2,xmax/2,lenPHI);
h=x(2)-x(1);
%--------------Clculate the initial approximation of u--------------
if t==0
ua=3*sech(x);
end
t=0;
for L=1:N
aold(1,L)=h*ua((L-1)*shift+1L-1)*shift+lenphi)*phin';
end
for L=1:N
b(1,L)=h*ua((L-1)*shift+1L-1)*shift+lenphi)*psin';
end
u0=zeros(1,lenPHI);
for L=1:N
u0(1,(L-1)*shift+1L-1)*shift+lenphi)=u0(1,(L-1)*shift+1L-1)*shift+lenphi)+aold(1,L)*phin;
end
figure
plot(x,ua,'k',x,u0,'r');
title(strcat('xmax=',num2str(xmax),',alpha=',num2str(alpha),',\nu=',num2str(nu),',maxtime=',num2str(maxtime),',deltat=',num2str(deltat),',level=',num2str(level),',iter=',num2str(iter),',time=',num2str(t)));
%----Calculate KM Matrix for sym6
load sym6KMburg3;
for L=1:N
for K=1:N
if abs(L-K) KM(L,K)=sym6KMburg3(K-L+MX)*2^(2*level);
end
end
end
%-------------
load sym6LambdaNLS3;
end
% U=zeros(floor(maxtime/(jump*deltat))+1,lenPHI);
%----Calculate C Matrix-----------------
C=zeros(N,N);
for L=1:N
for K=1:N
if abs(L-K) for m =1:N
if abs(m-K) for n=1:N
if abs(n-K) C(L,K)=C(L,K)+aold(1,n)*2^(level)*sym6LambdaNLS3(KL+MX,m-L+MX,n-L+MX)*conj(aold(1,m));
end
end
end
end
end
end
end
% % for L=1:N
% % for K=1:N
% % if abs(L-K) % % Mat(L,K)=deltat*(nu*C(L,K)+alpha*sym6KMburg3(KL+MX)*2^(2*level));
% % end
% % end
% % end
% %a=a+i*a*Mat;
anon=aold+i*deltat*aold*nu*C;
alin=anon+i*deltat*anon*alpha*KM;
anew=alin;
aold=anew;
if max(abs(aold))>50
u=zeros(1,lenPHI);
for L=1:N
u(1,(L-1)*shift+1L-1)*shift+lenphi)=u(1,(L-1)*shift+1L-1)*shift+lenphi)+abs(aold(1,L))*phi;
end
figure
plot(x,u0,'r',x,u,'k');
title(strcat('xmax=',num2str(xmax),',alpha=',num2str(alpha),',\nu=',num2str(nu),',maxtime=',num2str(maxtime),',deltat=',num2str(deltat),',level=',num2str(level),',iter=',num2str(iter),',time=',num2str(t)));
break;
end
u=zeros(1,lenPHI);
for L=1:N
u(1,(L-1)*shift+1L-1)*shift+lenphi)=u(1,(L-1)*shift+1L-1)*shift+lenphi)+abs(aold(1,L))*phin;
end
for L=1:N
b(1,L)=h*u((L-1)*shift+1L-1)*shift+lenphi)*psin';
end
if max(abs(b))>thresh
max(abs(b));
level=level+1;
flag=1;
ut=interp(u,2);
ua=ut(1:length(ut)-1);
% a=interp(a,2);
end
% if t == (mm*jump*deltat)
% u=zeros(1,lenPHI);
% for L=1:N
% u(1,(L-1)*shift+1L-1)*shift+lenphi)=u(1,(L-1)*shift+1L-1)*shift+lenphi)+abs(aold(1,L))*phin;
% end
% mm=mm+1;
% U(mm,=u;
% end
if t==deltat*10^(s+1)|t==deltat*10^(s+2)|t==deltat*10^(s+3)|t==deltat*10^(s+4)|t==0.5|t==0.75|t==1.5|t==1.75|t==2u=zeros(1,lenPHI);
for L=1:N
u(1,(L-1)*shift+1L-1)*shift+lenphi)=u(1,(L-1)*shift+1L-1)*shift+lenphi)+abs(aold(1,L))*phin;
end
figure
plot(x,u0,'r',x,u,'k');
title(strcat('xmax=',num2str(xmax),',alpha=',num2str(alpha),',\nu=',num2str(nu),',maxtime=',num2str(maxtime),',deltat=',num2str(deltat),',level=',num2str(level),',iter=',num2str(iter),',time=',num2str(t)));
end
end
% figure
% S=size(U);
% % tp=[0:1:S(1)-1];
% tp=linspace(0,maxtime,S(1));
% [X,T]=meshgrid(x,tp);
% mesh(X,T,U);
%
title(strcat('xmax=',num2str(xmax),',alpha=',num2str(alpha),',\nu=',num2str(nu),',maxtime=',num2str(maxtime),',deltat=',num2str(deltat),',level=',num2str(level),',iter=',num2str(iter),',time=',num2str(t)));
??? Error using ==> load
Unable to read file sym6KMburg3: No such file or directory.
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lixuke2005

铁杆木虫 (著名写手)

jiasen1980(金币+2):这就是原文件 只是那个字符" :" 被那脸的图标自动取代了 2010-09-08 22:29:34
你最好给出原文的m文件
bla
2楼2010-09-08 20:32:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

jiasen1980(金币+1): 2010-09-09 14:11:53
可以使用代码格式。。
好好学习,天天向上。
3楼2010-09-09 09:41:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主


jiasen1980(金币+2): 2010-09-09 14:12:28
ctgu_zheng(金币+1):辛苦了,鼓励应助。。。 2010-09-09 16:59:36
jiasen1980(金币+3): 2010-09-12 17:45:06
引用回帖:
Originally posted by jiasen1980 at 2010-09-08 17:23:33:
%FWT on the NLS equation i*du/dt+alpha*d^2u/dx^2+nu*|u|^2*u=0
%x=linspace(-3,3,1000);u=exp(2*x.^2);[c,L]=wavedec(u,3,'sym6');A=wrcoef('a',c,L,'sym6',3);
%plot(x,u,'x',x,A,'r')
%-----Claculate th ...

错误提示已经给的很明确了:
Unable to read file sym6KMburg3: No such file or directory.
没找到sym6KMburg3文件

确认一下这是什么文件,如果有该文件,文件路径是什么?要么复制到当前工作目录下,或设置以下相应路径。
明德厚学、求是创新
4楼2010-09-09 10:33:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yqx1985

木虫 (著名写手)

云中仙

jiasen1980(金币+2): 2010-09-12 17:44:59
楼上正解
人面不知何时去,桃花依旧笑春风
5楼2010-09-09 17:46:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jiasen1980 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见