计算机辅助设计技术第章工程数据处理课件

PPT
  • 阅读 37 次
  • 下载 0 次
  • 页数 51 页
  • 大小 879.740 KB
  • 2022-12-01 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
计算机辅助设计技术第章工程数据处理课件
可在后台配置第一页与第二页中间广告代码
计算机辅助设计技术第章工程数据处理课件
可在后台配置第二页与第三页中间广告代码
计算机辅助设计技术第章工程数据处理课件
可在后台配置第三页与第四页中间广告代码
计算机辅助设计技术第章工程数据处理课件
计算机辅助设计技术第章工程数据处理课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 51
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】计算机辅助设计技术第章工程数据处理课件.ppt,共(51)页,879.740 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-77360.html

以下为本文档部分文字说明:

计算机辅助设计技术第章工程数据处理第三章工程手册的数据处理第一节数表的程序化第二节线图的程序化第三节建立经验公式的方法第三章工程手册的数据处理•一元函数的插值的方法•曲线拟合的最小二乘法•最小二乘法的多项式拟合本章要点从总体上说,处理工程数据的方法有以下三种:1.程序化处理

:在编程时将数据以一定的形式直接放于程序中。(1)将数表离散化后存入一维,或二维的,三维的数组中,然后利用查表、插值等方法检索所需数据。(2)将数表拟合成公式,编入程序计算出所需数据。特点:程序与数据结合在一

起。缺点:数据无法共享,增大程序的长度。2.文件化处理:将数据放于扩展名为.DAT的数据文件中,需要数据时,由程序来打开文件并读取数据。特点:数据与程序作了初步的分离,实现了有条件的数据共享。第3章工程数据处理9/3/2022

••缺点:(1)文件只能表示事物而不能表示事物之间的联系。(2)文件较长。(3)数据与应用程序之间仍有依赖关系。(4)安全性和保密性差。3.数据库管理:将工程数据存放到数据库中,可以克服文件化处理的不足。特点:(1)数据共享。(2)数据集中。(3)数据结构化,既表示了事物,又表示了事物之间

的联系。(4)数据与应用程序无关。(5)安全性和保密性好。方式的选择原则是:有利于提高CAD作业的效率,降低开发的成本。9/3/2022••§3-1数表的程序化一、一维数表的处理定义:只由一个已知变量查取所需数据的表格,称为一维数表。例:普通v带型号及截面尺寸。程序段(c语言),用i代表

型号。将三个函数值存放在三个数组中。编程序的目的:快速查到所需参数值。Inti;floatb[7]={6.0,10.0,13.0,17.0,22.0,32.0,38.0};floath[7]={4.0,6.0,8.0,10.5,13.5,19.0,23.5};floatbp[7]={5.

3,8.5,11.0,14.0,19.0,27.0,32.0};§3-1数表的程序化9/3/2022••例:平键和键槽的剖面尺寸。§3-1数表的程序化1.41.8…5.41.82.5…9轮壳t1轴t轴经D34…1434

