24小时热门版块排行榜    

查看: 1243  |  回复: 3

lzwangs

银虫 (初入文坛)

[求助] Matlab求解带参数的偏微分方程时出现 out of memory 已有1人参与

求带参数反应扩散方程   \frac{\partial u}{\partial t}=D\frac{\partial^2 u}{\partial t^2}+\mu u(1-u)  , 边界条件为诺依曼边界条件,初值条件见程序附件部分。\mu>0 是参数,用的是后向差分法(本程序解不带参数的方程经过测试完全没有问题)。 程序中将 \mu  设为  syms 格式,最后的数值解中也应该有参数   \mu.  
  问题1:     时间方面迭代不到10次,会出现  out of memory。 原因应该就是引入参数的符号运算和数值运算结合在一起造成的,求问题原因和解决方案?


   问题2:   用了 vpa转换,迭代6次(和目标次数相差太远)的时候不会 out of memory,但求出来的是关于 \mu 的多项式,且没有合并同类项,太长导致计算机无法显示,求解决方案!

       附件中是m代码,请高手留意¥¥¥¥¥¥¥¥¥部分!
      
       诚求高手指点交流!
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : test1.m
  • 2018-05-16 23:40:41, 2.7 K

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

somomo91

专家顾问 (职业作家)

【答案】应助回帖

出现 out of memory 的时候,是你的内存不足
我的测试了,可以超过10次迭代
当然,也许有可能优化结构,

» 本帖已获得的红花(最新10朵)

2楼2018-05-23 01:49:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lzwangs

银虫 (初入文坛)

送红花一朵
引用回帖:
2楼: Originally posted by somomo91 at 2018-05-23 01:49:24
出现 out of memory 的时候,是你的内存不足
我的测试了,可以超过10次迭代
当然,也许有可能优化结构,

我让显示 u(N+1,:)(即关于时间变量最后一节点处的所有值) 的时候,其中的元素(除了边界上的 u(N+1,1)和u(N+1,J+1) 为 0,这是诺依曼边界条件决定的,不需计算),其余项是关于 \mu 的多项式,很多项是二次的(屏幕上能显示出来的部分全是二次),并没有合并同类项,或者舍去系数特别小的项,结果太长(好像超过两万多字符了),光 u(N+1,2)一个值太长而导致屏幕无法全部输出,这应该是是导致 out of memory  的原因(因为涉及多项式的存储),请问有没有好的方法解决这一问题,我知道有人编过这样的程序,人家解的是好几个方程组成的方程组,但是无奈搞不到人家的代码,自己也一直想不到好的解决方案。不知您能否想想有什么好的办法没有?不胜感激!
3楼2018-05-23 09:11:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qqinly

专家顾问 (著名写手)

至人无己,神人无功,圣人无名

学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?
4楼2018-06-16 09:41:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 学员5f6lZH 的主题更新
信息提示
请填处理意见