当前位置: 首页 > news >正文

python数值误差

最近在用fenics框架跑有限元代码,其中有一个部分是把在矩阵里定义的初始值,赋值到有限元空间里,这就涉及到了初始矩阵和有限元空间坐标的转化,部分代码如下

for i in range(len(dof_coordinates)):#     x, y = dof_coordinates[i]#原本的区间是0到physical_length的,根据num_grids_per_axis长度进行缩放.# ix, iy = min(int(x / physical_length * (num_grids_per_axis - 1)), num_grids_per_axis - 1), min(int(y / physical_length * (num_grids_per_axis - 1)), num_grids_per_axis - 1)ix, iy = min(int(x * (num_grids_per_axis - 1) / physical_length), num_grids_per_axis - 1), min(int(y * (num_grids_per_axis - 1) / physical_length), num_grids_per_axis - 1)

这里有一点需要注意:

x要先和num_grids_per_axis相乘,然后再除以physical_length。先除再乘的话,数学逻辑上一样,但是如果一个很小的数,除以一个很大的数,会有舍入误差。所以先乘再除。


http://www.mrgr.cn/news/21249.html

相关文章:

  • CNN-LSTM模型中应用贝叶斯推断进行时间序列预测
  • AFSim仿真系统---向导参考指南 (1)
  • MySQL 触发器
  • WEB渗透Linux提权篇-MYSQL漏洞提权
  • 第十三届山东省ICPC
  • 关于STM32 使用 LVGL 及 DMA2D 必须知道的事
  • 【C语言】---- for循环函数
  • java工程师成功转型大数据
  • 会议《测试团队过程改进实践分享》记录
  • C# 四种方法去除字符串最后一个字符
  • C#中的类
  • Android Studio打开Modem模块出现:The project ‘***‘ is not a Gradle-based project
  • gcn(从空间域理解)
  • Java中实现消息告警推送的几种方式
  • 《C++进阶之路:探寻预处理宏的替代方案》
  • 2024数学建模国赛B题代码
  • 热老化的行业应用
  • 如何在Selenium中捕获网络请求响应
  • Hive是什么?
  • docker基础知识-docker0网桥