版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
工程數(shù)據(jù)的處理方法
及CAD程序編制CAD/CAM技術(shù)基礎(chǔ)在機(jī)械設(shè)計(jì)過(guò)程中,常常需要從有關(guān)的工程手冊(cè)或設(shè)計(jì)規(guī)范中查找及檢索有關(guān)曲線、表格數(shù)據(jù),以獲得設(shè)計(jì)或校核計(jì)算時(shí)所需要的各種系數(shù)、參數(shù)等。如何將這種人工查找轉(zhuǎn)變成在CAD進(jìn)程中的高效、快速處理,這就涉及工程數(shù)據(jù)的處理方法及CAD程序編制技術(shù)。
目前,在CAD技術(shù)中,對(duì)工程數(shù)據(jù)進(jìn)行處理的方法主要有以下三種:(1)將工程數(shù)據(jù)轉(zhuǎn)化為程序存入計(jì)算機(jī)內(nèi)存;(2)將工程數(shù)據(jù)轉(zhuǎn)化為數(shù)據(jù)文件存入計(jì)算機(jī)外存;(3)將工程數(shù)據(jù)轉(zhuǎn)化為結(jié)構(gòu)存入數(shù)據(jù)庫(kù)。4.3工程數(shù)據(jù)的處理方法及CAD程序編制公差配合的查詢
在機(jī)械設(shè)計(jì)中,常用數(shù)表形式給出機(jī)械零部件的設(shè)計(jì)參數(shù)。設(shè)計(jì)計(jì)算時(shí),需根據(jù)給定條件從表格中選取需要的值。在編制機(jī)械CAD計(jì)算程序的時(shí)候,應(yīng)將數(shù)表作程序化處理,以便調(diào)用。
機(jī)械設(shè)計(jì)過(guò)程中所使用的工程技術(shù)數(shù)表種類很多。通常,按數(shù)表中的數(shù)據(jù)有無(wú)函數(shù)關(guān)系,可分為:數(shù)表簡(jiǎn)單數(shù)表列表函數(shù)表有計(jì)算公式的列表函數(shù)表無(wú)計(jì)算公式的列表函數(shù)表按數(shù)表的維數(shù),又可分為:數(shù)表一維數(shù)表二維數(shù)表n維數(shù)表等4.3.1數(shù)表的分類及存取
1.數(shù)表的分類包角α708090100110120130140Kα0.560.620.680.730.780.820.860.89表4-1包角系數(shù)Kα一維數(shù)表表4-2V帶長(zhǎng)度系數(shù)KL
二維數(shù)表在CAD作業(yè)中,進(jìn)行工程數(shù)表存取的一般原則如下:
■
數(shù)據(jù)存入計(jì)算機(jī)的形式應(yīng)考慮到檢索的方便,通常將數(shù)據(jù)按一定規(guī)則進(jìn)行排列,然后存入數(shù)組。
■
一維數(shù)表采用一維數(shù)組進(jìn)行存儲(chǔ)。
■
二維數(shù)表采用二維數(shù)組進(jìn)行存儲(chǔ)。
■查取數(shù)據(jù)時(shí)用邏輯判斷語(yǔ)句進(jìn)行比較,檢索出所需要的數(shù)據(jù)。
(1)一維數(shù)表的存取
現(xiàn)以例4-1為例說(shuō)明一維數(shù)表的存取方法。
例4-1一平鍵聯(lián)接中的平鍵基本尺寸數(shù)據(jù)如表4-3所示,試編寫(xiě)程序根據(jù)軸徑d
查取相應(yīng)的鍵寬b
和鍵高h(yuǎn)
。
2.數(shù)表的存取表4-3平鍵尺寸與軸徑關(guān)系(摘自GB1095-79)
規(guī)格(i)軸徑d(mm)b(mm)h(mm)規(guī)格(i)軸徑d(mm)b(mm)h(mm)0自6~8225>22~30871>8~10336>30~381082>10~12447>38~441283>12~17558>44~501494>17~22669>50~581610
解:根據(jù)表中軸徑d
檢索鍵寬b
和鍵高h(yuǎn)尺寸時(shí),首先需要判斷軸徑d
所在的范圍。
根據(jù)數(shù)表的這一特點(diǎn),在程序中存儲(chǔ)該數(shù)表時(shí),
可用兩個(gè)一維數(shù)組
b[10]和h[10]分別存儲(chǔ)鍵寬和鍵高的值,
再用另一個(gè)一維數(shù)組
d[11]存儲(chǔ)軸徑的范圍界限值。在CAD作業(yè)中,當(dāng)需要檢索鍵寬和鍵高時(shí),先用條件語(yǔ)句判斷軸徑d所在的范圍,在此范圍內(nèi)便可檢索出鍵寬和鍵高的數(shù)據(jù)值。依據(jù)這一思想,實(shí)現(xiàn)表4-3的數(shù)表存取的程序編寫(xiě)如下:
/*chp4_01.c*/#include<stdio.h>main(){staticfloatd[11]={6.0,8.0,10.0,12.0,17.0,22.0,30.0,38.0,44.0,50.0,58.0},b[10]={2.0,3.0,4.0,5.0,6.0,8.0,10.0,12.0,14.0,16.0},h[10]={2.0,3.0,4.0,5.0,6.0,7.0,8.0,8.0,9.0,10.0};floatdd,bb,hh;inti;puts("Pleaseinputd=?\n");scanf("%f",&dd);if(dd<d[0]||dd>d[10]){puts("Thedataisoutoftherange!\n");exit(1);}for(i=0;i<10;i++)if(dd<=d[i+1]){bb=b[i];hh=h[i];printf("b=%f,h=%f\n",bb,hh);exit(2);}}
現(xiàn)以例4-2為例說(shuō)明二維數(shù)表的存取方法。
例4-2
表4-2所示為V長(zhǎng)度系數(shù)KL,如果V帶的截面型號(hào)為A型,內(nèi)周長(zhǎng)度為560mm,試編寫(xiě)程序在該表中查取相應(yīng)的長(zhǎng)度系數(shù)KL。
解:對(duì)本例二維數(shù)表,首先需給資料名稱加注序號(hào),即給數(shù)表的行和列加注序號(hào):在行向加注序號(hào)
i=0~31(共32種內(nèi)周長(zhǎng)度),在列向加注序號(hào)j=0~6(共7種V
帶類型)。然后就可以定義一個(gè)二維數(shù)組將數(shù)表中的數(shù)據(jù)存入計(jì)算機(jī)。
在查表時(shí),只要給出其數(shù)據(jù)的位置序號(hào)(i,j),即可檢索到對(duì)應(yīng)的數(shù)據(jù)值。對(duì)于本例,即A型截面所對(duì)應(yīng)的列序號(hào)為j=1,內(nèi)周長(zhǎng)為560mm所對(duì)應(yīng)的行序號(hào)為
i=2,查取的V帶長(zhǎng)度系數(shù)KL
的程序如下:(2)二維數(shù)表的存取
序號(hào)
j
0
123456
i
截面型號(hào)
OABCDEF
內(nèi)周長(zhǎng)度(mm)
0
450
0.89
15000.91
2
5600.940.80.
.........
........
2911501.123014001.15
3116001.18表4-2V帶長(zhǎng)度系數(shù)KL
/*chp4_02.c*/#include<stdio.h>main(){staticfloatkl[32][7]={{0.89,100.0,100.0,100.0,100.0,100.0,100.0},{0.91,100.0,100.0,100.0,100.0,100.0,100.0},{0.94,0.80,100.0,100.0,100.0,100.0,100.0},..................}};inti,j;floatkl1;i=2;j=1;kl1=kl[i][j];if(fabs(kl1-100.0)<1.0e-6)printf("THEDATAOUTOFTHETABLE!");elseprintf("kl=%f",kl1);}
對(duì)于數(shù)表中出現(xiàn)的空格,應(yīng)在存入計(jì)算機(jī)時(shí)用一個(gè)適當(dāng)?shù)挠袆e于數(shù)表中其它數(shù)據(jù)的數(shù)字來(lái)代替,并在程序中使用判斷語(yǔ)句進(jìn)行檢查。在本例程序中使用數(shù)字“100.0”來(lái)代替空格,并使用判斷語(yǔ)句:“if(fabs(kl1-100.0)<1.0e-6)……”來(lái)檢查是否出現(xiàn)空格。
例1.普通V帶型號(hào)及截面尺寸
六個(gè)實(shí)例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,11.0,14.0,19.0,25.0};floatbp[7]={5.3,8.5,11.0,14.0,19.0,27.0,32.0};用戶給定i=2(即A型),則程序可以立即查出:b[2]=13.0,h[2]=8.0,bp[2]=11.0特點(diǎn):一個(gè)非數(shù)值型自變量。所查的值為離散型數(shù)據(jù)。方法:利用一維數(shù)組和一個(gè)整型變量。例2.平鍵和鍵槽的剖面尺寸
特點(diǎn):根據(jù)計(jì)算結(jié)果確定范圍。方法:利用一維數(shù)組和判斷語(yǔ)句來(lái)編程實(shí)現(xiàn)。例3.包角影響系數(shù)K2特點(diǎn):自變量和需要查的值均為連續(xù)值。方法:利用一元插值函數(shù)。例4.齒輪傳動(dòng)工況系數(shù)KAfloatKA;inti,j;floatKK[3][3]={{1.0,1.25,1.75},{1.25,1.5,2.0},{1.5,1.75,2.25}};特點(diǎn):兩個(gè)離散型自變量和一個(gè)離散型函數(shù)值。方法:利用二維數(shù)組。
r/dD/d6.03.02.01.501.201.101.051.031.021.010.042.592.402.332.212.092.001.881.801.721.010.101.881.801.731.681.621.591.531.491.441.360.151.641.591.551.521.481.461.421.381.341.260.201.491.461.441.421.391.381.341.311.271.200.251.391.371.351.341.331.311.291.271.221.170.301.321.311.301.291.271.2261.251.231.201.14例5:軸肩圓角處理論應(yīng)力集中系數(shù)特點(diǎn):兩個(gè)自變量是連續(xù)值。方法:利用二元插值函數(shù)。
例6.單根V帶的基本額定功率PI特點(diǎn):三個(gè)離散型自變量。方法:利用三維數(shù)組。
線圖是函數(shù)關(guān)系的一種常用表示方法。
線圖的特點(diǎn)是鮮明直觀,并能清楚地表示出函數(shù)的變化趨勢(shì)及規(guī)律。因此,在工程設(shè)計(jì)資料中,很多參數(shù)間的函數(shù)關(guān)系是用線圖來(lái)表達(dá)的。
但在CAD作業(yè)中,目前尚不能直接對(duì)線圖進(jìn)行編程,因此必須對(duì)它進(jìn)行相應(yīng)的處理,才能實(shí)現(xiàn)對(duì)參數(shù)圖存儲(chǔ)和自動(dòng)檢索的目的。
1.
線圖的類型根據(jù)線圖中數(shù)據(jù)的來(lái)源,線圖可分為兩類:線圖有計(jì)算公式的線圖區(qū)域圖無(wú)計(jì)算公式的線圖直線圖曲線圖4.3.2線圖的分類及處理
為了CAD作業(yè)需要,進(jìn)行線圖程序化處理的方法有以下幾種:?
線圖數(shù)表化處理(將線圖整理成數(shù)表);
?線圖公式化處理(建立出線圖的解析式);
?
曲線擬合處理(建立出線圖的近似式)。在線圖的處理方法中,可分如下幾種:
1)有計(jì)算公式線圖的處理
2)無(wú)計(jì)算公式線圖的處理
(1)線圖的數(shù)表化處理
(2)線圖的公式化處理
①直角坐標(biāo)系直線圖的公式化處理;②對(duì)數(shù)坐標(biāo)系直線圖
的公式化處理;③區(qū)域圖的處理。2.線圖的處理
有些線圖所表示的各參數(shù)之間關(guān)系原本就有計(jì)算公式,但為了設(shè)計(jì)人員工作時(shí)查取方便,將計(jì)算公式繪制成為線圖,如圖4-2。對(duì)于這樣的線圖,在CAD作業(yè)時(shí),應(yīng)在CAD計(jì)算程序中可直接使用公式進(jìn)行計(jì)算。
圖4-2螺旋角參數(shù)Zβ
1)有計(jì)算公式線圖的處理(1)線圖的數(shù)表化處理
線圖的數(shù)表化處理就是將線圖離散化為數(shù)表,然后再用4.3.1節(jié)中所述方法加以處理。以在CAD作業(yè)時(shí),供進(jìn)行數(shù)據(jù)檢索。例如,表4-4就是圖4-3離散化后形成的數(shù)表。圖4-3蝸輪的齒形系數(shù)Y2(變位系數(shù)ζ=0,α=20°,ha=1)
2)無(wú)計(jì)算公式線圖的處理表4-4蝸輪的齒形系數(shù)Y2(變位系數(shù)ζ=0,α=20°,ha=1)
進(jìn)行線圖公式化處理,對(duì)不同類型的線圖有不同的處理方法:
?
對(duì)有計(jì)算公式的線圖,可直接將公式編入程序;
?
對(duì)直線圖可將其圖形轉(zhuǎn)化為線性方程,再編入程序。而直線圖通常又分如下三種情況:
●直角坐標(biāo)直線圖
●對(duì)數(shù)坐標(biāo)直線圖
●區(qū)域圖具體處理方法如下:(2)線圖的公式化處理如圖4-4所示是齒輪強(qiáng)度計(jì)算時(shí)所用到的動(dòng)載系數(shù)Kv
的線圖,
橫坐標(biāo)為:VZ1
/100,
縱坐標(biāo)為:Kv
。包括直齒輪和斜齒輪共有16條直線分別代表不同精度等級(jí)下的函數(shù)關(guān)系。①直角坐標(biāo)系直線圖的公式化處理對(duì)于該線圖若用數(shù)表化處理,則要轉(zhuǎn)化為16個(gè)一維數(shù)表或2個(gè)二維數(shù)表,不僅數(shù)據(jù)量很大,而且還要占用較多的計(jì)算機(jī)內(nèi)存。
對(duì)此,可通過(guò)取直線上任意兩點(diǎn)的坐標(biāo)值來(lái)求其斜率,從而寫(xiě)出直線方程式。若已知直線上任意兩個(gè)點(diǎn)
坐標(biāo),則該直線方程為:直齒輪
斜齒輪
圖4-4動(dòng)載荷系數(shù)Kv
(4-1)對(duì)于Kv
線圖,則可表示成:式中:
為直線上任意兩點(diǎn)的縱坐標(biāo)值;為該兩點(diǎn)的橫坐標(biāo)值。
因此,對(duì)圖4-4上每一條直線選取其上任意兩點(diǎn)的坐標(biāo)值,帶入上式,便可列出直線方程,利用該方程便可計(jì)算出任意VZ1/100的動(dòng)載系數(shù)Kv值。利用上述方法,圖4-4中的16條直線,可變換為16個(gè)直線方程。②
對(duì)數(shù)坐標(biāo)系直線圖的公式化處理在機(jī)械設(shè)計(jì)資料中,常會(huì)遇到對(duì)數(shù)坐標(biāo)直線圖,如圖4-5所示。圖4-5彎曲強(qiáng)度的壽命系數(shù)YN
若已知對(duì)數(shù)坐標(biāo)系下直線上的任意兩點(diǎn)的坐標(biāo):令則(4-2)其對(duì)數(shù)坐標(biāo)的直線方程可以表示為:對(duì)于圖4-5所示的齒輪彎曲強(qiáng)度壽命系數(shù)YN的每一條直線,只要給出其兩任意點(diǎn)的坐標(biāo),即可列出它的直線方程式:將圖中某一直線任意兩點(diǎn)的坐標(biāo)值(N1,YN1),(N2,YN2)及要求取壽命系數(shù)YN
的應(yīng)力值次數(shù)
N
帶入上式,并令:令這樣就可用程序語(yǔ)言把YN與
N的關(guān)系表達(dá)出來(lái)。
例如圖4-6所示的齒輪材料的接觸疲勞強(qiáng)度極限應(yīng)力,因其影響因素很多,因而在國(guó)際標(biāo)準(zhǔn)中采用區(qū)域圖的方式表示,供設(shè)計(jì)者根據(jù)材料的質(zhì)量水平、熱處理工藝水平等條件來(lái)選用。工程技術(shù)中的許多物理量,往往是一些離散的、隨機(jī)的變量。
對(duì)于上述區(qū)域圖,具體的處理方法有兩種:
●
按區(qū)域圖的中線取值;
●
按區(qū)域圖的位置取值。圖4-6齒輪材料的接觸疲勞強(qiáng)度極限應(yīng)力
③區(qū)域圖的處理
■
按區(qū)域圖的中線取值處理
以圖4-6為例,首先必須找出區(qū)域圖中線(圖中點(diǎn)劃線)的表達(dá)式,為此在中線上任意選取兩點(diǎn)(HB1,SH1)、(HB2,SH2),由此兩點(diǎn)可以寫(xiě)出該極限應(yīng)力中線的表達(dá)式:利用上式,就可計(jì)算出任意齒面硬度HB
所對(duì)應(yīng)的。(4-3)
■
按區(qū)域圖的位置取值按前述的處理方法,設(shè)計(jì)人員在確定齒輪材料的極限應(yīng)力時(shí)只限于取中值,不盡全面。為了使設(shè)計(jì)者能根據(jù)所用材料性能的不同,按實(shí)際情況在區(qū)域內(nèi)取不同的值,為此,可以增加兩個(gè)參數(shù):●
一個(gè)是極限應(yīng)力的幅值參數(shù)
;●
另一個(gè)是極限應(yīng)力在區(qū)域圖中的位置參數(shù)ST。
當(dāng)ST=1
時(shí),表示取極限應(yīng)力的上限值;當(dāng)ST=0
時(shí),表示取極限應(yīng)力的中值;當(dāng)ST=-1
時(shí),表示取極限應(yīng)力的下限值。此時(shí),極限應(yīng)力的計(jì)算公式變?yōu)椋?/p>
這樣,ST
在+1~-1之間取值時(shí),就可以獲得區(qū)域圖中(見(jiàn)圖4-6)任意位置上的極限應(yīng)力值。(4-4)還有一種區(qū)域圖,如圖4-7所示的V帶選型圖。
這種區(qū)域圖是以直線作為不同型號(hào)的V帶膠帶的邊界線。因此,對(duì)這樣區(qū)域圖亦可以運(yùn)用直線方程來(lái)確定邊界線的坐標(biāo)。圖4-7V帶選型圖
圖4-7所示區(qū)域圖為對(duì)數(shù)坐標(biāo)圖,故在每條邊界線上任意選取兩點(diǎn)(P1,N1),(P2,N2),由此兩點(diǎn)就可寫(xiě)出該線的對(duì)數(shù)坐標(biāo)直線方程:將其變換成指數(shù)方程的形式:式中:(4-5)邊界線計(jì)算公式O-AN=677A-BN=100B-CN=24C-DN=7D-EN=1.16E-FN=0.329按照上述方法,圖4-7中6
條邊界線的方程(計(jì)算公式)為:式中,P
——為計(jì)算功率,kW;
N
——邊界線上相對(duì)于計(jì)算功率P
的轉(zhuǎn)速,r/min。根據(jù)上述,編寫(xiě)出的三角膠帶傳動(dòng)“V帶帶型選擇函數(shù)”如下:charv_belt_type(floatp,floatn)/*Selectthetypeofv_belt*/{if(n>=4900.0)return('O');elseif(n>677.0*pow(p,1.454))return('O');elseif(n>=3400.0)return('A');elseif(n>100.0*pow(p,1.486))return('A');elseif(n>=2400.0)return('B');elseif(n>24.0*pow(p,1.47))return('B')elseif(n>=1500.0)return('C');
V帶帶型選擇函數(shù)elseif(n>7.0*pow(p,1.488))return('C');elseif(n>=1200.0)return('D');elseif(n>1.16*pow(p,1.545))return('D');elseif(n>=700.0)return('E');elseif(n>0.329*pow(p,1.5))return('E');elsereturn('F');表4-a列表函數(shù)xx1x2x3…xi…xnyy1y2y3…yi…yn由于列表函數(shù)只能給出結(jié)點(diǎn)處的函數(shù)值,當(dāng)自變量為結(jié)點(diǎn)的中間值時(shí),就要用插值法求取其函數(shù)值。
插值法的基本思想:是在插值點(diǎn)附近選取幾個(gè)合適的結(jié)點(diǎn),用這些選取的點(diǎn)構(gòu)造一個(gè)簡(jiǎn)單函數(shù)
g(x),在此小段上用g(x)代替原來(lái)函數(shù)
f(x),這樣插值點(diǎn)的函數(shù)值就用
g(x)的值來(lái)代替。因此,插值的實(shí)質(zhì)問(wèn)題是如何構(gòu)造一個(gè)既簡(jiǎn)單又具有足夠精度的函數(shù)g(x)。設(shè)有一用數(shù)據(jù)表格給出的列表函數(shù),如下表所示:4.3.3列表函數(shù)表的插值計(jì)算
線性插值就是構(gòu)造一個(gè)線性函數(shù)
g(x)來(lái)代替原先的函數(shù)
f(x),如圖4-8所示。
插值步驟如下:圖4-8線性插值①?gòu)谋砀裰羞x取兩個(gè)相鄰的自變量
xi
、xi+1,滿足下列條件:
x
i
<x<
x
i+1;②過(guò)(x
i,y
i)及(xi+1,yi+1)兩點(diǎn)連直線
g(x)
代替原來(lái)的函數(shù)f(x),則x的函數(shù)值
y
為(4-6)1.一維列表函數(shù)表的插值
(1)線性插值
線性插值是一種既簡(jiǎn)單又常用的插值算法,在機(jī)械CAD計(jì)算程序中經(jīng)常用到,將此算法編寫(xiě)的一維線性插值函數(shù)如下:floatlip(floatx[],floaty[],intn,floatt){inti;for(i=0;i<=n-3;i++)if(t<=x[i+1])gotoa;i=n-2;a:return(y[i]+(y[i+1]-y[i])*(t-x[i])/(x[i+1]-x[i]));}
程序說(shuō)明
:
(1)該函數(shù)中用一維數(shù)組
x[],y[]分別存儲(chǔ)數(shù)表中的自變量數(shù)據(jù)和函數(shù)值數(shù)據(jù);
(2)n
為數(shù)組元素的個(gè)數(shù),數(shù)組元素的下標(biāo)從0變化到n-1;
(3)t為插值點(diǎn)的自變量數(shù)值。
例4-3已知V帶傳動(dòng)小帶輪包角α1=125.4°,由表4-1采用線性插值算法查取所對(duì)應(yīng)的包角系數(shù)Kα。/*chp4_03.c*/#include<stdio.h>main(){floatlip(floatx[],floaty[],intn,floatt);staticfloatrf[16]={70.0,80.0,90.0,100.0,110.0,120.0,130.0,140.0,150.0,160.0,170.0,180.0,190.0,200.0,210.0,220.0},krf[16]={0.56,0.62,0.68,0.73,0.78,0.82,0.86,0.89,0.92,0.95,0.98,1.0,1.05,1.1,1.15,1.2};floatkrf1;krf1=lip(rf,krf,16,125.4);printf("krf1=%f",krf1);}解:將此數(shù)據(jù)的檢索過(guò)程編寫(xiě)成計(jì)算機(jī)程序如下:
在此程序中調(diào)用上述一維線性插值函數(shù)lip()執(zhí)行一維線性插值運(yùn)算。程序運(yùn)行結(jié)果如下:
krf1=0.84160000即,根據(jù)給定的小帶輪包角α1=125.4°,通過(guò)線性插值算法查取所對(duì)應(yīng)的包角系數(shù)Kα
=0.84160000
。(2)
拋物線插值
用線性函數(shù)
g(x)
來(lái)代替f(x)時(shí),僅利用了兩個(gè)結(jié)點(diǎn)上的信息,因此誤差較大,為了減少誤差可利用三個(gè)結(jié)點(diǎn)上的信息,采用拋物線插值。
在f(x)上取三點(diǎn),過(guò)此三點(diǎn)作拋物線
g(x),以用來(lái)替代
f(x),可以獲得比線性插值精度高的結(jié)果,如圖4-9所示。則過(guò)三點(diǎn)(xi-1,yi-1)及(xi,yi)、(xi+1,yi+1)的拋物線方程為圖4-9拋物線插值算法示意圖
(4-7)
在拋物線插值中,如何選取合適的三個(gè)點(diǎn)是關(guān)鍵所在,選取方法歸納如下:
設(shè)已知插值點(diǎn)
x
,求對(duì)應(yīng)的函數(shù)值y:(1)從已知函數(shù)表格中選取二點(diǎn),它們滿足下列條件
(2)比較的值,取其值小者作為取點(diǎn)延伸方向,從表格中選取第三點(diǎn)作為拋物線方程經(jīng)過(guò)的點(diǎn)。
當(dāng)時(shí),即三個(gè)點(diǎn);
當(dāng)
時(shí),即三個(gè)點(diǎn);(3)若三個(gè)點(diǎn)。(4)若三個(gè)點(diǎn)。用C語(yǔ)言編制的一維拋物線插值函數(shù)的源程序如下:floatqip(floatx[],floaty[],intn,floatt){inti;floatu,v,w;for(i=0;i<=n-4;i++)if(t<=x[i+1])gotoa;i=n-3;a:if(i>0&&(t-x[i])<(x[i+1]-t))i=i-1;u=(t-x[i+1])*(t-x[i+2])/(x[i]-x[i+1])/(x[i]-x[i+2]);v=(t-x[i])*(t-x[i+2])/(x[i+1]-x[i])/(x[i+1]-x[i+2]);w=(t-x[i])*(t-x[i+1])/(x[i+2]-x[i])/(x[i+2]-x[i+1]);return(u*y[i]+v*y[i+1]+w*y[i+2]);}
對(duì)于具有兩個(gè)自變量的二維列表函數(shù)的插值,從幾何意義上講是在三維空間內(nèi),選定幾個(gè)點(diǎn),通過(guò)這些點(diǎn)構(gòu)造一塊曲面
g(x,y),用它近似地表示在這區(qū)間內(nèi)原有的曲面
f(x,y)。
設(shè)有一二維列表函數(shù)如下表4-b
所示:表4-b二維列表函數(shù)和插值點(diǎn)的函數(shù)值2.二維列表函數(shù)表的插值
曲面
f(x,y)的三維情況,用線框圖表示時(shí),則如圖4-e所示。設(shè)有一個(gè)曲面f(x,y),被兩組平行
xoz或yoz
的平面相截,因此得到二組曲線,這二組曲線的交點(diǎn)即為x(i),y(j)處的Z(i,j)。也就是表中的函數(shù)值。圖4-e二維列表函數(shù)表的插值
這二組曲線把曲面分成許多小塊,每一小塊四個(gè)角的值可以從表格中查出。至于小塊內(nèi)曲面上各點(diǎn)的函數(shù)值就無(wú)法由表格中查取。為能得到小塊內(nèi)曲面上任一點(diǎn)的函數(shù)值,可以類同于一維數(shù)表,設(shè)法構(gòu)造一個(gè)二元函數(shù)
g(x,y),它能近似地代替原曲面的
f(x,y)。因此二維數(shù)表插值的實(shí)質(zhì)是如何來(lái)構(gòu)造
g(x,y)。
插值函數(shù)
g(x,y)的構(gòu)造,主要有以下兩種方法:
?
線性插值算法
?
拋物線插值算法
二維列表函數(shù)的線性插值算法的原理,如圖4-10所示。
首先:從二維數(shù)表中給定的m×n
結(jié)點(diǎn)中選取最接近插值點(diǎn)
T(x,y)相鄰的4個(gè)結(jié)點(diǎn);
然后:分別用三次一維線性插值方法就可求出相應(yīng)于插值點(diǎn)
T(x,y)的函數(shù)值
Z(x,y)。圖4-10二維列表函數(shù)表的線性插值
(1)線性插值圖4-10a二維列表函數(shù)表的線性插值
A,B→EC,D→FE,F→T則線性插值算法的工作步驟如下:
(1)
由A、B兩點(diǎn)用一維線性插值方法計(jì)算出
E(xi,y)點(diǎn)的插值函數(shù)值ZE;
(2)
再用同樣方法,由C、D兩點(diǎn)求出F(xi+1,y)點(diǎn)的插值函數(shù)值ZF;
(3)
用同樣的方法,由E、F兩點(diǎn)求得插值點(diǎn)
T(x,y)的插值函數(shù)值Z(x,y)。如圖4-10所示:設(shè)與插值點(diǎn)
T(x,y)相鄰的4個(gè)結(jié)點(diǎn)為:A、B、C、D,這4個(gè)結(jié)點(diǎn)上的函數(shù)值z(mì)(x,y)均已知。
由上述算法的執(zhí)行過(guò)程得到的二維列表函數(shù)表的線性插值算法公式為:式中:(4-8)用C語(yǔ)言編制的二維線性插值函數(shù)的源程序如下:floattlip(floatx[],floaty[],floatz[][8],intm,intn,floattx,floatty){inti,j;floata,b,f;for(i=0;i<=m-3;i++)if(tx<=x[i+1])gotoc;i=m-2;c:for(j=0;j<=n-3;j++)if(ty<=y[j+1])gotod;j=n-2;d:a=(tx-x[i])/(x[i+1]-x[i]);b=(ty-y[j])/(y[j+1]-y[j]);f=(1-a)*(1-b)*z[i][j]+b*(1-a)*z[i][j+1]+a*(1-b)*z[i+1][j]+a*b*z[i+1][j+1];return(f);}
二維列表函數(shù)三點(diǎn)拋物線插值法的思路,基本上與二維線性插值法一致。只是在插值計(jì)算時(shí),共4次運(yùn)用一維拋物線插值算法來(lái)替代一維線性插值算法。用該方法可以提高插值精度。
該算法的插值步驟如下:
?
首先,從給定的m×n個(gè)結(jié)點(diǎn)中,選取最靠近插值點(diǎn)T(x,y)相鄰的9
個(gè)結(jié)點(diǎn)(見(jiàn)圖4-11);
?
其次,由三個(gè)點(diǎn),按插值點(diǎn)
T(x,y)
在y方向的位置用一維拋物線插值方法求出A點(diǎn)的插值函數(shù)值ZA
;圖4-11二維列表函數(shù)表的拋物線插值
y0x(2)拋物線插值
?
再用同樣方法,求得B、C兩點(diǎn)的插值函數(shù)值ZB、ZC;
?
最后,再用A、B、C三點(diǎn)的插值函數(shù)值按插值點(diǎn)
T(x,y)在
x方向的位置用一維拋物線插值算法計(jì)算出插值點(diǎn)
T(x,y)
插值函數(shù)值Z(x,y)。
由上述算法執(zhí)行過(guò)程得到的二維列表函數(shù)表的拋物線插值算法公式為:(4-9)式中:∏累乘;表示乘積遍取k從i到i+2(k≠r
除外)的全部數(shù)值。floattqip(floatx[],floaty[],floatz[][24],intm,intn,floattx,floatty){inti,j,k,l;floatu[3],v[3],f;for(i=0;i<=m-4;i++)if(tx<=x[i+1])gotoc;i=m-3;c:for(j=0;j<=n-4;j++)if(ty<=y[j+1])gotod;j=n-3;d:if(I>0&&tx-x[i]<x[i+1]-tx)i=i-1;if(j>0&&ty-y[j]<y[j+1]-ty)j=j-1;
用C語(yǔ)言編制的二維拋物線插值函數(shù)的源程序如下:u[0]=(tx-x[i+1])*(tx-x[i+2])/(x[i]-x[i+1])/(x[i]-x[i+2]);u[1]=(tx-x[i])*(tx-x[i+2])/(x[i+1]-x[i])/(x[i+1]-x[i+2]);u[2]=(tx-x[i])*(tx-x[i+1])/(x[i+2]-x[i])/(x[i+2]-x[i+1]);v[0]=(ty-y[j+1])*(ty-y[j+2])/(y[j]-y[j+1])/(y[j]-y[j+2]);v[1]=(ty-y[j])*(ty-y[j+2])/(y[j+1]-y[j])/(y[j+1]-y[j+2]);v[2]=(ty-y[j])*(ty-y[j+1])/(y[j+2]-y[j])/(y[j+2]-y[j+1]);f=0.0;for(k=0;k<=2;k++){for(l=0;l<=2;l++){f+=u[k]*v[l]*z[i+k][j+l];}}return(f);}
在實(shí)際工程問(wèn)題中,時(shí)常需要用一定的數(shù)學(xué)方法將一系列測(cè)試數(shù)據(jù)或統(tǒng)計(jì)數(shù)據(jù)擬合成近似的經(jīng)驗(yàn)公式,這種建立經(jīng)驗(yàn)公式的過(guò)程也稱為曲線擬合,或稱數(shù)據(jù)公式化。
工程應(yīng)用中,一般采用最小二乘法多項(xiàng)式擬合。所求曲線并不要求嚴(yán)格通過(guò)所有結(jié)點(diǎn),而是盡可能反映所給數(shù)據(jù)的趨勢(shì)。下面介紹:
曲線擬合,目前一般采用最小二乘法擬合。
擬合公式的類型通常可以選取線性方程、代數(shù)多項(xiàng)式或一些初等函數(shù)。這一工作由編程人員根據(jù)線圖或?qū)嶒?yàn)數(shù)據(jù)分布形態(tài)來(lái)決定?!?/p>
最小二乘法的多項(xiàng)式擬合●
最小二乘法的其他函數(shù)的擬合4.3.4
數(shù)據(jù)的公式擬合方法1.最小二乘法的多項(xiàng)式擬合已知:由線圖或?qū)嶒?yàn)所得m
個(gè)點(diǎn)的值:圖4-12最小二乘法多項(xiàng)式擬合用一個(gè)n
次多項(xiàng)式
y(x)
來(lái)擬合,如圖4-12所示,設(shè)擬合公式為:(4-10)
而且m>>n
,則每一結(jié)點(diǎn)處的偏差為:
為獲得最佳擬合曲線,根據(jù)最小二乘法原理,即要求每一結(jié)點(diǎn)的偏差Di
的平方和最小,則結(jié)點(diǎn)偏差的平方和為:(4-11)這表明偏差平方和是系數(shù)
的函數(shù)。為使其最小,取對(duì)各自變量的偏導(dǎo)數(shù)等于零:求各偏導(dǎo)數(shù)并經(jīng)整理得到:(4-12)令得即(4-13)亦可寫(xiě)成下面的方程組:(4-14)
上式中待求的系數(shù)
共有(n+1)
個(gè),
方程也是(n+1)個(gè),因此組成線性聯(lián)立方程組,
解此線性聯(lián)立方程,即可求得多項(xiàng)式
y(x)
中的各項(xiàng)系數(shù)。
在求得多項(xiàng)式y(tǒng)(x)中的各項(xiàng)系數(shù)后,
n
次多項(xiàng)式(4-10)便確定:
例4-4有一組實(shí)驗(yàn)數(shù)據(jù),如下表
4-c
所示,它有7個(gè)點(diǎn),現(xiàn)要求用二次多項(xiàng)式擬合。表4-c一組實(shí)驗(yàn)數(shù)據(jù)
點(diǎn)號(hào)1234567Xi-3-2-10123Yi4230-1-2-5解:
設(shè)經(jīng)驗(yàn)公式為:
根據(jù)上述實(shí)驗(yàn)數(shù)據(jù)及經(jīng)驗(yàn)公式可知:m=7,n=2,代入式(4-12),得以下三個(gè)方程:
j=0時(shí)
j=1時(shí)
j=2時(shí)把Xi,Yi
用上表中的值代入,得求解得:最后得到擬合的經(jīng)驗(yàn)公式為
工程中設(shè)計(jì)資料中的很多經(jīng)驗(yàn)公式,就是對(duì)實(shí)驗(yàn)獲得的數(shù)據(jù)數(shù)表通過(guò)曲線擬合的方法得來(lái)的。除代數(shù)多項(xiàng)式外,根據(jù)情況還可采用:
(1)冪函數(shù)
(2)指數(shù)函數(shù)
(3)對(duì)數(shù)函數(shù)(4-14)(4-15)(4-16)
例如,若已知m
組數(shù)據(jù)
,i=1,2,…,m,假設(shè)所擬合的指數(shù)函數(shù)曲線形式為:lgy=lga+blgx(4-17)令:(4-19)(4-18)對(duì)上式指數(shù)函數(shù)兩邊取對(duì)數(shù),得2.最小二乘法的其他函數(shù)的擬合
先將已知數(shù)據(jù)
代入式(4-19)中,求得相應(yīng)的值,再代入式得到在對(duì)數(shù)坐標(biāo)系中的一個(gè)線性方程。與多項(xiàng)式曲線擬合相似,采用最小二乘法就可以得到上式中的系數(shù)
v
和b,再由lga=v求得系數(shù)
a
。代入上式,得(4-20)
將數(shù)據(jù)以數(shù)組的形式存入計(jì)算機(jī)內(nèi)存中,雖然解決了數(shù)表和線圖在CAD計(jì)算程序中的存儲(chǔ)和檢索問(wèn)題,但存在下列不足:(1)需要占用大量的內(nèi)存。
(2)前述數(shù)據(jù)的存取方法,包括公式化處理,其處理后的數(shù)表和線圖與特定的CAD計(jì)算程序相聯(lián),使得這些數(shù)表和線圖只能在該程序中使用,不能被其他程序共享。因此,前述數(shù)據(jù)的處理方法一般只適用于使用數(shù)表和線圖較少的簡(jiǎn)單程序。為了克服這種方法的不足,較為完善的方法是將數(shù)據(jù)與計(jì)算程序分開(kāi)、單獨(dú)建立數(shù)據(jù)文件。4.3.5數(shù)據(jù)文件及其應(yīng)用
文件是信息(數(shù)據(jù)與字符)的集合。將數(shù)表和線圖中的數(shù)據(jù)按指定的文件名存放在計(jì)算機(jī)外存儲(chǔ)裝置(磁盤、磁帶等)上,就可建立用戶的數(shù)據(jù)文件,當(dāng)CAD計(jì)算程序需要使用到某一個(gè)數(shù)表或線圖中的數(shù)據(jù)時(shí),只需用適當(dāng)?shù)某绦蛘Z(yǔ)句(文件操作語(yǔ)句)將它們從外存中調(diào)入計(jì)算機(jī)內(nèi)存。
建立數(shù)據(jù)文件的方法不僅解決了前述方法存儲(chǔ)數(shù)據(jù)時(shí)需要占用大量?jī)?nèi)存的問(wèn)題,而且可使數(shù)據(jù)文件獨(dú)立于計(jì)算程序,且一個(gè)數(shù)據(jù)文件可供不同的計(jì)算程序調(diào)用,較好地解決了數(shù)據(jù)的共享問(wèn)題。圖4-f數(shù)據(jù)文件的調(diào)用示意圖
數(shù)據(jù)庫(kù)系統(tǒng)是在文件系統(tǒng)的基礎(chǔ)上發(fā)展起來(lái)的一門新型數(shù)據(jù)管理技術(shù)。它是一種能夠“管理大量的、持久的、可靠的、共享的數(shù)據(jù)的工具”。
數(shù)據(jù)庫(kù)技術(shù)不僅可以處理CAD系統(tǒng)的大量工程數(shù)據(jù),而且大大完善和提高了CAD系統(tǒng)數(shù)據(jù)處理的效率和可靠性。因此,數(shù)據(jù)庫(kù)已經(jīng)成為現(xiàn)代CAD系統(tǒng)不可缺少的重要組成部分。4.4機(jī)械工程數(shù)據(jù)庫(kù)的創(chuàng)建與應(yīng)用在現(xiàn)代CAD系統(tǒng)中,為了適應(yīng)CAD作業(yè)的需要,須把各類工程數(shù)據(jù)結(jié)構(gòu)和文件組織方式建立起數(shù)據(jù)庫(kù)及其管理系統(tǒng)。下面簡(jiǎn)要介紹一下數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng)。
?
數(shù)據(jù)庫(kù)及其特點(diǎn)
?常用的數(shù)據(jù)庫(kù)管理系統(tǒng)4.4.1數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng)
所謂數(shù)據(jù)庫(kù)就是一個(gè)存儲(chǔ)著關(guān)聯(lián)數(shù)據(jù)的數(shù)據(jù)集合。它由一系列各種組織形式的數(shù)據(jù)文件組成。1.
數(shù)據(jù)庫(kù)及其特點(diǎn)圖4-g數(shù)據(jù)庫(kù)與應(yīng)用程序
數(shù)據(jù)庫(kù)是在文件系統(tǒng)的基礎(chǔ)上發(fā)展起來(lái)的。與文件系統(tǒng)不同,數(shù)據(jù)庫(kù)系統(tǒng)的工作模式如下圖4-b所示,即在數(shù)據(jù)系統(tǒng)中,應(yīng)用程序并不直接操作數(shù)據(jù)庫(kù),而是通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。
與文件系統(tǒng)相比,數(shù)據(jù)庫(kù)系統(tǒng)具有以下特點(diǎn):
(1)實(shí)現(xiàn)了數(shù)據(jù)共享,減少了數(shù)據(jù)冗余。
(2)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)化。
(3)增強(qiáng)了數(shù)據(jù)的獨(dú)立性。(4)加強(qiáng)了對(duì)數(shù)據(jù)的保護(hù)。
數(shù)據(jù)庫(kù)管理系統(tǒng)是建立、使用、管理和維護(hù)數(shù)據(jù)庫(kù)的軟件,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的安全性、完整性和保密性的統(tǒng)一控制。
目前流行的數(shù)據(jù)庫(kù)管理系統(tǒng)很多,諸如:?
dBASE;
?
FOXBASE;
?
FOXPRO;
?
ORACLE等。但它們都屬于事務(wù)管理型關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),更適合于管理科學(xué)的應(yīng)用領(lǐng)域。由于CAD作業(yè)所涉及的數(shù)據(jù)較為復(fù)雜,因而真正面向CAD系統(tǒng)的工程數(shù)據(jù)庫(kù)管理系統(tǒng)(EDBMS)還有待進(jìn)一步的開(kāi)發(fā)。2.常用的數(shù)據(jù)庫(kù)管理系統(tǒng)
l.
電子表格處理軟件Excel
在計(jì)算機(jī)提供的海量表格上填寫(xiě)內(nèi)容,進(jìn)行數(shù)據(jù)處理和數(shù)據(jù)分析,內(nèi)置函數(shù)用于求和、求平均值、計(jì)算三角函數(shù)等操作。
建立數(shù)據(jù)庫(kù):Excel數(shù)據(jù)庫(kù)是按行和列組織起來(lái)的信息集合,每行稱為一個(gè)記錄,每列稱為一個(gè)字段;對(duì)數(shù)據(jù)庫(kù)的記錄進(jìn)行查詢、排序、匯總等操作。
進(jìn)行數(shù)據(jù)分析:只需為每一個(gè)分析工具提供必要的數(shù)據(jù)和參數(shù),該工具就會(huì)使用適宜的統(tǒng)計(jì)或工程函數(shù),在輸出表格中顯示相應(yīng)的結(jié)果。其中的一些工具在生成輸出表格時(shí)還能同時(shí)產(chǎn)生圖表??蓮钠渌臄?shù)據(jù)庫(kù)(Access,F(xiàn)oxPro,SQLServer等)引入數(shù)據(jù)。4.4.2
關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)用實(shí)例簡(jiǎn)介2.
數(shù)據(jù)庫(kù)管理系統(tǒng)Access(1)無(wú)須編寫(xiě)代碼,只要通過(guò)直觀的可視化操作,就能完成大部分?jǐn)?shù)據(jù)管理工作。(2)能夠與word、Excel等
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建師范大學(xué)協(xié)和學(xué)院《統(tǒng)計(jì)學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《中國(guó)傳統(tǒng)音樂(lè)概論》2022-2023學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《教育史》2023-2024學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《高觀點(diǎn)下的中學(xué)數(shù)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024屆上海市七寶高中高三第一次調(diào)研測(cè)數(shù)學(xué)試題
- 景陽(yáng)岡課件教材幫
- 《機(jī)電一體化技術(shù)基礎(chǔ)》 教案 卓民 第1-3章 機(jī)電一體化概述-傳感與檢測(cè)技術(shù)
- 2024年北京客運(yùn)車駕駛員培訓(xùn)資料
- 2024年海口客運(yùn)資格證緊急救護(hù)試題和答案
- 2024年山南從業(yè)資格證模擬考試題庫(kù)
- 新質(zhì)生產(chǎn)力:復(fù)合概念、發(fā)展基礎(chǔ)與系統(tǒng)創(chuàng)新路徑
- 2024年個(gè)人車位租賃合同參考范文(三篇)
- 江西省九江市修水縣2024屆九年級(jí)上學(xué)期期中考試數(shù)學(xué)試卷(含答案)
- 2024年山東省濟(jì)南市中考數(shù)學(xué)真題(含答案)
- 二手門市銷售合同范本
- 2024年安全員A證試題庫(kù)(附答案)
- 浙江省溫州市蒼南縣2023-2024學(xué)年八年級(jí)上學(xué)期期中考試英語(yǔ)試題
- 部編版五年級(jí)上冊(cè)《交流平臺(tái)·初試身手·習(xí)作例文》課件
- 新蘇教版六年級(jí)上冊(cè)科學(xué)全冊(cè)知識(shí)點(diǎn)
- 2.2生命活動(dòng)的主要承擔(dān)者-蛋白質(zhì)(公開(kāi)課)
- 2024-2030年中國(guó)汽摩配行業(yè)運(yùn)營(yíng)態(tài)勢(shì)及重點(diǎn)企業(yè)發(fā)展分析報(bào)告
評(píng)論
0/150
提交評(píng)論