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

相关推荐
维度攻城狮3 小时前
ros2参数通信案例
开发语言·windows·python·ros2·参数通信
深圳佛手3 小时前
不用智能体开发框架,如何调用工具?
前端·python
清水白石0083 小时前
Python 与尾递归:为何不优化?如何优雅绕过?
开发语言·python
zhengfei6113 小时前
AI渗透工具——AI驱动的自动化渗透测试框架 | 基于 Model Context Protocol (MCP) 架构
人工智能·架构·自动化
王大傻09283 小时前
使用python for循环与ord() + chr()实现字符串加密
开发语言·python
袁庭新3 小时前
2025年终总结,智启
人工智能·aigc
540_5403 小时前
ADVANCE Day35
人工智能·python·深度学习
百***07453 小时前
Claude Opus 4.5 场景化实战指南:全链路赋能开发,提升效率翻倍
人工智能·gpt·开源
沛沛rh453 小时前
深度学习0基础入门:从人工规则到神经网络的进化之旅
人工智能·深度学习·神经网络
hk11243 小时前
【Quantum/Chaos】2026年度量子混沌模拟与社会技术系统演化基准索引 (Socio-Technical Benchmark)
人工智能·网络安全·系统架构·数据集·量子计算