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

相关推荐
zxsz_com_cn3 分钟前
设备预测性维护优势全景解读:安全、降本、增效与可量化ROI
人工智能
爬点儿啥4 分钟前
[Ai Agent] 13 用 Streamlit 为 Agents SDK 打造可视化“驾驶舱”
人工智能·ai·状态模式·agent·streamlit·智能体
机器学习算法与Python实战6 分钟前
腾讯翻译大模型,手机可运行
人工智能
木昆子6 分钟前
AI Agent案例实践:三种智能体开发模式详解之一(手写代码)
后端·python
百***58846 分钟前
MATLAB高效算法实战技术文章大纲1
人工智能·算法·matlab
JosieBook6 分钟前
【心理】心理咨询实战技术框架(zengfuyun)
网络·数据库·人工智能
百度智能云技术站6 分钟前
百度百舸面向百度天池超节点的大模型推理引擎优化,持续降低昆仑芯 XPU 的 token 成本
人工智能
byzh_rc14 分钟前
[机器学习-从入门到入土] 计算学习理论
人工智能·学习·机器学习
水如烟15 分钟前
孤能子视角:人工智能十一条关系线图谱
人工智能