…22hb键>8~10>10~12…>75~859/3/2022••main(){floatdgiven,b,h,t,t1;/*dgiven为已知直径值*/floatD[12]={10.0,12.0,…,75.0,85.0};/*存放表中D的上限值*/floatkb[12]={3.

0,4.0,…,20.0,22.0};/*存放表中的b值*/floatkh[12]={3.0,4.0,…,12.0,14.0};/*存放表中的h值*/floatkt[12]={1.8,2.5,…,7.5,9.0};/*存放表中的t值*/floatkt1[12]={

1.4,1.8,…,4.9,5.4};/*存放表中的t1值*/§3-1数表的程序化•9/3/2022printf(“enterthediameterofaxisdgiven=”);scanf(“%f”,&dgiven);if((dgiven<8.0||(

dgiven>85.0))printf(“轴径D数值越界”);elsefor(i=0;i<12;i++){if(dgiven<=D[i]){b=kb[i];h=kh[i];t=kt[i];t1=kt1[i];printf(“b=%f,h=%f,t=%f,

t1=%f\n”,b,h,t,t1);break;}}§3-1数表的程序化查询程序例:表3-1为由小链轮齿数Z查取齿数系数K的一维数表,试对其进行程序化处理。表3-1Z9111315171921K0.4460.5550.6670.7750.8931.001.12Z232527293

13335K1.231.351.461.581.701.811.94§3-1数表的程序化9/3/2022••用TurboC语言编程如下:main(){inti,Z1,ip=20;intZ[14]={9,11,13,15,17,19,21,23,25

,27,29,31,33,35};floatk[14]={0.446,0.555,0.667,0.775,0.893,1.00,1.12,1.23,1.35,1.46,1.58,1.70,1.81,1.94};printf(“请输入链轮齿数Z1:”);scanf(“%d”,

&Z1);for(i=0;i<14;i++)if(Z[i]==Z1){ip=i;i=15;}if(ip<20)printf(“\n当Z=%d时,K=%f”,z[ip],k[ip]);elseprintf(“\n输入错误

!”);}9/3/2022••3.1.2二维数表的处理定义:需由二个已知条件才能确定一个未知数据的表格,称为二维数表。例:表3-2用于链轮设计中,由节距t和链轮齿数z查取链轮轴孔最大直经dkmax和齿侧凸缘最大直经dh,试对其

进行程序化处理。表3-2节距t9.52512.7015.87519.0525.40齿数zdhdkdhdkdhdkdhdkdhdk112211301837224527603813281538224830573677511535204628583770469361174

12454346845825311074194729634179519462126842153337147895910772142952359377951996511980159109256542875710973131881751209/3/2022••取变量:齿数z

——Z[i]i=1,2,3,……8节距t——T[i]i=1,2,3,……10dh——DH[i,j]i=1,2,3,…,8j=1,2,3,…,10dk——DK[i,j]i=1,2,3,…,8j=1,2,3,…,10节距t31.7538.1044.4550.863.50

齿数zdhdkdhdkdhdkdhdkdhdk1176509160106711218015210313966411679135911551051931321511780140951641111871292351631713793165112193132220152275193191

581081891292211532531773162242117812221414825017528520035725423199137238165278197318224398278252191522631843072173352494383109/3/2

022••用TurboC语言编程如下:main(){inti,j,Z1,ip=20,jp=20;floatT1;intZ[8]={11,13,15,17,19,21,23,25};floatT[10]={9.525,12.7,15.875,19.05,

25.4,31.75,38.1,44.45,50.8,63.5};intDH[8][10]={22,30,37,45,60,76,91,106,121,152,28,38,48,57,77,96,116,135,155,193,35,46,58,70,93,

117,140,164,187,235,41,54,68,82,110,137,165,193,220,275,47,63,79,94,126,158,189,221,253,316,53,71,89,107

,142,178,214,250,285,357,59,79,99,119,159,199,238,278,318,398,65,87,109,131,175,219,263,307,315,438,};intDK[8][10]={11,18,22,27,

38,50,60,71,80,103,15,22,30,36,51,64,79,91,105,132,20,28,37,46,61,80,95,111,129,163,24,34,45,53,74,93,112,132,152,

193,29,41,51,62,84,108,129,153,177,224,33,47,59,72,95,122,148,175,200,254,37,51,65,80,109,137,165,196,224,278,42,57,73,88,120,152,184,217,249,

310};9/3/2022••printf(“请输入链轮齿数Z1:”);scanf(“%d”,&Z1);for(i=0;i<8;i++)if(Z[i]==Z1){ip=i;i=9;}printf(“请输入节距T1:”);scanf(“%f”,&T1);

for(j=0;j<10;j++)if(T[j]==T1){jp=j;j=11;}if(ip<20&&jp<20)printf(“\n当z=%d,t=%f时,dh=%d,dkmax=%d”,Z[ip],T[jp]),DH[ip][jp],DH[ip][j

p]);elseprintf(“\n输入错误!”);9/3/2022••3.2数表的文件化处理1.用编辑软件产生顺序文件2.用程序生成顺序文件3.文件的读取和检索以表3-1由小链轮齿数Z查齿数系数K的文件化处理为例:建立数据文件ZK.DAT如下:911131517192123

252729313335380.4460.5550.6670.7750.8931.01.121.231.351.461.581.701.811.942.12用TurboC语言编程如下:9/3/2022••main(){inti,z

1,z[15],jp=20;floatk[15];FILE*fp;fp=fopen(“ZK.DAT”,“r”);for(i=0;i<15;i++)fscanf(fp,“%d”,&z[i]);for(i=

0;i<15;i++)fscanf(fp,“%f”,&k[i]);fclose(fp);printf(“请输入链轮齿数z1:”);scanf(“%d”,&z1);for(i=0;i<15;i++)if(z[i]==z1){ip=i;i=16;}i

f(ip<20)printf(“\n当z=%d时,k=%f”,z[ip],k[ip]);elseprintf(“\n输入错误!”);}9/3/2022••xx1x2x3x4x5x6…xnyy1y2y3y4y5y6…yn设有一用数据表格给出的列表函数y=f(x),如下表所示:插值法

的基本思想:在插值点附近选取几个合适的结点,过这些选取的点构造一个简单函数g(x),在此小段上用g(x)代替原来函数f(x),这样插值点的函数值就用g(x)的值来代替。因此,插值的实质问题是如何构造一个既简单又具有足

够精度的函数g(x).§3-1数表的程序化一、一元函数的插值9/3/2022••1.线性插值(已知一点自变量及临近的两个节点的函数值,求这一点的函数值。)设有两个相邻的自变量xi,xi+1,满足条件xi<x<xi+

1;插值多项式应设为y=a0+a1x,且满足插值条件y(xi)=a0+a1xi=yi=f(xi)y(xi+1)=a0+a1xi+1==f(xi+1)解方程组得)23(xx1-3)13(,1111111111111110

iiiiiiiiiiiiiiiiiiiiiiiiiiiiyxxyxxxxyxxxyyxxxyxyyxxyyaxxxyxya)改写成以下形式将(值多项式为:所以两个节点的一次插f(x)Xixxi+1yi+1yiyg(x)差误函数表示成两个线性函数组合§3-1数表的程序化•9

/3/2022§3-1数表的程序化插值多项式与被插函数之间的差,称为截断误差。)()()(xgxfxRn线性插值的截断误差))((!2)()(21"xxxxxfxRn),(21xx),(00yx),(11yx)(xfy)(xgy用过两点的直线近似曲线,故这种插值叫做线性插

值。例1已知函数y=lnx的函数表如下:x1011121314y=ln(x)2.30262.39792.48492.56492.6391)23(xx10100101yxxyxxxxy用拉格朗日线性插值求ln11.5的近似值。[解

]取两个节点x0=11,x1=12,插值函数为将x0,x1,x,y0,y1.代入(3-2)中,即得ln11.5≈2.3979×0.5+2.4849×0.5=2.4414§3-1数表的程序化9/3/2022•0082645.01111)(ln1211,x1"lnx)

12)(11(!2)(ln22"2"xxxxy之间,故与在因为估计截断误差:§3-1数表的程序化9/3/2022••2.抛物线插值(二次多项式插值法)11111111111111))(())(())(())(())(())((

iiiiiiiiiiiiiiiiiiiiiyxxxxxxxxyxxxxxxxxyxxxxxxxxyf(x)Xi-1xxixi+1yiyi-1差误yi+1y

g(x)§3-1数表的程序化过三个点的二次多项式函数近似原来的函数,这种方法叫做二次多项式法。))((!3)()(21'"xxxxxfxRn抛物线插值的截断误差:),(21xx2210xax

aay9/3/2022••例1已知函数y=lnx的函数表如下:x1011121314y=ln(x)2.30262.39792.48492.56492.6391用抛物线插值求ln11.5的近似值,并估计函数的截

断误差?[解]取三个节点x0=11,x1=12,x2=13,插值多项式为442275.2)5.11(5.11ln)12)(11(28245.1)13)(11(4849.2)13)(12(19895.15649.2)1213)(

1113()12)(11(4849.2)1312)(1112()13)(11(3979.2)1311)(1211()13)(12(yxxxxxxxxxxxxy§3-1数表的程序化9/3/20

22••5"'2103938.95.15.05.001.01503.061)135.11)(125.11)(115.11(!3)x(ln11.5R)(误差为作业:已知函数表如下:xi-101yi=2xi0.512(1)利用线性插值

计算20.3的近似值?(2)利用抛物线插值计算20.3的近似值?§3-1数表的程序化9/3/2022••在工程设计中,利用给定的线图来查找所需要的系数或参数。利用人工的非精确的测量,操作势必会非常的慢。通过利用线图的程序化,将这种人工

的查找转变成在CAD进程中的高效、快速的处理。线图的程序化有三种处理方法:找到线图原有的公式。将线图离散化为数表。用曲线拟合方法求出线图的经验公式,在将公式编入程序。§3-2线图的程序化•9/3/20223.4.1线图的

表格化处理如果能把线图转换成表格,那么就可以使用数表的处理方法对其进行处理。现有图3.1所示线图,下面对其进行表格化处理:在图3.1所示线图上取n个节点(X1,Y1)(X2,Y2)…(Xn,Yn),将其制

成表格如表3-3所示。节点数取得越多,精度就越高。节点的选取原则是使各节点的函数值不致相差很大。图3.1线图9/3/2022••X1X2X3…….XnY1Y2Y3……Yn将线图表格化后,再参照数表处理方法,用程序

化或文件化处理方法进行处理。3.4.2线图的公式化处理上述线图的表格化处理方法,不仅工作量较大,而且还需占用大量的存储空间。因此,理想的线图处理方法是对线图进行公式化处理。线图的公式化处理有两种方法。一种是找到线图原来的公式,

另一种是用曲线拟合的方法求出描述线图的经验公式。曲线拟合的方法很多,常用的是最小二乘法。下面介绍曲线拟合的最小二乘法。表3-39/3/2022••曲线拟合:将一系列测试数据或统计数据拟合成近似的经验公式。它是一种求近似函数的数值方法。这种方法的特点:它不要求近似函数在节点处与函数同值,

即不要求近似曲线过已知点,只要求它尽可能反映给定数据点的基本趋势,在某种意义下与函数最“逼近”。最小二乘法拟合的基本思想已知:由图线和试验所得m个点的值(xi,yi)设:拟合公式为y=f(x)每个节点的残差值为:ei=f(xi)-yi残差的平方和为:2112))((imiimiiyxfe

(i=1,2,3,4,„,m)§3-3建立经验公式的方法一、最小二乘法9/3/2022••根据给定的数据组(xi,yi)(i=1,2,3,„,n),选取近似函数形式,即给定函数类H,求函数f(xi),使得为最小。即:2112))((imii

miiyxfeHf2112))((minimiiHfmiiyxfe这种求近似函数的方法称为曲线拟合的最小二乘法,函数f(x)称为这组数据的最小二乘函数。§3-3建立经验公式的方法9/3/202231•

1234567891012345678912345678910123456789拟合曲线与散点的关系曲线拟合的最小二乘法9/3/2022••最小二乘法的多项式拟合§3-3建立经验公式的方法§3-3建立经验公式的方法nnxaxaxaaxfy...)(2210设拟合公式为已知m个点的

值„..,且m>>n,结点残差的平方和为•9/3/2022§3-3建立经验公式的方法这表明残差的平方和的函数,为使其最小,取对各自变量的偏导数等于零。•9/3/2022§3-3建立经验公式的方法待求的

系数共(n+1)个,方程也是(n+1)个,因此解此联立方程,就可求得各系数值。

imininminiminiminiminiimiinminimiimiimiiimiinminimiimiimiiimiinminimiimiimiiyxaxaxaxaxyxaxaxaxaxyxaxaxaxaxyxaxaxaxax1122121

110112122141130121111213112011101212111010)(...)()()()(...)()()()(...)()()()(...)()()(p47§3-3建立经验公式的

方法二次多项式拟合i2i24i13i02iii23i12i0ii22i1i0yxa)x(a)x(a)x(yxa)x(a)x(ax(ya)x(ax(ma))2210xaxaay设拟合公式为设实验数据为m个

•最小二乘法的几种特例)(),...,1,0(...........................n)mm(,...)(::,,.11021122210xnimxxayxyxyaaaxxxxxxxxxaxaaaiiniiiinninininiiiniinn

即可求得拟合函数由此可得到相应的系数组数据且共有的相应法方程组则以同样原理即拟合函数式拟合函数常为代数多项见情况作为曲线拟合的一种常

即可解得即对于拟合函数拟合这就是用途最广的线性时特别的当bayxybaxxxxbayiiiiiim0000200,.,1n.29/3/2022••例题下

面举个例子以说明用最小二乘法解题的步骤。例电流通过2Ω电阻,用伏安法侧得的电压电流如表I(A)1246810V(V)1.83.78.212.015.820.2用最小二乘法处理数据。解1.确定V=(I)的形式。将数据点描绘在坐标上(如下图),可以看出这些点在一条直线的附近,故用线形

拟合数据,即2.建立方程组。IaaV109/3/2022••§3-3建立经验公式的方法§3-3建立经验公式的方法—==)1111156(8412xxyp47•9/3/2022最小二乘法的多项式拟合,要注意的问题:最小二乘法的其他函数的拟合§3-3建立经验公式的方法1.多项式

的幂次不能太高,一般小于72.一组数据或一条线图有时,不能用一个多项式表示其全部,此时应分段处理,分段大都发生在拐点或转折之处,此外如欲提高某区间的拟合精度,则应在该区间上采集更多的点。xyalog对数函数9/3/2022••综上所述,求数据组的最小二乘法拟合函数

的步骤为:(1)由给定的数据确定近似函数的表达形式,一般可通过描点观察和经验估计得到。(2)按最小二乘法原则确定表达式中的参数。值得提出的是:一些简单的非线性最小二乘法问题通常需先作变换将问题化为线性最小二乘问题再求解。§3-3建立经验公式的方法•9/3/2

0221.高斯(Gauss)消去法例题1解线性方程组§3-3建立经验公式的方法二、列主元素高斯消去法求解线性联立方程先消去方程组(1)中后两个方程中的变量X1,得同解方程组再消去方程组(2)中第三个方程中得变量x,又得(1)得同解方程组1,2,3321x

xx解:(1)(2)(3)•9/3/2022§3-3建立经验公式的方法高斯(Gauss)消去法基本思想:先逐次的消去变量,将方程组化成同解的上三角形方程组,此过程称为消元过程,然后按方程相反的顺序求解上三角方程组,得到原方程组的解,此过程称为回代过程。2.列主元素法(4

)(4)(4)(4)§3-3建立经验公式的方法•9/3/2022§3-3建立经验公式的方法•9/3/2022例2解线性方程组§3-3建立经验公式的方法计算结果保留3位小数?解由回代过程得解:•9/3/20223.4工程数据的数据库管理3.4.1数据库系统及管理虽然数据库

也是以文件方式存储数据,但它是数据的一种高级组织形式。在应用程序和数据库之间,有一个新的数据管理软件DBMS(DataBaseManagementSystem),即数据库管理系统。数据库管理系统是一组专门处理、访问数据库的程

序,它可完成数据库的定义、管理、建立、维护等操作,是用户与数据库之间的接口。9/3/2022••习题用最小二乘法求出拟合曲线考察某种纤维的强度与其拉伸倍数的关系,下表是实际测定的11个纤维样品的强度与相应的拉伸倍数记录:编号拉伸倍数xi强度yi1

1.91.4221.332.11.842.52.552.72.862.72.573.5383.52.79441043.5114.54.2

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?