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

相关推荐
小白开始进步几秒前
USB相机连接与操作:基于OpenCV的完整实现
人工智能·数码相机·opencv
咕噜企业分发小米1 分钟前
阿里云和华为云在AI视频领域有哪些扶持政策?
人工智能·阿里云·华为云
STLearner1 分钟前
2025时空数据研究工作总结
大数据·人工智能·python·深度学习·学习·机器学习·智慧城市
Sui_Network3 分钟前
Sui 2025 年终回顾:支付、BTC 与机构采用篇
大数据·人工智能·物联网·web3·去中心化·区块链
心态特好3 分钟前
DenseNet-121 深度解析
人工智能
zstar-_4 分钟前
FreeTool增加了四个新工具,并新增国内镜像站点
人工智能
2401_841495644 分钟前
自然语言处理实战——基于BP神经网络的命名实体识别
人工智能·python·神经网络·算法·机器学习·自然语言处理·命名实体识别
七夜zippoe4 分钟前
Python元类编程-动态创建类的艺术
python·元类·高级编程·prepare·mro
极客BIM工作室4 分钟前
AI导读AI论文: FinGPT: Open-Source Financial Large Language Models
人工智能·语言模型·自然语言处理
咕噜企业分发小米6 分钟前
阿里云和华为云在人工智能领域有哪些扶持政策?
人工智能·阿里云·华为云