Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-03-27
年龄: 40
帖子: 11
声望力: 18 ![]() |
![]()
函数fun1.m文件为
function dy=fun1(t,y) u=[t/1000+0.1 t/1000+0.1]; dy=zeros(6,1); m1=0.2;m2=0.000034;m3=0.0337;m4=0.0386; w1=0.3;w2=0;w3=0.1; p=0; k1=0.1;k2=0.125; d1=0.0079;d2=0.0068; dy(1)=m2*(y(1)+y(2)+y(3)+y(4)+y(5)+y(6))-y(1)*(m1*y(4)+w1*m1*y(2)+w2*m1*y(3)+w3*m1*y(5))/(y(1)+y(2)+y(3)+y(4)+y(5)+y(6))-m2*y(1); dy(2)=p+y(1)*(m1*y(4)+w1*m1*y(2)+w2*m1*y(3)+w3*m1*y(5))/(y(1)+y(2)+y(3)+y(4)+y(5)+y(6))-(u(1:366)+k1+m2).*y(2);---------------------------------错误行 dy(3)=u(1:366).*y(2)-(k2+m2)*y(3); dy(4)=k1*y(2)-(u(367:end)+d1+m3+m2).*y(4); dy(5)=u(367:end).*y(4)+k2*y(3)-(d2+m4+m2)*y(5); dy(6)= m3*y(4)+m4*y(5)-m2*y(6); 主程序为 clear; clc; t=0:365; u=[t./1000+0.1 t./1000+0.1]; y0=[12000000;1565;292;695;326;20]; [t,y]=ode45(@fun1,t,y0); plot(t,y(:,1),'m') matlab提示出现错误: ??? Index exceeds matrix dimensions. Error in ==> fun1 at 10 dy(2)=p+y(1)*(m1*y(4)+w1*m1*y(2)+w2*m1*y(3)+w3*m1*y(5))/(y(1)+y(2)+y(3)+y(4)+y(5)+y(6))-(u(1:366)+k1+m2).*y(2); Error in ==> funfun\private\odearguments at 110 f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0. Error in ==> ode45 at 173 [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ... Error in ==> xuxiang at 6 [t,y]=ode45(@fun1,t,y0); 针对u的两个分量是函数的情况,出现了上面的错误,应该怎么改正,谢谢高手!!!!!!!!!!!! |
![]() |
![]() |
![]() |
#2 |
普通会员
注册日期: 2008-03-25
年龄: 40
帖子: 58
声望力: 19 ![]() |
![]() |
![]() |
![]() |
![]() |
#3 |
游客
帖子: n/a
|
![]() |
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[求助]已知特征多项式,如何通过matlab求解特征向量。 | java125 | MATLAB论坛 | 3 | 2008-06-23 11:09 |
[求助]请帮忙纠错 | LIKAIYU | MATLAB论坛 | 2 | 2008-04-19 13:40 |
[求助]GUI的问题 | shiningshone111 | MATLAB论坛 | 1 | 2008-03-04 16:37 |
【求助】找电子书 | 长沙7喜 | MATLAB论坛 | 0 | 2008-01-16 21:56 |