|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
比如,我的主程序(简单写下,为了便于理解我提的问题^_^)
[t,x]=ode45('mm',dt,x0,[]);'
然后被调用的函数为
1. function xdot=mm(t,x,flag)
下面有一堆赋值,甚至用到了要求的数值微分里的数,呃。。。比如
p=sqrt(x(1)+x(2));
if p<1
f=1
else f=0
2. xdot=zeros(4,1);
xdot(1)=x(2);
xdot(2)=-a1/b1*x(2)-1/(b.^2)*(x(1)-f*x(9))+d*cos(e);
xdot(3)=x(4);
xdot(4)=-ia1/b1*x(4)-1/(b.^2)*(x(3)-f*x(11))+d*sin(e);
问:当我调用mm这个函数时,ode45所执行的循环,是从1.处开始每次循环,还是只从2处开始循环?因为我的p赋值其实是根据每次循环而改变的,要是从2。处循环,我的p值相当于只赋了一次值,就没有意义了。
另:如果是从2开始的循环,那我的p应该在哪里怎么赋值才是我想表达的那个意思呢?
先谢谢各位了~ |
|