导航:首页 > 物理学科 > 物理模型如何进行参数调整

物理模型如何进行参数调整

发布时间:2022-07-07 11:01:48

① 物理或化学参数改变原理的具体措施包括哪些内容

1.改变物体的物理状态;
2.改变物体的浓度或密度;
3.改变物体的柔软性;
4.改变温度。

参数,也叫参变量,是一个变量。 我们在研究当前问题的时候,关心某几个变量的变化以及它们之间的相互关系,其中有一个或一些叫自变量,另一个或另一些叫因变量。如果我们引入一个或一些另外的变量来描述自变量与因变量的变化,引入的变量本来并不是当前问题必须研究的变量,我们把这样的变量叫做参变量或参数。

② 如何对XGBoost模型进行参数调优

XGBoost参数调优完全指南(附Python代码)


译注:文内提供的代码和运行结果有一定差异,可以从这里下载完整代码对照参考。另外,我自己跟着教程做的时候,发现我的库无法解析字符串类型的特征,所以只用其中一部分特征做的,具体数值跟文章中不一样,反而可以帮助理解文章。所以大家其实也可以小小修改一下代码,不一定要完全跟着教程做~ ^0^
需要提前安装好的库:

简介

如果你的预测模型表现得有些不尽如人意,那就用XGBoost吧。XGBoost算法现在已经成为很多数据工程师的重要武器。它是一种十分精致的算法,可以处理各种不规则的数据。
构造一个使用XGBoost的模型十分简单。但是,提高这个模型的表现就有些困难(至少我觉得十分纠结)。这个算法使用了好几个参数。所以为了提高模型的表现,参数的调整十分必要。在解决实际问题的时候,有些问题是很难回答的——你需要调整哪些参数?这些参数要调到什么值,才能达到理想的输出?
这篇文章最适合刚刚接触XGBoost的人阅读。在这篇文章中,我们会学到参数调优的技巧,以及XGboost相关的一些有用的知识。以及,我们会用Python在一个数据集上实践一下这个算法。

你需要知道的

XGBoost(eXtreme Gradient Boosting)是Gradient Boosting算法的一个优化的版本。

特别鸣谢:我个人十分感谢Mr Sudalai Rajkumar (aka SRK)大神的支持,目前他在AV Rank中位列第二。如果没有他的帮助,就没有这篇文章。在他的帮助下,我们才能给无数的数据科学家指点迷津。给他一个大大的赞!

内容列表

1、XGBoost的优势
2、理解XGBoost的参数
3、调整参数(含示例)

1、XGBoost的优势

XGBoost算法可以给预测模型带来能力的提升。当我对它的表现有更多了解的时候,当我对它的高准确率背后的原理有更多了解的时候,我发现它具有很多优势:

1、正则化

标准GBM的实现没有像XGBoost这样的正则化步骤。正则化对减少过拟合也是有帮助的。 实际上,XGBoost以“正则化提升(regularized boosting)”技术而闻名。

2、并行处理

XGBoost可以实现并行处理,相比GBM有了速度的飞跃。 不过,众所周知,Boosting算法是顺序处理的,它怎么可能并行呢?每一课树的构造都依赖于前一棵树,那具体是什么让我们能用多核处理器去构造一个树呢?我希望你理解了这句话的意思。XGBoost 也支持Hadoop实现。

3、高度的灵活性

XGBoost 允许用户定义自定义优化目标和评价标准它对模型增加了一个全新的维度,所以我们的处理不会受到任何限制。

4、缺失值处理

XGBoost内置处理缺失值的规则。 用户需要提供一个和其它样本不同的值,然后把它作为一个参数传进去,以此来作为缺失值的取值。XGBoost在不同节点遇到缺失值时采用不同的处理方法,并且会学习未来遇到缺失值时的处理方法。

5、剪枝

当分裂时遇到一个负损失时,GBM会停止分裂。因此GBM实际上是一个贪心算法。 XGBoost会一直分裂到指定的最大深度(max_depth),然后回过头来剪枝。如果某个节点之后不再有正值,它会去除这个分裂。 这种做法的优点,当一个负损失(如-2)后面有个正损失(如+10)的时候,就显现出来了。GBM会在-2处停下来,因为它遇到了一个负值。但是XGBoost会继续分裂,然后发现这两个分裂综合起来会得到+8,因此会保留这两个分裂。

6、内置交叉验证

XGBoost允许在每一轮boosting迭代中使用交叉验证。因此,可以方便地获得最优boosting迭代次数。 而GBM使用网格搜索,只能检测有限个值。

7、在已有的模型基础上继续

XGBoost可以在上一轮的结果上继续训练。这个特性在某些特定的应用上是一个巨大的优势。 sklearn中的GBM的实现也有这个功能,两种算法在这一点上是一致的。

相信你已经对XGBoost强大的功能有了点概念。注意这是我自己总结出来的几点,你如果有更多的想法,尽管在下面评论指出,我会更新这个列表的!

2、XGBoost的参数

XGBoost的作者把所有的参数分成了三类:
1、通用参数:宏观函数控制。
2、Booster参数:控制每一步的booster(tree/regression)。
3、学习目标参数:控制训练目标的表现。
在这里我会类比GBM来讲解,所以作为一种基础知识

通用参数

这些参数用来控制XGBoost的宏观功能。

1、booster[默认gbtree]

选择每次迭代的模型,有两种选择:
gbtree:基于树的模型
gbliner:线性模型

2、silent[默认0]

当这个参数值为1时,静默模式开启,不会输出任何信息。 一般这个参数就保持默认的0,因为这样能帮我们更好地理解模型。

3、nthread[默认值为最大可能的线程数]

这个参数用来进行多线程控制,应当输入系统的核数。 如果你希望使用CPU全部的核,那就不要输入这个参数,算法会自动检测它。
还有两个参数,XGBoost会自动设置,目前你不用管它。接下来咱们一起看booster参数。

booster参数

尽管有两种booster可供选择,我这里只介绍tree booster,因为它的表现远远胜过linear booster,所以linear booster很少用到。

1、eta[默认0.3]

和GBM中的 learning rate 参数类似。 通过减少每一步的权重,可以提高模型的鲁棒性。 典型值为0.01-0.2。

2、min_child_weight[默认1]

决定最小叶子节点样本权重和。 和GBM的 min_child_leaf 参数类似,但不完全一样。XGBoost的这个参数是最小样本权重的和,而GBM参数是最小样本总数。 这个参数用于避免过拟合。当它的值较大时,可以避免模型学习到局部的特殊样本。 但是如果这个值过高,会导致欠拟合。这个参数需要使用CV来调整。

3、max_depth[默认6]

和GBM中的参数相同,这个值为树的最大深度。 这个值也是用来避免过拟合的。max_depth越大,模型会学到更具体更局部的样本。 需要使用CV函数来进行调优。 典型值:3-10

