求助 迭代的问题 谢谢!
function U=fu1(x)x=-1:0.01:1;
U1=1;
b=1/25;
k=2*pi/b;
l=100*b;
n=1;
c=sqrt(i*exp(-i*k*l)/(b*l));
d=cos(k*x.^2/(2*l)*U1);
e=sin(k*x.^2/(2*l)*U1);
g=d-i*e;
f=quad(g,-1,1);
while abs(U(n)-U1)>0.00001
n=n+1;
%s=;
d=cos(k*x.^2/(2*l)*U1);
e=sin(k*x.^2/(2*l)*U1);
g=d-i*e;
f=quad(g,-1,1);
U(n)=c*f
y=abs(U(n));
plot(x,y);
end
上面的我学了一段时间的成果,可是老是有问题,请各位高手们帮到看下 谢谢!!!
[ 本帖最后由 eight 于 2007-5-7 10:16 编辑 ] 原帖由 杨小鞋 于 2007-5-7 10:10 发表 http://forum.vibunion.com/forum/images/common/back.gif
function U=fu1(x)
x=-1:0.01:1;
U1=1;
b=1/25;
k=2*pi/b;
l=100*b;
n=1;
c=sqrt(i*exp(-i*k*l)/(b*l));
d=cos(k*x.^2/(2*l)*U1);
e=sin(k*x.^2/(2*l)*U1);
g=d-i*e;
f=quad(g,-1,1);
while abs( ...
建议使用高版本的matlab,例如 2006a、2006b、2007a 等,这些都是 >= 7.2 的版本,然后你会发现编辑窗口有很多错误或者警告的提示 :@) 谢谢!可是 现在 手头只有7.1的想把上面的程序编出来请问有别的方法么? 谢谢!:@) 原帖由 杨小鞋 于 2007-5-7 10:24 发表 http://forum.vibunion.com/forum/images/common/back.gif
:@) 谢谢!可是 现在 手头只有7.1的想把上面的程序编出来请问有别的方法么? 谢谢!:@)
主要问题—— while 循环中 U 没有赋初值
其他问题—— x 重复定义:既作为输入参数,又在函数体中赋值
[ 本帖最后由 eight 于 2007-5-7 10:41 编辑 ] 谢谢!!!我修改下试试先 !!:@) 不好意思,又发拉次消息你!
谢谢!我把X=-1:0.001:1注释之后就Input argument "x" is undefined.
在WHILE中加如U(1)=1以后Error using ==> fcnchk
FUN must be a function, a valid string expression,
or an inline function object.
Error in ==> quad at 56
f = fcnchk(funfcn);
Error in ==> fu1 at 12
f=quad(g,-1,1);
不明白 麻烦你再解释下谢谢! 原帖由 杨小鞋 于 2007-5-7 11:07 发表 http://forum.vibunion.com/forum/images/common/back.gif
不好意思,又发拉次消息你!
谢谢!我把X=-1:0.001:1注释之后就Input argument "x" is undefined.
在WHILE中加如U(1)=1以后Error using ==> fcnchk
FUN must be a function, a valid string expression,
or ...
建议看看 matlab 基础书吧,不然到处碰壁,我的时间、精力也有限
页:
[1]