查看: 1058|回复: 3|关注: 0

[已解决] ode45解方程组 函数值输出问题

[复制链接]

新手

16 麦片

财富积分


050


4

主题

16

帖子

0

最佳答案
[t,Tp]=ode45(fun4,[a b],Tp0);
Tp=Tp(end);

之前解单个方程,完事将定义域最大值出函数值输出,用上述方法,因为定义域范围是变化的。
现在解方程组

dy(1)=12*vis*(ug-y(1))/denp/dp^2+g*(denp-deng)/denp;
dy(2)=A*exp(-Ea/Rg/y(3))*3*(C0-Ce)*(1+K)/(dp/2)/deno/K*(1-y(2))^(2/3);
dy(3)=(h*Ap*(T-y(3))-fh*dy(4);
dy(4)=-wo*mp0dy(2);
[t,y]=ode45(@(t,y) odefcn,[a b],[up0,R0,Tp0,mp0]);
up=y(1)(end);
R=y(2)(end);
Tp=y(3)(end);
mp=y(4)(end);

输出时,提示
错误: ()-索引必须显示在索引表达式的最后。

那想输出定义域右端,也就是b点时各函数值,该怎么写

各位大神求指教

入门

81 麦片

财富积分


50500


0

主题

215

帖子

17

最佳答案
  • 关注者: 1
发表于 2017-11-14 20:47:18 | 显示全部楼层 |此回复为最佳答案
改成这样
up=y(1,end);
R=y(2,end);
Tp=y(3,end);
mp=y(4,end);

新手

16 麦片

财富积分


050


4

主题

16

帖子

0

最佳答案
 楼主| 发表于 2017-11-14 21:21:59 | 显示全部楼层
wjb986555360 发表于 2017-11-14 20:47
改成这样
up=y(1,end);
R=y(2,end);

十分感谢

新手

5 麦片

财富积分


050


1

主题

5

帖子

0

最佳答案
发表于 2018-3-22 20:23:38 | 显示全部楼层
您好,请问在ode45()使用过程中有没有遇到——————————   
警告: 在 t=1.500000e+02 处失败。在时间 t 处,若不将步长降至允许的最小值(4.547474e-13)以下,积分公差要求无法满足。   
————————这样的错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表