4、max_leaf_nodes

树上最大的节点或叶子的数量。 可以替代max_depth的作用。因为如果生成的是二叉树,一个深度为n的树最多生成

n2

个叶子。 如果定义了这个参数,GBM会忽略max_depth参数。

5、gamma[默认0]

在节点分裂时,只有分裂后损失函数的值下降了,才会分裂这个节点。Gamma指定了节点分裂所需的最小损失函数下降值。 这个参数的值越大,算法越保守。这个参数的值和损失函数息息相关,所以是需要调整的。

6、max_delta_step[默认0]

这参数限制每棵树权重改变的最大步长。如果这个参数的值为0,那就意味着没有约束。如果它被赋予了某个正值,那么它会让这个算法更加保守。 通常,这个参数不需要设置。但是当各类别的样本十分不平衡时,它对逻辑回归是很有帮助的。 这个参数一般用不到,但是你可以挖掘出来它更多的用处。

7、subsample[默认1]

和GBM中的subsample参数一模一样。这个参数控制对于每棵树,随机采样的比例。 减小这个参数的值,算法会更加保守,避免过拟合。但是,如果这个值设置得过小,它可能会导致欠拟合。 典型值:0.5-1

8、colsample_bytree[默认1]

和GBM里面的max_features参数类似。用来控制每棵随机采样的列数的占比(每一列是一个特征)。 典型值:0.5-1

9、colsample_bylevel[默认1]

用来控制树的每一级的每一次分裂,对列数的采样的占比。 我个人一般不太用这个参数,因为subsample参数和colsample_bytree参数可以起到相同的作用。但是如果感兴趣,可以挖掘这个参数更多的用处。

10、lambda[默认1]

权重的L2正则化项。(和Ridge regression类似)。 这个参数是用来控制XGBoost的正则化部分的。虽然大部分数据科学家很少用到这个参数,但是这个参数在减少过拟合上还是可以挖掘出更多用处的。

11、alpha[默认1]

权重的L1正则化项。(和Lasso regression类似)。 可以应用在很高维度的情况下,使得算法的速度更快。

12、scale_pos_weight[默认1]

在各类别样本十分不平衡时,把这个参数设定为一个正值,可以使算法更快收敛。

学习目标参数

这个参数用来控制理想的优化目标和每一步结果的度量方法。

1、objective[默认reg:linear]

这个参数定义需要被最小化的损失函数。最常用的值有:
binary:logistic 二分类的逻辑回归,返回预测的概率(不是类别)。 multi:softmax 使用softmax的多分类器,返回预测的类别(不是概率)。
在这种情况下,你还需要多设一个参数:num_class(类别数目)。 multi:softprob 和multi:softmax参数一样,但是返回的是每个数据属于各个类别的概率。

2、eval_metric[默认值取决于objective参数的取值]

对于有效数据的度量方法。 对于回归问题,默认值是rmse,对于分类问题,默认值是error。 典型值有:
rmse 均方根误差(

∑Ni=1?2N??????√

) mae 平均绝对误差(

∑Ni=1|?|N

) logloss 负对数似然函数值 error 二分类错误率(阈值为0.5) merror 多分类错误率 mlogloss 多分类logloss损失函数 auc 曲线下面积

3、seed(默认0)

随机数的种子 设置它可以复现随机数据的结果,也可以用于调整参数

如果你之前用的是Scikit-learn,你可能不太熟悉这些参数。但是有个好消息,python的XGBoost模块有一个sklearn包,XGBClassifier。这个包中的参数是按sklearn风格命名的。会改变的函数名是:
1、eta ->learning_rate
2、lambda->reg_lambda
3、alpha->reg_alpha
你肯定在疑惑为啥咱们没有介绍和GBM中的’n_estimators’类似的参数。XGBClassifier中确实有一个类似的参数,但是,是在标准XGBoost实现中调用拟合函数时,把它作为’num_boosting_rounds’参数传入。

调整参数(含示例)

我已经对这些数据进行了一些处理:

City变量,因为类别太多,所以删掉了一些类别。 DOB变量换算成年龄,并删除了一些数据。 增加了 EMI_Loan_Submitted_Missing 变量。如果EMI_Loan_Submitted变量的数据缺失,则这个参数的值为1。否则为0。删除了原先的EMI_Loan_Submitted变量。 EmployerName变量,因为类别太多,所以删掉了一些类别。 因为Existing_EMI变量只有111个值缺失,所以缺失值补充为中位数0。 增加了 Interest_Rate_Missing 变量。如果Interest_Rate变量的数据缺失,则这个参数的值为1。否则为0。删除了原先的Interest_Rate变量。 删除了Lead_Creation_Date,从直觉上这个特征就对最终结果没什么帮助。 Loan_Amount_Applied, Loan_Tenure_Applied 两个变量的缺项用中位数补足。 增加了 Loan_Amount_Submitted_Missing 变量。如果Loan_Amount_Submitted变量的数据缺失,则这个参数的值为1。否则为0。删除了原先的Loan_Amount_Submitted变量。 增加了 Loan_Tenure_Submitted_Missing 变量。如果 Loan_Tenure_Submitted 变量的数据缺失,则这个参数的值为1。否则为0。删除了原先的 Loan_Tenure_Submitted 变量。 删除了LoggedIn, Salary_Account 两个变量 增加了 Processing_Fee_Missing 变量。如果 Processing_Fee 变量的数据缺失,则这个参数的值为1。否则为0。删除了原先的 Processing_Fee 变量。 Source前两位不变,其它分成不同的类别。 进行了量化和独热编码(一位有效编码)。

如果你有原始数据,可以从资源库里面下载data_preparation的Ipython notebook 文件,然后自己过一遍这些步骤。

首先,import必要的库,然后加载数据。

#Import libraries:
import pandas as pd
import numpy as np
import xgboost as xgb
from xgboost.sklearn import XGBClassifier
from sklearn import cross_validation, metrics #Additional scklearn functions
from sklearn.grid_search import GridSearchCV #Perforing grid search

import matplotlib.pylab as plt
%matplotlib inline
from matplotlib.pylab import rcParams
rcParams['figure.figsize'] = 12, 4

train = pd.read_csv('train_modified.csv')
target = 'Disbursed'
IDcol = 'ID'

注意我import了两种XGBoost:

xgb - 直接引用xgboost。接下来会用到其中的“cv”函数。 XGBClassifier - 是xgboost的sklearn包。这个包允许我们像GBM一样使用Grid Search 和并行处理。

在向下进行之前,我们先定义一个函数,它可以帮助我们建立XGBoost models 并进行交叉验证。好消息是你可以直接用下面的函数,以后再自己的models中也可以使用它。

