dc442 发表于 2008-11-3 19:42

关于RAND函数调用问题

关于rand函数调用问题
function dx=vdp21(t,x)
y=y(n);
function y=y(n)
y(n)=2*pi*rand(1,1);
dx=sin(x+y(1))+1/2*sin(sqrt(2)*x+y(2))+1/4*sin(sqrt(10)*x+y(3));
存在m文件里
但调用 =ode15s('vdp21',,0.1);plot(T,X)却显示出错,不知道为什么
如果不用RAND函数,而把y(1),y(2),y(3)变成具体值,或y1=2*pi*rand(1,1)这样赋值,则能正确输出。
望哪位大虾提示下

ch_j1985 发表于 2008-11-3 20:19

回复 楼主 dc442 的帖子

出错提示是什么?
y=y(n);什么意思?

sigma665 发表于 2008-11-3 20:47

回复 楼主 dc442 的帖子

估计是你m函数的问题
你看看用法

dc442 发表于 2008-11-3 21:06

回复 沙发 ch_j1985 的帖子

出错提示:
??? Error using ==> vdp2
Too many input arguments.

Error in ==> funfun\private\odearguments at 110
f0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1} to yp0.

Error in ==> ode15s at 227
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, ...

y=y(n);y=2*pi*rand(1,1);定义函数,上面写错了点

ch_j1985 发表于 2008-11-3 21:13

回复 地板 dc442 的帖子

n是怎么定义的?

科技在线 发表于 2008-11-4 06:57

可能n就没有定义
页: [1]
查看完整版本: 关于RAND函数调用问题