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

相关推荐
wechatbot8884 分钟前
企业微信 AI 自动化运营:RPA 与 API 方案效果实测
人工智能·微信·自动化·企业微信·rpa
tyqtyq226 分钟前
HarmonyOS AI 应用开发实战:考研择校分析系统
人工智能·学习·考研·华为·生活·harmonyos
tntxia11 分钟前
BERT 简介
人工智能
「QT(C++)开发工程师」14 分钟前
AI Agent 核心组件
人工智能·ai·aigc·ai编程·ai写作
Jlzn888824 分钟前
激光焊接+AI视觉检测:解码CCS集成产线里的“隐形质量官”
人工智能
cui_ruicheng28 分钟前
Python从入门到实战(十三):模块、包与环境管理
开发语言·python
海兰33 分钟前
【实用程序】网页公开信息智能采集系统详细设计指南
人工智能·学习·自动化·采集信息
凌杰35 分钟前
AI 学习笔记: 深度学习的训练与评估
人工智能
jijihusong00644 分钟前
KMP全栈开发教程:从Android到AI Agent
android·人工智能
薛定e的猫咪1 小时前
【模型推理】深度学习模型部署核心:算子Lower拆解、计算图优化与PNNX源码解析
人工智能·深度学习