微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用高阶近似的二阶导数有限差分

如何解决使用高阶近似的二阶导数有限差分

这里是新手。

我正在尝试实现二阶导数的高阶近似。

等式在图像中

enter image description here

使用这种方法二阶工作正常

cte1 = hxv**2
cte2 = hyv**2
cte3 = cte1*cte2
cte4 = cte1 + cte2

uxxp = (pd[2:,1:-1] + pd[:-2,1:-1])*cte1
uyyp = (pd[1:-1,2:] + pd[1:-1,:-2])*cte2

bp   = b[1:-1,1:-1]*cte3

p[1:-1,1:-1] = (uxxp + uyyp - bp)/(2*cte4)
     
         
p[0,:]      = 0
p[nptx-1,:] = 0
p[:,0]      = 0
p[:,npty-1] = 0

但是,当我尝试像 8th 这样的更高阶时,它不适用于 uxxp 和 uyyp

uxxp =  (8/5*pd[2:,1:-1] + 8/5*pd[:-2,1:-1]- 1/5*pd[3:,1:-1] - 1/5*pd[:-3,1:-1] + 8/315*pd[4:,1:-1] + 8/315*pd[:-4,1:-1] -1/560*pd[5:,1:-1]-1/560*pd[:-5,1:-1])*cte2

uyyp =  (8/5*pd[1:-1,2:] + 8/5*pd[1:-1,:-2] - 1/5*pd[1:-1,3:] - 1/5*pd[1:-1,:-3] + 8/315*pd[1:-1,4:] +8/315*pd[1:-1,:-4] -1/560*pd[1:-1,5:]-1/560*pd[1:-1,:-5])*cte1

它说这个错误操作数不能与形状一起广播 (399,399) (398,399)

你们有什么建议吗?

最好的, 拉斐尔

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。