python数值误差

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

python 复制代码
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。先除再乘的话,数学逻辑上一样,但是如果一个很小的数,除以一个很大的数,会有舍入误差。所以先乘再除。

相关推荐
FreakStudio6 分钟前
一文速通 Python 并行计算:教程总结
python·pycharm·嵌入式·面向对象·并行计算
群联云防护小杜10 分钟前
从一次 DDoS 的“死亡回放”看现代攻击链的进化
开发语言·python·linq
xiaok14 分钟前
docker network create langbot-network这条命令在dify输入还是在langbot中输入
人工智能
Ice__Cai14 分钟前
Flask 入门详解:从零开始构建 Web 应用
后端·python·flask·数据类型
霸敛15 分钟前
好家园房产中介网后台管理完整(python+flask+mysql)
开发语言·python·flask
HenryLin16 分钟前
SHAP值的核心概念
python
It_张16 分钟前
LLM(大语言模型)的工作原理 图文讲解
人工智能·语言模型·自然语言处理
Darach18 分钟前
坐姿检测Python实现
人工智能·python
xiaok19 分钟前
LangBot 和消息平台均运行在 Docker 容器中
人工智能
Ice__Cai19 分钟前
Flask 之 Request 对象详解:全面掌握请求数据处理
后端·python·flask·request·python web框架