查看单个帖子
旧 2008-09-22, 11:18   #1
kornberg
初级会员
 
注册日期: 2008-08-05
年龄: 42
帖子: 20
声望力: 17
kornberg 正向着好的方向发展
默认 [讨论]用matlab求解数值积分

用matlab求解数值积分


函数:
function du=eqns2(x,u)
du=zeros(4,1);
du(1)=u(2);
du(2)=u(3);
du(3)=u(4);
du(4)=-3/[u(2)*u(4)/u(1)-u(3)/u(1)^4+u(2)^2/u(1)^5-...
1/((u(1)+1)*u(1)^3)];

命令窗口:
y0=[1 0 0 0];
[x,num_y2]=ode45('eqns2',[0,10],y0);


我想求num_y2(:,1)(也就是u(x))在区间[0,10]的积分
怎么办? 怎么写函数?



用quad计算积分,需要给出函数名,
I=quad('num_y2(:,1)',1,10) 这样写就出错了
kornberg 当前离线   回复时引用此帖