def modelfit(alg, dtrain, predictors,useTrainCV=True, cv_folds=5, early_stopping_rounds=50):
if useTrainCV:
xgb_param = alg.get_xgb_params()
xgtrain = xgb.DMatrix(dtrain[predictors].values, label=dtrain[target].values)
cvresult = xgb.cv(xgb_param, xgtrain, num_boost_round=alg.get_params()['n_estimators'], nfold=cv_folds,
metrics='auc', early_stopping_rounds=early_stopping_rounds, show_progress=False)
alg.set_params(n_estimators=cvresult.shape[0])

#Fit the algorithm on the data
alg.fit(dtrain[predictors], dtrain['Disbursed'],eval_metric='auc')

#Predict training set:
dtrain_predictions = alg.predict(dtrain[predictors])
dtrain_predprob = alg.predict_proba(dtrain[predictors])[:,1]

#Print model report:
print " Model Report"
print "Accuracy : %.4g" % metrics.accuracy_score(dtrain['Disbursed'].values, dtrain_predictions)
print "AUC Score (Train): %f" % metrics.roc_auc_score(dtrain['Disbursed'], dtrain_predprob)

feat_imp = pd.Series(alg.booster().get_fscore()).sort_values(ascending=False)
feat_imp.plot(kind='bar', title='Feature Importances')
plt.ylabel('Feature Importance Score')

这个函数和GBM中使用的有些许不同。不过本文章的重点是讲解重要的概念,而不是写代码。如果哪里有不理解的地方,请在下面评论,不要有压力。注意xgboost的sklearn包没有“feature_importance”这个量度,但是get_fscore()函数有相同的功能。

参数调优的一般方法。

我们会使用和GBM中相似的方法。需要进行如下步骤:
1. 选择较高的学习速率(learning rate)。一般情况下,学习速率的值为0.1。但是,对于不同的问题,理想的学习速率有时候会在0.05到0.3之间波动。选择对应于此学习速率的理想决策树数量。XGBoost有一个很有用的函数“cv”,这个函数可以在每一次迭代中使用交叉验证,并返回理想的决策树数量。
2. 对于给定的学习速率和决策树数量,进行决策树特定参数调优(max_depth, min_child_weight, gamma, subsample, colsample_bytree)。在确定一棵树的过程中,我们可以选择不同的参数,待会儿我会举例说明。
3. xgboost的正则化参数的调优。(lambda, alpha)。这些参数可以降低模型的复杂度,从而提高模型的表现。
4. 降低学习速率,确定理想参数。

咱们一起详细地一步步进行这些操作。

第一步:确定学习速率和tree_based 参数调优的估计器数目。

为了确定boosting 参数,我们要先给其它参数一个初始值。咱们先按如下方法取值:
1、max_depth = 5 :这个参数的取值最好在3-10之间。我选的起始值为5,但是你也可以选择其它的值。起始值在4-6之间都是不错的选择。
2、min_child_weight = 1:在这里选了一个比较小的值,因为这是一个极不平衡的分类问题。因此,某些叶子节点下的值会比较小。
3、gamma = 0: 起始值也可以选其它比较小的值,在0.1到0.2之间就可以。这个参数后继也是要调整的。
4、subsample,colsample_bytree = 0.8: 这个是最常见的初始值了。典型值的范围在0.5-0.9之间。
5、scale_pos_weight = 1: 这个值是因为类别十分不平衡。
注意哦,上面这些参数的值只是一个初始的估计值,后继需要调优。这里把学习速率就设成默认的0.1。然后用xgboost中的cv函数来确定最佳的决策树数量。前文中的函数可以完成这个工作。

#Choose all predictors except target & IDcols
predictors = [x for x in train.columns if x not in [target,IDcol]]
xgb1 = XGBClassifier(
learning_rate =0.1,
n_estimators=1000,
max_depth=5,
min_child_weight=1,
gamma=0,
subsample=0.8,
colsample_bytree=0.8,
objective= 'binary:logistic',
nthread=4,
scale_pos_weight=1,
seed=27)
modelfit(xgb1, train, predictors)

从输出结果可以看出,在学习速率为0.1时,理想的决策树数目是140。这个数字对你而言可能比较高,当然这也取决于你的系统的性能。

注意:在AUC(test)这里你可以看到测试集的AUC值。但是如果你在自己的系统上运行这些命令,并不会出现这个值。因为数据并不公开。这里提供的值仅供参考。生成这个值的代码部分已经被删掉了。<㖞�"/kf/ware/vc/" target="_blank" class="keylink">="第二步-maxdepth-和-minweight-参数调优">第二步: max_depth 和 min_weight 参数调优

我们先对这两个参数调优,是因为它们对最终结果有很大的影响。首先,我们先大范围地粗调参数,然后再小范围地微调。
注意:在这一节我会进行高负荷的栅格搜索(grid search),这个过程大约需要15-30分钟甚至更久,具体取决于你系统的性能。你也可以根据自己系统的性能选择不同的值。

param_test1 = {
'max_depth':range(3,10,2),
'min_child_weight':range(1,6,2)
}
gsearch1 = GridSearchCV(estimator = XGBClassifier( learning_rate =0.1, n_estimators=140, max_depth=5,
min_child_weight=1, gamma=0, subsample=0.8, colsample_bytree=0.8,
objective= 'binary:logistic', nthread=4, scale_pos_weight=1, seed=27),
param_grid = param_test1, scoring='roc_auc',n_jobs=4,iid=False, cv=5)
gsearch1.fit(train[predictors],train[target])
gsearch1.grid_scores_, gsearch1.best_params_, gsearch1.best_score_

③ VR里的物理相机参数是怎么调的

VR的摄像机最重要的有三个参数是光圈,快门,和ISO感光。

光圈光圈参数越大的时候场景就越亮,甚至会有曝光过度的可能的, 反之场景就会越暗.所以是可以利用VR物理相机来提高场景的亮度。

快门参数越低暴光的时间就越长,越亮,,数越高暴光时间越短,也越暗,不过你的场景如果相当大的话,你就必须把光圈的值降低才行的。

胶片速度参数越大,场景就越亮,反之越暗。白天100-200,晚上300-400。

(3)物理模型如何进行参数调整扩展阅读:

相机的基本原理是很简单的,就是在一个封闭的区域内有一个小孔,光线通过小孔照射到内部的感光材料(胶片)中就可以形成图像。

图像的效果和孔(后面所说的孔径就指的这个孔)的大小与孔所通过的光的多少有关,孔越大光线就越多,在感光材料(胶片)上所得到的潜影也就越暗,最终形成的图像就越亮。

当然,图像的亮度也与感光材料(胶片)接收光的时间长短有关,接收光线的时间越长,在感光材料(胶片)上所得到的潜影也就越暗,最终形成的图像也越亮。

参考资料来源:网络——VR摄影

