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

相关推荐
陈奕昆几秒前
n8n实战营Day3课时3:库存物流联动·全流程测试与异常调试
人工智能·python·n8n
serve the people几秒前
tensorflow 零基础吃透:RaggedTensor 在 Keras 和 tf.Example 中的实战用法
人工智能·tensorflow·keras
weixin_45776000几秒前
DefaultCPUAllocator: can‘t allocate memory
python·神经网络
珂朵莉MM3 分钟前
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第3赛季优化题--碳中和
人工智能·算法
测试人社区-小明3 分钟前
测试金字塔的演进:如何构建健康的自动化测试套件
python·测试工具·数据挖掘·pycharm·机器人·github·量子计算
敬往事一杯酒哈5 分钟前
1.3 Ros2快速体验
python·ros2
jinxinyuuuus6 分钟前
AI 硬件助手:LLM的比较推理与自动化决策理由生成
人工智能·自动化
智界前沿6 分钟前
AI数字人公司推荐,集之互动如何在医疗、政务、汽车等关键领域打造“标杆案例”
人工智能·汽车·政务
杨超越luckly7 分钟前
HTML应用指南:利用GET请求获取全国瑞思教育门店位置信息
前端·python·arcgis·html·门店数据
水如烟8 分钟前
孤能子视角:“人本关系线“耦合––焦耳、功率、效率、个人学习
人工智能