用拟合来简化规范公式

liftword4个月前 (01-11)技术文章26

简化计算时,拟合是一个好帮手。

规范公式拟合的例子

《GB 50009-2012:建筑结构荷载规范》第8.4.6条。

脉动风荷载水平方向相关系数:

脉动风荷载竖直方向相关系数:

相比规范公式,拟合公式更容易看出变量之间的变化关系,比如增加时,增加或减少的快慢程度,如果快慢程度大,可以称对敏感,计算时应予重视,反之不敏感,可以简化处理或者忽略。

如何拟合?

方法1:Excel

方法2:Python

import numpy as np
import matplotlib.pyplot as plt

# datas
x = np.linspace(100, 400, 41)
y = 10 * np.sqrt(x + 60*np.exp(-x/60) -60 ) / x

# fit with polynominal of order 2
coeffs = np.polyfit(x, y, 1)
print("Polynominal coefficients are", coeffs)

# plot
plt.plot(x, y, label='original')
plt.plot(x, -x/1250 + 0.77,'.', label='fit')
ax = plt.gca()
ax.set_title("Coefficient")
ax.set_xlabel("Height(m)")
ax.legend(loc ="upper right")
ax.grid(True)
plt.show()

小结

  • 拟合可以用来简化计算,发现主要影响因素。

事实上,规范上很多公式也是拟合得到的,二次拟合掺入了一点个人的理解和喜好。

  • 从个人阅历来说,结构计算中用到公式,一般具有单调、受限等特点,适合用简单的函数进行拟合。

反过来说,如果计算公式非常复杂或不具有以上特点,而结果对相关因素又异常敏感,考虑到结构假定的粗糙性,直接应用由此计算出的结果是鲁莽的,这样的公式也是不实用的。

相关文章

PYTHON如何实现曲线平滑(附代码)

在 Python 中,可以通过移动平均法、高斯滤波、 Savitzky-Golay 滤波来实现曲线平滑。下面用python分别实现了曲线平滑。1.移动平均法(Moving Average)原理:移动平...

用Python的numpy库进行线性拟合或者多项式拟合

在前文中,笔者使用最小二乘法矩阵计算进行数据的线性拟合其实有更简单的方法:用Python的numpy中的polyfit函数直接进行线性拟合或者用numpy中的polyfit和poly1d进行多项式拟合...

SPC相关的计算用excel和python实现【源码下载】

做SPC分析涉及到很多计算,比如CPK、PPK、概率图、PPM等等,网上很多公式,但具体实现却不是那么容易的。我们整理了这些用excel和python实现的代码。包括但不限于以下的内容:SPC分析中的...

数据分析-对数回归分析Python

昨天开始回归系列的第一篇,是最简单的一元线性回归。除了线形关系,还有各种非线性关系,比如指数关系、对数关系、多项式关系,这些都要使用对相应的数据变换后才能进行分析。今天就从对数分析开始,来进行演示说明...

数据分析知识体系及实践(十)- 推断性统计的Python实现

数据分析知识体系及实践(七)和数据分析知识体系及实践(八)介绍了数据的分类、统计学是什么、以及统计学知识的大分类,数据分析知识体系及实践(九)介绍了描述性统计的Python实现,本篇我们重点介绍推断性...

OpenCV(27)——轮廓拟合

前言在计算轮廓时,可能并不需要实际的轮廓,而仅需要一个接近于轮廓的近似多边形。比如矩形其实都是差不多的轮廓,都是长宽不相等且平行的四边形,那么只要提供一个近似的轮廓,我们就可以区分形状。在OpenCV...