④ 物理模型数学模型概念模型区别

一、特征上的区别:

1、物理模型

以实物或画图形式直观的表达认识对象的特征

在数据仓库项目中,物理模型设计和业务模型设计象两个轮子一样有力地支撑着数据仓库的实施,两者并行不悖,缺一不可。

实际上,这有意地扩大了物理模型和业务模型的内涵和外延,因为,在这里物理模型不仅仅是数据的存储,而且也包含了数据仓库项目实施的方法论、资源以及软硬件选型,而业务模型不仅仅是主题模型的确立,也包含了企业的发展战略,行业模本等等更多的内容。

物理模型就像大厦的基础架构,就是通用的业界标准,无论是一座摩天大厦也好,还是茅草房也好,在架构师的眼里,他只是一所建筑,地基—层层建筑—封顶,这样的工序一样也不能少,关系到住户的安全,房屋的建筑质量也必须得以保证,唯一的区别是建筑的材料,地基是采用钢筋水泥还是石头,墙壁采用木质还是钢筋水泥或是砖头;

当然材料和建筑细节还是会有区别的,视用户给出的成本而定;还有不可忽视的一点是,数据仓库的数据从几百GB到几十TB不等,面对如此大的数据管理,无论支撑这些数据的RDBMS(关系数据库)多么强大,仍不可避免地要考虑数据库的物理设计。

2、概念模型

概念数据模型是面向用户、面向现实世界的数据模型,是与DBMS无关的。它主要用来描述一个单位的概念化结构。采用概念数据模型,数据库设计人员可以在设计的开始阶段,把主要精力用于了解和描述现实世界上,而把涉及DBMS的一些技术性的问题推迟到设计阶段去考虑。

3、数学模型

(1)评价问题抽象化和仿真化;

(2)各参数是由与评价对象有关的因素构成的。

(3)要表明各有关因素之间的关系。

二、分类上的区别:

1、物理模型

中学物理模型一般可分三类:物质模型、状态模型、过程模型。

(1)物质模型

物质可分为实体物质和场物质。

实体物质模型有力学中的质点、轻质弹簧、弹性小球等;电磁学中的点电荷、平行板电容器、密绕螺线管等;气体性质中的理想气体;光学中的薄透镜、均匀介质等。

场物质模型有如匀强电场、匀强磁场等都是空间场物质的模型。

(2)状态模型

研究流体力学时,流体的稳恒流动(状态);研究理想气体时,气体的平衡态;研究原子物理时,原子所处的基态和激发态等都属于状态模型。

(3)过程模型

在研究质点运动时,如匀速直线运动、匀变速直线运动、匀速圆周运动、平抛运动、简谐运动等;在研究理想气体状态变化时,如等温变化、等压变化、等容变化、绝热变化等;还有一些物理量的均匀变化的过程,如某匀强磁场的磁感应强度均匀减小、均匀增加等;非均匀变化的过程,如汽车突然停止都属于理想的过程模型。

模型是对实际问题的抽象,每一个模型的建立都有一定的条件和使用范围。学生在学习和应用模型解决问题时,要弄清模型的使用条件,要根据实际情况加以运用。

比如一列火车的运行,能否看成质点,就要根据质点的概念和要研究的火车运动情况而定,在研究火车过桥所需时间时,火车的长度相对于桥长来说,一般不能忽略,所以不能看成质点;在研究火车从北京到上海所需的时间时,火车的长度远远小于北京到上海的距离,可忽略不记,因此火车就可以看成为质点。

2、概念模型

原理上来说,并没有具体的分类。

3、数学模型

(1)精确型:内涵和外延非常分明,可以用精确数学表达。

(2)模糊型:内涵和外延不是很清晰,要用模糊数学来描述。

(4)物理模型如何进行参数调整扩展阅读:

建立数学模型的要求

1、真实完整。

(1)真实的、系统的、完整的反映客观现象;

(2)必须具有代表性;

(3)具有外推性,即能得到原型客体的信息,在模型的研究实验时,能得到关于原型客体的原因。

(4)必须反映完成基本任务所达到的各种业绩,而且要与实际情况相符合。

2、简明实用。在建模过程中,要把本质的东西及其关系反映进去,把非本质的、对反映客观真实程度影响不大的东西去掉,使模型在保证一定精确度的条件下,尽可能的简单和可操作,数据易于采集。

3、适应变化。随着有关条件的变化和人们认识的发展,通过相关变量及参数的调整,能很好的适应新情况。

⑤ 时移地震差异约束的模型调整

8.3.7.1 差异数据的网格转换

由于地震数据的网格、层位划分和数模模型的网格、层位划分 不完全一致,因此,在用时移地震差异约束油藏数值模拟前,首先 要对时移地震差异数据体进行层位、网格的转换。

转换流程见图8.68。Ⅰ油组和Ⅰ油组4小层的差异数据转换过 程及转换结果见图8.69和图8.70。

图8.68 差异数据网格转换流程图

图8.69 Ⅰ油组差异数据时深、网格转换

图8.70 Ⅰ油组4小层差异数据的时深、网格转换

Ⅰ油组4小层由于层位和地震数据品质的关系,只有图8.70转换后差异图范围内的部分是4小层差异,所以转换后的数据只显示这一部分。

8.3.7.2 差异约束的模型调整

S模型网格节点60多万,生产时间长,从1993年 9月投产到2004年10月,共110个时间步长,模型中 共有3条相对渗透率曲线对油藏流体的流动进行刻度,对于如此庞大的模型,模拟运算时间长、为实现拟合时 移地震差异数据而要做的修改工作量巨大、反复模拟运 行的次数多,短时间很难实现时移地震差异数据的精确 拟合,需要做大量的工作。

图8.71为时移地震差异约束油藏数值模拟的流程 图。

在上述流程的指导下,模型修改主要为油藏参数修 改、岩石物理模型参数的修改、相对渗透率曲线、PVT 数据及其应用区域修改。

油藏参数的修改主要依据建模的成果,修改模型研 究区的有效厚度、渗透率、孔隙度参数。

图8.71 时移地震差异约束油藏数值模拟流程图

(1)孔隙度参数修改

在三维储层建模中,目前大多应用地质统计学随机 建模和相控参数建模的方法以及先进的储层建模理论和技术(如指示Kriging、序贯高斯模拟等),建立 工区三维地质模型。由于渗透率参数模型是由渗透率与孔隙度的孔渗关系得到的,因此在进行渗透率调 整的同时,孔隙度参数也要进行相应的调整。

同时,孔隙度参数也是影响油藏开发动态的重要因素。S油田是受构造因素控制、岩性变化影响的层 状碎屑岩油藏,根据岩石薄片、铸体薄片和扫描电镜等镜下观察结果,储层储集空间主要为原生粒间孔 和溶蚀孔,由于有溶蚀孔隙的存在,使油藏中孔隙度的突变情况和突变程度都有所增加(图8.72)。

