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

相关推荐
火山引擎开发者社区几秒前
扣子×飞书深度打通!自带浏览器的 OpenClaw,一键领养!
人工智能
挂科边缘2 分钟前
Transformer模型理论介绍
人工智能·深度学习·transformer
雨落Liy2 分钟前
谈谈我与AI的这几年
人工智能·程序人生·生活
开放知识图谱3 分钟前
论文浅尝 | 基于知识图谱的检索增强生成是否真的能检索到你需要的内容?(NeurIPS2025)
人工智能·知识图谱
AEIC学术交流中心6 分钟前
【快速EI检索 | SPIE出版】2026年机器学习与嵌入式系统国际学术会议(MLES 2026)
人工智能·机器学习
marteker7 分钟前
Facebook Marketplace增添人工智能驱动的新功能
人工智能·facebook
β添砖java8 分钟前
深度学习(3)矩阵计算、求导
人工智能·深度学习
Lethehong8 分钟前
想掌握全球实时态势?手把手教你部署开源情报工具 World Monitor
人工智能·开源
卡梅德生物科技8 分钟前
卡梅德生物科普:CD140a(PDGFRα)靶点深度解析:机制、药物研发与未来趋势
大数据·人工智能·面试·职场和发展·学习方法
火山引擎开发者社区8 分钟前
看清 OpenClaw 每一步:扣子罗盘Trace 全新上线
人工智能