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

相关推荐
百***2437几秒前
GPT5.1 vs Claude-Opus-4.5 全维度对比及快速接入实战
大数据·人工智能·gpt
嘻哈baby14 分钟前
为什么越来越多的人放弃Flask转向FastAPI?
python
WLJT12312312324 分钟前
AI懂你,家更暖:重塑生活温度的智能家电新范式
人工智能·生活
ss27328 分钟前
Java并发编程:DelayQueue延迟订单系统
java·python·算法
JHC00000030 分钟前
118. 杨辉三角
python·算法·面试
@游子34 分钟前
Python类属性与魔术方法全解析
开发语言·python
roman_日积跬步-终至千里41 分钟前
【计算机视觉(16)】语义理解-训练神经网络1_激活_预处理_初始化_BN
人工智能·神经网络·计算机视觉
AI营销实验室42 分钟前
原圈科技AI CRM系统引领2025文旅行业智能升级新趋势
人工智能·科技
AI营销前沿44 分钟前
私域AI首倡者韩剑,原圈科技领航AI营销
大数据·人工智能
咚咚王者44 分钟前
人工智能之数学基础 概率论与统计:第一章 基础概念
人工智能·概率论