图8.72a 原模型1小层孔隙度参数

图8.72b 建模对应层模型孔隙度参数

(2)有效厚度参数修改

由于大部分的砂体尖灭线都是靠井间插值得到的,在某种程度上存在一定的误差,而砂体界面的位 置将直接影响油井的见水时间和产水量。因此,在模型调整中适当修改某些砂体尖灭线的位置(图8.73)。

图8.73a 原模型3小层有效厚度参数

图8.73b 建模对应层模型有效厚度参数

(3)相对渗透率曲线适用范围的调整

相对渗透率曲线控制着孔隙中油水的相对渗流运动,因此对单井产水率的影响极大,且控制全油藏 或油藏中大部分区域的相对渗透率曲线仅仅是由井中岩心在实验室中求得的,由于以点代面及渗流条件 的不同等原因造成在模型中控制油水运动的相对渗透率曲线与油藏实际存在较大误差,因此,对相对渗 透率曲线的调整空间是比较大的,调整结果也是比较好的。

S油藏模型中共有3条相对渗透率曲线对油藏中流体的渗流动态进行刻度,这3条曲线涵盖的范围比 较大,因此,在模型修改中没有对曲线本身进行修正,仅仅是对每条曲线的适用范围进行了适当的修改(图 8.74)。

图8.74 相渗区域数据修正

(4)岩石物理模型参数的调整

S油田属于疏松砂岩油藏,对油藏岩石物理参数进行了深入的研究,这里借鉴了岩石物理研究方面的 成果,并在后期时移地震数据约束油藏历史拟合的过程中进行了必要的调整,如图8.75所示。

图8.75a 初始正演用岩石物理参数

图8.75b 时移地震差异约束历史拟合后正演用岩石物理参数

(5)PVT属性数据的调整

模型中有15个油水系统,6组PVT表格数据,这里主要调整了控制Ⅰ油组研究区的两组PVT数据,如表8.9所示。

表8.9a 初始模型PVT数据表

表8.9b 时移地震差异约束历史拟合后模型PVT数据表

8.3.7.3 拟合结果

通过对以上参数的调整和模拟运算,时移地震差异数据和动态数据都得到了一定的拟合。

由于模拟区是分平台投产的,不同平台的投产时间前后相差9年,在模拟运算中计算出来的是全油 藏压力,实际测得的仅为某个平台的局部压力,因此目前没有对压力进行拟合。

(1)储量拟合结果

利用调整后油藏模型计算全区原始石油地质储量为30294×104t,与实际上报储量28844×104t相比,储量拟合的误差为5.02%,符合储量拟合误差要求。

储量增加主要是因为由初始模型计算的油藏见水后含水迅速上升,与油藏开发实际相差较大,为实 现拟合,适当提高了含水拟合误差较大井点的孔隙度造成的。

(2)含水率拟合结果

可供拟合的主要参数是单井或油田的月度产液量、含水率、累积产液量或综合含水率等,鉴于在定 产的情况下,油藏的动态拟合采用惯用的含水率作目标参数。

利用修改后的油藏模型进行了全区的含水率拟合,与模型修改前相比,计算含水率与实际含水率的 绝对误差明显减小,除了含水率变化无明显规律的少数几口井外,试验区其他50多口井基本符合实际 变化;由时移地震差异约束历史拟合后的最终模型计算得到的全区拟合含水率见图8.76。

图8.76a S油田初始模型含水率拟合曲线

图8.76b S油田差异约束后模型含水率拟合曲线

单井含水率拟合曲线见图8.77,试验区其他井拟合曲线参见附录四。

图8.77a A16井拟合曲线

图8.77b A24井拟合曲线

图8.77c B04井拟合曲线

图8.77d J13井拟合曲线

图8.77e J15井拟合曲线

含水率拟合误差空间分布见图8.78。

图8.78a 地震差异约束前空间拟合误差图

图8.78b 地震差异约束后空间拟合误差图

(3)地震数据匹配结果

此过程中,主要是有效厚度、孔隙度、渗透率、岩石物理模型参数、相对渗透率曲线、PVT数据及 其应用区域等数据的修改,这些参数的变化会影响Kd、流体分布的变化会影响Kf的空间分布,进而影响 vP,最终实现模型合成时移地震差异对实测时移地震差异的匹配。

同时需要指出的是,由于计算过程非常复杂,在扰动过程中不能每次都进行地震属性的检验,而是 在此过程若干次循环中用到了时移地震目标函数的检验。

由于时间关系,在本次时移地震差异约束历史拟合的过程中,只用Ⅰ油组和Ⅰ油组4小层的差异做 约束进行历史拟合,中间模型的时移地震差异拟合情况见图8.79和图8.80,最终的地震差异拟合情况参 见图8.81和图8.82。

图8.79 中间模型差异拟合结果对比

图8.80 中间模型差异拟合结果对比

图8.81 优化后模型差异拟合结果对比

图8.82 优化后模型差异拟合结果对比

8.3.7.4 差异约束后的油藏动态

实测时移地震差异约束历史拟合后,模型Ⅰ油组和4小层的压力、含水饱和度、含气饱和度的变化 与初始模型都有了一定的变化,由于目前的优化模型是在动态和时移地震差异双重约束下进行历史拟合 的,所以认为目前得到的油藏动态的变化是能够比较客观的反映油藏实际的动态的。

差异约束数值模拟后Ⅰ油组压力、含水饱和度、含气饱和度到2004年6月的变化见图8.83,2004年 6月的含油饱和度分布见图8.84。

Ⅰ油组4小层压力、含水饱和度、含气饱和度到2004年6月的变化见图8.85,2004年6月的含油饱 和度分布见图8.86。

其他小层2004年6月的含油饱和度分布见附录二。

图8.83a Ⅰ油组含气饱和度的变化

图8.83b Ⅰ油组压力的变化

图8.83c Ⅰ油组含水饱和度的变化

图8.84 Ⅰ油组含油饱和度分布

图8.85a Ⅰ油组4小层含气饱和度的 变化

图8.85b Ⅰ油组4小层压力的变化

图8.85c Ⅰ油组4小层含水饱和度的 变化

图8.86 Ⅰ油组4小层含油饱和度的分布(2004.6)

⑥ 如何利用实测数据进行模型参数的校正

参数率定的实质就是先假定一组参数,代入模型得到计算结果,然后把计算结果与实测数据进行比较,若计算值与实测值相差不大,则把此时的参数作为模型的参数;若计算值与实测值相差较大,则调整参数代入模型重新计算,再进行比较,直到计算值与实测值的误差满足一定的范围.
率定:在仪器行业,对仪器的校准测定称为率定。即校准、标定。一般来说,这个词只会用在仪器行业里,其他行业用得极少。

