声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3859|回复: 3

[编程技巧] bvp4c求边值问题,出错,请教各位

[复制链接]
发表于 2015-10-22 20:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本人用bvp4c求解图片中所示边值问题,为何报错:

警告: 不使用 2500 个以上的网格点,无法满足公差要求。
输出参数中提供了最后一个 10000 点网格与解。
最大残差为 1.38873,但所要求的准确度为 0.001。



请教各位,先谢谢了

主程序:
  1. solinit = bvpinit(linspace(0,1,10000),[-0.5,0.5,0.5,0.5]);
  2. sol = bvp4c(@fourode,@fourbc,solinit);
复制代码
fourode:
  1. function dydx = fourode(x,y)
  2. dydx = [- y(3);y(1);- y(4);-0.64/(1 - 8*y(2))^2];
复制代码
fourbc:

  1. function res = fourbc(y0,y1)
  2. res = [y0(1) - 1;y0(2);y1(1) + 1;y1(2)];
复制代码


problem.jpg
回复
分享到:

使用道具 举报

发表于 2015-10-22 21:17 | 显示全部楼层
bvpset
试试降低精度,提高最大网格数看看
发表于 2015-10-23 09:35 | 显示全部楼层
调整初值看看是否能够收敛
 楼主| 发表于 2015-10-24 20:56 | 显示全部楼层
本帖最后由 djchen93 于 2015-10-24 20:57 编辑

我试着增加网格后该警告就消失了,运行正常,貌似已解决,感谢帮助
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-29 04:04 , Processed in 0.079013 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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