⑦ 如何修改已经做好的3Dmax 模型(或者模型是导入到新的文件里,怎样去调整它的参数,比如长宽高)

这得分两种情况:塌成过的和没塌过的模型。如果是没塌过的,很简单,直接修改参数就是了。
如果塌过的,麻烦点,就得手动进入点,面编辑层去手动拉,如果要尺寸精确点,可以新建个物理作为参照物。
顺便说下,一般模型导入还会出现贴图丢失的情况,如果你有原始的贴图文件还好,直接改下贴图路径,如果没有就只能自己重贴了。
对了,有些模型编成组了,你解开组的时候很可能会出现错位,所以最好是打开组,编辑完再关闭组,就不会错位,但切记不要移动组内元素的位置。

⑧ 数据库物理模型

数据库物理模型设计的目标是根据选定的Oracle数据库系统特点和航空物探数据管理与服务的业务处理需求,确定航空物探数据库最优的物理环境、存取方法和存储结构。即通过数据库物理设计,以便达到物理数据库结构的优化,使得在数据库上运行的各种事务响应时间少、存储空间利用率高、事务吞吐率大。

一、数据库布局

航空物探信息系统的维护数据(部门、岗位、人员、人员权限、数据入库检查规则及数据字典等)相对比较稳定。入库前数据需经过各种检查校对,确认数据正确后才能归档,存入航空物探资料数据库,所以存入资料库前的数据可能经常需要修改和删除,相对变化较大;而存入资料数据库中的数据一般不允许修改和删除,以免误操作破坏资料库数据造成损失。

图2-12 航空物探数据库逻辑模型

图2-13 航空物探数据库布局与数据采集流程图

据此,我们采用图2-13所示的数据库数据采集流程,并将航空物探数据库分为资料采集数据库、资料数据库、系统维护数据库分别进行存储和管理,实现数据的统一管理和统一使用,便于数据入库和易于维护等。

航空物探资料数据库是航空物探所有数据最终存储的场所。资料采集数据库是数据归档存入资料数据库前的临时“集散地”,在此接收各项检查,在确认数据无误后归档到资料数据库,然后删除资料采集数据库中已归档的数据。此外,资料采集数据库中还保存数据入库、维护、检查日志及归档记录。

系统维护数据库,存储系统维护信息(如系统功能、数据库表清单等)、安全信息(如信息系统用户的角色、权限、授权的系统功能等),数据字典、入库数据检查规则等。将其与航空物探数据分开,有利于系统维护和管理。

二、数据库空间设置

数据库空间设置包括磁盘空间设置、应用系统表空间设置、撤销表空间、临时表空间、日志空间和索引空间设置。

(一)磁盘空间设置

磁盘空间设置的目标:磁盘性能不能阻碍实现数据库性能,数据库磁盘必须专用于数据库文件,否则非数据库将会影响到数据库性能,且磁盘空间必须满足恢复和性能的要求。

航空物探数据库服务器为IBM P620小型机,8块硬盘,每块硬盘36GB空间,每块物理磁盘建立一个文件系统。为了提高磁盘的反应时间和寻道时间,提高I/O的存取效率,除了一块硬盘用于UNIX操作系统外,其余7块磁盘分别存放资料采集数据库、系统维护数据库-日志文件,资料数据库及资料数据库的大字段数据、索引、回滚段和数据日志文件。

(二)应用系统表空间设置

信息系统数据采集过程对数据的事务操作比较频繁,经常进行数据插入(新数据入库)、修改(入库数据有误)和删除操作(数据重新导入或归档入库),因此航空物探资料采集数据库所在的表空间会很活跃。为了不影响其他I/O的竞争,同时也可以提高数据入库的操作效率(50多年的历史数据需要集中入库),分配一个磁盘空间(36GB)为采集库的表空间。由于采集数据归档入资料库后被删除,同时进行数据入库的项目也不是很多,虽仍保留所有的采集日志数据,一个磁盘空间也足够使用。

航空物探资料数据库的二维表和Oracle大字段(BLOB)分别存放在不同的物理磁盘(每个磁盘36GB)上,对同时存在有表格数据和大字段数据的数据库表(如航迹线数据)时,可以提高磁盘I/O效率。随着数据入库的项目越来越多,需要增加相应的物理磁盘或磁盘阵列。

系统维护数据库相对稳定,占用磁盘空间约500 M左右。由于系统磁盘有限,把日志文件存放该磁盘中。

(三)撤销表和临时表空间的设置

在Oracle数据库中,撤销的目的是确保事务的回退和恢复。撤销参数有UNDO_MANAGEMENT、UNDO_TABLESPACE和UNDO_RETENTION。

UNDO_MANAGEMENT参数用于数据库中管理撤销数据的方式,航空物探数据库设置为自动模式(auto)。

UNDO_TABLESPACE参数用于指定数据库中保存撤销数据的撤销表空间名称,航空物探数据库撤销表空间名称为UNDO_ARGS_TBSPACE,空间大小设置为20GB,以确保在保留时间内进行恢复。

UNDO_RETENTION参数用于指定已经提交事务的撤销数据在能够覆盖之前应该保留多长时间,本数据库系统设置为60 min。

临时表空间是用以存储大量的排序,与撤销表空间存放在一个物理磁盘上,本数据库系统临时表空间设置为500 M。

(四)日志空间设置

日志的主要功能是记录对数据库已做过的全部操作。在系统出现故障时,如果不能将修改数据永久地写入数据文件,则可利用日志得到该修改,所以不会丢失已有操作结果。

日志文件主要是保护数据库以防止故障。为了防止日志文件本身的故障,航空物探数据库系统分别在一个独立磁盘和系统维护库磁盘中存放日志文件。若系统出现故障,在下次打开数据库时Oracle数据库系统自动用日志文件中的信息来恢复数据库文件。

根据航空物探数据库信息系统同时登录的用户数及使用的功能,将日志文件大小设置为10GB。

(五)索引表空间设置

为了提高航空物探信息系统的查询和统计速度,把所有索引空间与应用表空间完全分开,从而提高I/O存取效率。航空物探索引表空间大小设置为10GB。

聚集是表的一种存储方法,一般每个基本表是单独组织的,但对逻辑上经常在一起查询的表,在物理上也邻近存放,这样可减少数据的搜索时间,提高性能。

当几个关系(表)以聚集方式组织时,是通过公共属性的值为表聚集的依据。航空物探数据库系统是以项目标识(PROJ_ID)建立聚集的,所有涉及项目标识的数据库表直接引用项目标识聚集。航空物探聚集表空间与索引表空间相同。

三、数据库参数设置

在数据库创建前需要对如下数据库参数进行设置,航空物探参数文件名为Initoraargs.ora,各种参数设置如下:

航空物探信息系统建设

四、内存设置

航空物探数据库服务器物理内存为4GB,除部分用于系统开销外,其余全部用于数据库。

Oracle使用共享系统全局区(System Global Area,SGA)内存来管理内存和文件结构,包含DB_block_Buffers、DB_cache_size、Shared_pool_size、Log_Buffer参数。航空物探数据库系统的全局区内存参数设置如下。

DB_block_Buffers参数为SGA中存储区高速缓存的缓冲区数目,每个缓冲区的大小等于参数DB_block_size的大小,DB_block_Buffers=19200(约300 MB)。

Shared_pool_size参数为分配给共享SQL区的字节数,是SGA大小的主要影响者,Shared_pool_size=1228800000(1.2GB)。

DB_cache_size参数是SGA大小和数据库性能的最重要的决定因素。该值较高,可以提高系统的命中率,减少I/O,DB_cache_size=1024000000(1GB)。

Log_Buffer参数为重做日志高速缓存大小,主要进行插入、删除和修改回退操作,Log_buffer=5120000(5MB)。

五、优化设置

由于航空物探信息系统的采集软件和应用软件是采用MS.NET C#进行开发的,应用程序与数据库之间的连接有传统的ODBC和OLE DB两种方式。为了支持ODBC在OLE DB技术上建立了相应的OLE DB到ODBC的调用转换,而使用直接的OLE DB方式则不需转换,从而提高处理速度。

在建立数据库表时,参数Pctfree和Pctused设置不正确可能会导致数据出现行链接和行迁移现象,即同一行的数据被保存在不同的数据块中。在进行数据查询时,为了读出这些数据,磁头必须重新定位,这样势必会大大降低数据库的执行速度。因此,在创建表时应充分估计到将来可能出现的数据变化,正确地设置这两个参数,尽量减少数据库中出现的行链接和行迁移现象。

航空物探资料采集数据库表的插入、修改和删除的频率较高,Pctfree设置为20,Pctused设置为40;系统维护数据库表相对稳定,Pctfree设置为10,Pctused设置为15;资料数据库表除了增加数据外基本不进行修改和删除操作,Pctfree设置为10,Pctused设置为5。

六、扩展性设置

多CPU和并行查询PQO(Parallel Query Option)方式的利用:CPU的快速发展使得Oracle越来越重视对多CPU的并行技术的应用,一个数据库的访问工作可以用多个CPU相互配合来完成。对于多CPU系统尽量采用并行查询选项方式进行数据库操作。航空物探数据库服务器为2个CPU,在程序查询中采用了并行查询的方式。

在航空物探工作量统计、飞行小时统计、测量面积统计和岩石物性统计中,为了加快统计效率,在相应的查询语句中增加了并行查询语句。

随着航空物探高精度测量程度的不断提高,测量数据将越来越大。为了满足航空物探查询效率及发展,将航磁测量数据与校正后航磁测量数据按比例尺分1∶20 万以下、20万~50万、1∶50万以上分别存放3张不同的数据库表。

七、创建数据库

在完成数据库布局、空间设置、内存设置、数据库参数设置、扩展性设置和优化设置后,进行航空物探数据库物理模型设计,即航空物探数据库实体创建。由于航空物探空间数据库逻辑模型是采用ESRI提供的ArcGIS UML构建的Geodatabase模型,因此,使用ESRI公司提供的CaseTools将航空物探数据UML模型图转成空间数据库(Geodatabase)实体(图2-14)。

航空物探属性数据库表(二维表)是采用Power Designer数据库设计平台直接把数据库关系模型生成数据库脚本来创建的。

经过数据库的概念设计、逻辑设计和物理设计,最终生成航空物探数据库。

图2-14 航空物探数据库物理模型实现

八、空间数据的索引机制

对于海量的空间数据库而言,数据库的操作效率是关系到数据库成败的关键问题。为了提高数据的访问、检索和显示速度,数据在加载到数据库时,要素类数据建立了空间索引,栅格数据构建了金字塔结构,对象类数据采用与数据库直接联接的访问机制。

(一)空间索引

为了提高要素类数据的查询性能,在建立航空物探空间数据库时,创建了空间索引机制。常用的空间索引有格网索引、R树索引、四叉树索引等。Geodatabase采用格网索引方式。所谓格网索引是将空间区域划分成适合大小的正方形格网,记录每一个格网内所包含的空间实体(对象)以及每一个实体的封装边界范围,即包围空间实体的左下角和右上角坐标。当用户进行空间查询时,首先计算出用户查询对象所在格网,然后通过格网编号,就可以快速检索到所需的空间实体。

确定适合的格网级数、单元大小是建立空间格网索引的关键。格网太大,在一个格网内有多个空间实体,查询检索的准确度降低。格网太小,则索引数据量成倍增长和冗余,检索的速度和效率较低。数据库的每一数据层采用不同大小、不同级数的空间索引格网单元,但每层最多级数不能超过三级。格网单元的大小不是一个确定性的值,需要根据对象的大小确定。空间索引格网的大小与检索准确度之间的关系如图2-15所示。

选择格网单元的大小遵循下列基本原则:

1)对于简单要素的数据层,尽可能选择单级索引格网。减少RDBMS搜索格网单元索引的级数,缩短空间索引搜索的过程,例如航迹线要素类。

图2-15 索引格网大小与检索准确度的关系

2)如果数据层中的要素封装边界大小变化比较大,应选择2或3级索引格网。Geodatabase最多提供三级格网单元。每一要素封装边界在适合的级内,减少了每一封装边界有多个格网的可能性。在空间索引搜索过程中,RDBMS则必须搜索所有3个格网单元级,这将消耗大量的时间。

3)若用户经常对图层执行相同的查询,最佳格网的大小应是平均查寻空间范围的1.5倍。

4)格网的大小不能小于要素封装边界的平均大小,为了减少每个格网单元有多个要素封装边界的可能性,格网单元的大小应取平均格网单元的3倍。最佳格网单元的大小可能受图层平均查询的影响。

空间域是按照要素数据集定义的,空间索引格网是按照要素类设置的。它们都是在创建Geodatabase数据库时设置,并一经设置,中间不许改变;所以一定要在充分分析数据的情况下确定它们的值。航空物探数据主要是简单要素类,空间跨度为70°。根据上述原则,航空物探数据选择单级索引格网,格网大小为20°。

(二)金字塔结构

金字塔结构的核心是将栅格数据逐级进行抽稀,形成多级分辨率的重采样数据,并将其分割成块,按一定的文件格式(金字塔文件格式)存储成磁盘文件;在以后进行图像显示处理时,只需将要显示的部分所覆盖的块从磁盘文件直接读进内存缓冲区显示即可。从金字塔的所有层中寻找与所要求显示的比例相近或匹配的一层,并将该层的从某一点起的一定范围的图像所覆盖的所有块加载到内存缓冲区,提取所需部分并形成图像。

金字塔算法(图2-16)是通过获取显示时所需要的一定分辨率的数据来提高显示速度。使用金字塔数据格式后,在显示全图时仅需要显示一个较低分辨率的数据,这样既能加快显示速度,又不会影响显示效果。放大图像,尽管显示图像分辨率提高,由于显示区域减小,所以显示速度不会下降。如果没有为栅格数据建立金字塔数据,则每次显示都会读取整个数据,然后进行重采样得到显示所需要的分辨率,明显地降低了显示速度。

图2-16 金字塔压缩示意图

金字塔数据重采样方式有:最近邻法、双线性内插和立方卷积。其中最近邻法适用于离散数据,而双线性内插法和立方卷积法适合于连续数据。

在ArcGIS Engine中提供了IRasterPyramid和IRasterPyramid2接口来实现金字塔数据的建立,而建立的数据保存在*.rrd格式的文件中。

(三)空间域定义

空间域是指数据的有效空间范围,即Geodatabase数据库的最大等效坐标的值域范围,其定义主要是指比例系数和Min X、Min Y的计算。

因为使用整数比浮点数有更高的压缩率,并且对整数进行二进制搜索比较快,所以多用户Geodatabase以4字节正整数存储坐标,其最大值为32位正整数所能表示的范围是21.4亿(2147483647),整数的范围称为空间域。在创建Geodatabase数据库时需要定义合适的比例系数。大的整数值将消耗大量的计算机物理内存,所以选定的比例系数最好不要大于必须的比例系数。空间域随坐标系的单位变化而变化。

比例系数和空间域之间成反比例关系,比例系数越大(存储单位越小),表达的空间域也越小。为了使目标数据都存储在系统中,需要谨慎地设置比例系数。将目标数据的宽度和高度较适中的数值乘以比例系数,如果结果小于21.4亿,则比例系数是合适的。

航空物探数据模型是为我国的航空物探行业数据建库设计的,它支持的空间数据的坐标范围为我国领土覆盖的海陆空间,最低纬度为赤道。根据概念设计的分析,航空物探数据模型采用的是地理坐标系,坐标系单位是度,基准是Beijing_1954,要求存储的坐标数据精度达到0.01 m。在赤道处,赤道圆周长为40075694.6 m,则每度弧长=40075694.6×100/360 cm=11132137.389 cm,即1 cm对应8.983000883E-8°。所以,航空物探数据模型的比例系数取为8.98E-8,即存储单位为8.98E-8°,可满足1 cm精度要求。

将空间域移动到目标数据范围之前,首先找到空间域在存储单位的中心位置,目的是在必要时向各个方向扩展。4字节正整数可表示的坐标范围:2147483647×8.98E-8=192.84°。我国的领土范围是东经70°~140°,北纬0°~60°。所以,选取的比例系数是合适的。把空间域坐标系中心定为90°,然后,计算空间域的Min X、Min Y。

航空物探信息系统建设

航空物探信息系统建设

所以坐标的存储数据是:

航空物探信息系统建设

航空物探信息系统建设

⑨ 如何进行模型参数的选择

你说的情况我觉得可有几个解决方案吧: 1. 模型数量不多的话,要变的参数的对应于其模型是固定的,那可用UDF来定义那些模型,要变的参数给出别名,做程序时查询别名修改表达式就可以了; 2. 可用KF来做,情况跟用UDF差不多; 3. 如果模型多,可变量多,就用数据库(大型还是小型的根据需要了)吧,把变量和值存在数据库里,生产界面时把这些变量调入界面,用户修改后用这些变量驱动模型就可以了。当然,建模型时要把相应的变量创建出来赋值给模型的那些p1、p2、p3…… 希望对你有帮助。

⑩ 简述调整PID各参数的一般原则、调整方法和步骤。

一、参数调整一般规则:

由各个参数的控制规律可知,比例P使反应变快,微分D使反应提前,积分I使反应滞后。在一定范围内,P,D值越大,调节的效果越好。各个参数的调节原则如下:

1、在输出不振荡时,增大比例增益P。

2、在输出不振荡时,减小积分时间常数Ti。

3、输出不振荡时,增大微分时间常数Td。

二、PID控制器参数整定的方法:

1、理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。

2、工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。

PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。现在一般采用的是临界比例法。

利用该方法进行PID控制器参数的整定步骤如下:

(1)首先预选择一个足够短的采样周期让系统工作。

(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期。

(3)在一定的控制度下通过公式计算得到PID控制器的参数。

三、参数调整一般步骤:

1、确定比例增益。

P确定比例增益P时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0,PID为纯比例调节。

输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直至系统出现振荡。

再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。比例增益P调试完成。

2、确定积分时间常数Ti。

比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。

3、确定微分时间常数Td。

微分时间常数Td一般不用设定,为0即可。若要设定,与确定P和Ti的方法相同,取不振荡时的30%。

4、系统空载、带载联调,再对PID参数进行微调,直至满足要求。

(10)物理模型如何进行参数调整扩展阅读:

pid常用口诀:

参数整定找最佳,从小到大顺序查。

先是比例后积分,最后再把微分加。

曲线振荡很频繁,比例度盘要放大。

曲线漂浮绕大湾,比例度盘往小扳。

曲线偏离回复慢,积分时间往下降。

曲线波动周期长,积分时间再加长。

曲线振荡频率快,先把微分降下来。

动差大来波动慢。微分时间应加长。

理想曲线两个波,前高后低4比1。

一看二调多分析,调节质量不会低。

阅读全文

与物理模型如何进行参数调整相关的资料

热点内容
word中化学式的数字怎么打出来 浏览:746
乙酸乙酯化学式怎么算 浏览:1411
沈阳初中的数学是什么版本的 浏览:1363
华为手机家人共享如何查看地理位置 浏览:1054
一氧化碳还原氧化铝化学方程式怎么配平 浏览:894
数学c什么意思是什么意思是什么 浏览:1421
中考初中地理如何补 浏览:1312
360浏览器历史在哪里下载迅雷下载 浏览:712
数学奥数卡怎么办 浏览:1402
如何回答地理是什么 浏览:1035
win7如何删除电脑文件浏览历史 浏览:1063
大学物理实验干什么用的到 浏览:1494
二年级上册数学框框怎么填 浏览:1713
西安瑞禧生物科技有限公司怎么样 浏览:1002
武大的分析化学怎么样 浏览:1255
ige电化学发光偏高怎么办 浏览:1345
学而思初中英语和语文怎么样 浏览:1666
下列哪个水飞蓟素化学结构 浏览:1430
化学理学哪些专业好 浏览:1493
数学中的棱的意思是什么 浏览:1071