版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
工程數(shù)據(jù)的處理方法
及CAD程序編制CAD/CAM技術基礎在機械設計過程中,常常需要從有關的工程手冊或設計規(guī)范中查找及檢索有關曲線、表格數(shù)據(jù),以獲得設計或校核計算時所需要的各種系數(shù)、參數(shù)等。如何將這種人工查找轉變成在CAD進程中的高效、快速處理,這就涉及工程數(shù)據(jù)的處理方法及CAD程序編制技術。
目前,在CAD技術中,對工程數(shù)據(jù)進行處理的方法主要有以下三種:(1)將工程數(shù)據(jù)轉化為程序存入計算機內存;(2)將工程數(shù)據(jù)轉化為數(shù)據(jù)文件存入計算機外存;(3)將工程數(shù)據(jù)轉化為結構存入數(shù)據(jù)庫。4.3工程數(shù)據(jù)的處理方法及CAD程序編制公差配合的查詢
在機械設計中,常用數(shù)表形式給出機械零部件的設計參數(shù)。設計計算時,需根據(jù)給定條件從表格中選取需要的值。在編制機械CAD計算程序的時候,應將數(shù)表作程序化處理,以便調用。
機械設計過程中所使用的工程技術數(shù)表種類很多。通常,按數(shù)表中的數(shù)據(jù)有無函數(shù)關系,可分為:數(shù)表簡單數(shù)表列表函數(shù)表有計算公式的列表函數(shù)表無計算公式的列表函數(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帶長度系數(shù)KL
二維數(shù)表在CAD作業(yè)中,進行工程數(shù)表存取的一般原則如下:
■
數(shù)據(jù)存入計算機的形式應考慮到檢索的方便,通常將數(shù)據(jù)按一定規(guī)則進行排列,然后存入數(shù)組。
■
一維數(shù)表采用一維數(shù)組進行存儲。
■
二維數(shù)表采用二維數(shù)組進行存儲。
■查取數(shù)據(jù)時用邏輯判斷語句進行比較,檢索出所需要的數(shù)據(jù)。
(1)一維數(shù)表的存取
現(xiàn)以例4-1為例說明一維數(shù)表的存取方法。
例4-1一平鍵聯(lián)接中的平鍵基本尺寸數(shù)據(jù)如表4-3所示,試編寫程序根據(jù)軸徑d
查取相應的鍵寬b
和鍵高h
。
2.數(shù)表的存取表4-3平鍵尺寸與軸徑關系(摘自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尺寸時,首先需要判斷軸徑d
所在的范圍。
根據(jù)數(shù)表的這一特點,在程序中存儲該數(shù)表時,
可用兩個一維數(shù)組
b[10]和h[10]分別存儲鍵寬和鍵高的值,
再用另一個一維數(shù)組
d[11]存儲軸徑的范圍界限值。在CAD作業(yè)中,當需要檢索鍵寬和鍵高時,先用條件語句判斷軸徑d所在的范圍,在此范圍內便可檢索出鍵寬和鍵高的數(shù)據(jù)值。依據(jù)這一思想,實現(xiàn)表4-3的數(shù)表存取的程序編寫如下:
/*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為例說明二維數(shù)表的存取方法。
例4-2
表4-2所示為V長度系數(shù)KL,如果V帶的截面型號為A型,內周長度為560mm,試編寫程序在該表中查取相應的長度系數(shù)KL。
解:對本例二維數(shù)表,首先需給資料名稱加注序號,即給數(shù)表的行和列加注序號:在行向加注序號
i=0~31(共32種內周長度),在列向加注序號j=0~6(共7種V
帶類型)。然后就可以定義一個二維數(shù)組將數(shù)表中的數(shù)據(jù)存入計算機。
在查表時,只要給出其數(shù)據(jù)的位置序號(i,j),即可檢索到對應的數(shù)據(jù)值。對于本例,即A型截面所對應的列序號為j=1,內周長為560mm所對應的行序號為
i=2,查取的V帶長度系數(shù)KL
的程序如下:(2)二維數(shù)表的存取
序號
j
0
123456
i
截面型號
OABCDEF
內周長度(mm)
0
450
0.89
15000.91
2
5600.940.80.
.........
........
2911501.123014001.15
3116001.18表4-2V帶長度系數(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);}
對于數(shù)表中出現(xiàn)的空格,應在存入計算機時用一個適當?shù)挠袆e于數(shù)表中其它數(shù)據(jù)的數(shù)字來代替,并在程序中使用判斷語句進行檢查。在本例程序中使用數(shù)字“100.0”來代替空格,并使用判斷語句:“if(fabs(kl1-100.0)<1.0e-6)……”來檢查是否出現(xiàn)空格。
例1.普通V帶型號及截面尺寸
六個實例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特點:一個非數(shù)值型自變量。所查的值為離散型數(shù)據(jù)。方法:利用一維數(shù)組和一個整型變量。例2.平鍵和鍵槽的剖面尺寸
特點:根據(jù)計算結果確定范圍。方法:利用一維數(shù)組和判斷語句來編程實現(xiàn)。例3.包角影響系數(shù)K2特點:自變量和需要查的值均為連續(xù)值。方法:利用一元插值函數(shù)。例4.齒輪傳動工況系數(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}};特點:兩個離散型自變量和一個離散型函數(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:軸肩圓角處理論應力集中系數(shù)特點:兩個自變量是連續(xù)值。方法:利用二元插值函數(shù)。
例6.單根V帶的基本額定功率PI特點:三個離散型自變量。方法:利用三維數(shù)組。
線圖是函數(shù)關系的一種常用表示方法。
線圖的特點是鮮明直觀,并能清楚地表示出函數(shù)的變化趨勢及規(guī)律。因此,在工程設計資料中,很多參數(shù)間的函數(shù)關系是用線圖來表達的。
但在CAD作業(yè)中,目前尚不能直接對線圖進行編程,因此必須對它進行相應的處理,才能實現(xiàn)對參數(shù)圖存儲和自動檢索的目的。
1.
線圖的類型根據(jù)線圖中數(shù)據(jù)的來源,線圖可分為兩類:線圖有計算公式的線圖區(qū)域圖無計算公式的線圖直線圖曲線圖4.3.2線圖的分類及處理
為了CAD作業(yè)需要,進行線圖程序化處理的方法有以下幾種:?
線圖數(shù)表化處理(將線圖整理成數(shù)表);
?線圖公式化處理(建立出線圖的解析式);
?
曲線擬合處理(建立出線圖的近似式)。在線圖的處理方法中,可分如下幾種:
1)有計算公式線圖的處理
2)無計算公式線圖的處理
(1)線圖的數(shù)表化處理
(2)線圖的公式化處理
①直角坐標系直線圖的公式化處理;②對數(shù)坐標系直線圖
的公式化處理;③區(qū)域圖的處理。2.線圖的處理
有些線圖所表示的各參數(shù)之間關系原本就有計算公式,但為了設計人員工作時查取方便,將計算公式繪制成為線圖,如圖4-2。對于這樣的線圖,在CAD作業(yè)時,應在CAD計算程序中可直接使用公式進行計算。
圖4-2螺旋角參數(shù)Zβ
1)有計算公式線圖的處理(1)線圖的數(shù)表化處理
線圖的數(shù)表化處理就是將線圖離散化為數(shù)表,然后再用4.3.1節(jié)中所述方法加以處理。以在CAD作業(yè)時,供進行數(shù)據(jù)檢索。例如,表4-4就是圖4-3離散化后形成的數(shù)表。圖4-3蝸輪的齒形系數(shù)Y2(變位系數(shù)ζ=0,α=20°,ha=1)
2)無計算公式線圖的處理表4-4蝸輪的齒形系數(shù)Y2(變位系數(shù)ζ=0,α=20°,ha=1)
進行線圖公式化處理,對不同類型的線圖有不同的處理方法:
?
對有計算公式的線圖,可直接將公式編入程序;
?
對直線圖可將其圖形轉化為線性方程,再編入程序。而直線圖通常又分如下三種情況:
●直角坐標直線圖
●對數(shù)坐標直線圖
●區(qū)域圖具體處理方法如下:(2)線圖的公式化處理如圖4-4所示是齒輪強度計算時所用到的動載系數(shù)Kv
的線圖,
橫坐標為:VZ1
/100,
縱坐標為:Kv
。包括直齒輪和斜齒輪共有16條直線分別代表不同精度等級下的函數(shù)關系。①直角坐標系直線圖的公式化處理對于該線圖若用數(shù)表化處理,則要轉化為16個一維數(shù)表或2個二維數(shù)表,不僅數(shù)據(jù)量很大,而且還要占用較多的計算機內存。
對此,可通過取直線上任意兩點的坐標值來求其斜率,從而寫出直線方程式。若已知直線上任意兩個點
坐標,則該直線方程為:直齒輪
斜齒輪
圖4-4動載荷系數(shù)Kv
(4-1)對于Kv
線圖,則可表示成:式中:
為直線上任意兩點的縱坐標值;為該兩點的橫坐標值。
因此,對圖4-4上每一條直線選取其上任意兩點的坐標值,帶入上式,便可列出直線方程,利用該方程便可計算出任意VZ1/100的動載系數(shù)Kv值。利用上述方法,圖4-4中的16條直線,可變換為16個直線方程。②
對數(shù)坐標系直線圖的公式化處理在機械設計資料中,常會遇到對數(shù)坐標直線圖,如圖4-5所示。圖4-5彎曲強度的壽命系數(shù)YN
若已知對數(shù)坐標系下直線上的任意兩點的坐標:令則(4-2)其對數(shù)坐標的直線方程可以表示為:對于圖4-5所示的齒輪彎曲強度壽命系數(shù)YN的每一條直線,只要給出其兩任意點的坐標,即可列出它的直線方程式:將圖中某一直線任意兩點的坐標值(N1,YN1),(N2,YN2)及要求取壽命系數(shù)YN
的應力值次數(shù)
N
帶入上式,并令:令這樣就可用程序語言把YN與
N的關系表達出來。
例如圖4-6所示的齒輪材料的接觸疲勞強度極限應力,因其影響因素很多,因而在國際標準中采用區(qū)域圖的方式表示,供設計者根據(jù)材料的質量水平、熱處理工藝水平等條件來選用。工程技術中的許多物理量,往往是一些離散的、隨機的變量。
對于上述區(qū)域圖,具體的處理方法有兩種:
●
按區(qū)域圖的中線取值;
●
按區(qū)域圖的位置取值。圖4-6齒輪材料的接觸疲勞強度極限應力
③區(qū)域圖的處理
■
按區(qū)域圖的中線取值處理
以圖4-6為例,首先必須找出區(qū)域圖中線(圖中點劃線)的表達式,為此在中線上任意選取兩點(HB1,SH1)、(HB2,SH2),由此兩點可以寫出該極限應力中線的表達式:利用上式,就可計算出任意齒面硬度HB
所對應的。(4-3)
■
按區(qū)域圖的位置取值按前述的處理方法,設計人員在確定齒輪材料的極限應力時只限于取中值,不盡全面。為了使設計者能根據(jù)所用材料性能的不同,按實際情況在區(qū)域內取不同的值,為此,可以增加兩個參數(shù):●
一個是極限應力的幅值參數(shù)
;●
另一個是極限應力在區(qū)域圖中的位置參數(shù)ST。
當ST=1
時,表示取極限應力的上限值;當ST=0
時,表示取極限應力的中值;當ST=-1
時,表示取極限應力的下限值。此時,極限應力的計算公式變?yōu)椋?/p>
這樣,ST
在+1~-1之間取值時,就可以獲得區(qū)域圖中(見圖4-6)任意位置上的極限應力值。(4-4)還有一種區(qū)域圖,如圖4-7所示的V帶選型圖。
這種區(qū)域圖是以直線作為不同型號的V帶膠帶的邊界線。因此,對這樣區(qū)域圖亦可以運用直線方程來確定邊界線的坐標。圖4-7V帶選型圖
圖4-7所示區(qū)域圖為對數(shù)坐標圖,故在每條邊界線上任意選取兩點(P1,N1),(P2,N2),由此兩點就可寫出該線的對數(shù)坐標直線方程:將其變換成指數(shù)方程的形式:式中:(4-5)邊界線計算公式O-AN=677A-BN=100B-CN=24C-DN=7D-EN=1.16E-FN=0.329按照上述方法,圖4-7中6
條邊界線的方程(計算公式)為:式中,P
——為計算功率,kW;
N
——邊界線上相對于計算功率P
的轉速,r/min。根據(jù)上述,編寫出的三角膠帶傳動“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ù)只能給出結點處的函數(shù)值,當自變量為結點的中間值時,就要用插值法求取其函數(shù)值。
插值法的基本思想:是在插值點附近選取幾個合適的結點,用這些選取的點構造一個簡單函數(shù)
g(x),在此小段上用g(x)代替原來函數(shù)
f(x),這樣插值點的函數(shù)值就用
g(x)的值來代替。因此,插值的實質問題是如何構造一個既簡單又具有足夠精度的函數(shù)g(x)。設有一用數(shù)據(jù)表格給出的列表函數(shù),如下表所示:4.3.3列表函數(shù)表的插值計算
線性插值就是構造一個線性函數(shù)
g(x)來代替原先的函數(shù)
f(x),如圖4-8所示。
插值步驟如下:圖4-8線性插值①從表格中選取兩個相鄰的自變量
xi
、xi+1,滿足下列條件:
x
i
<x<
x
i+1;②過(x
i,y
i)及(xi+1,yi+1)兩點連直線
g(x)
代替原來的函數(shù)f(x),則x的函數(shù)值
y
為(4-6)1.一維列表函數(shù)表的插值
(1)線性插值
線性插值是一種既簡單又常用的插值算法,在機械CAD計算程序中經常用到,將此算法編寫的一維線性插值函數(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]));}
程序說明
:
(1)該函數(shù)中用一維數(shù)組
x[],y[]分別存儲數(shù)表中的自變量數(shù)據(jù)和函數(shù)值數(shù)據(jù);
(2)n
為數(shù)組元素的個數(shù),數(shù)組元素的下標從0變化到n-1;
(3)t為插值點的自變量數(shù)值。
例4-3已知V帶傳動小帶輪包角α1=125.4°,由表4-1采用線性插值算法查取所對應的包角系數(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ù)的檢索過程編寫成計算機程序如下:
在此程序中調用上述一維線性插值函數(shù)lip()執(zhí)行一維線性插值運算。程序運行結果如下:
krf1=0.84160000即,根據(jù)給定的小帶輪包角α1=125.4°,通過線性插值算法查取所對應的包角系數(shù)Kα
=0.84160000
。(2)
拋物線插值
用線性函數(shù)
g(x)
來代替f(x)時,僅利用了兩個結點上的信息,因此誤差較大,為了減少誤差可利用三個結點上的信息,采用拋物線插值。
在f(x)上取三點,過此三點作拋物線
g(x),以用來替代
f(x),可以獲得比線性插值精度高的結果,如圖4-9所示。則過三點(xi-1,yi-1)及(xi,yi)、(xi+1,yi+1)的拋物線方程為圖4-9拋物線插值算法示意圖
(4-7)
在拋物線插值中,如何選取合適的三個點是關鍵所在,選取方法歸納如下:
設已知插值點
x
,求對應的函數(shù)值y:(1)從已知函數(shù)表格中選取二點,它們滿足下列條件
(2)比較的值,取其值小者作為取點延伸方向,從表格中選取第三點作為拋物線方程經過的點。
當時,即三個點;
當
時,即三個點;(3)若三個點。(4)若三個點。用C語言編制的一維拋物線插值函數(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]);}
對于具有兩個自變量的二維列表函數(shù)的插值,從幾何意義上講是在三維空間內,選定幾個點,通過這些點構造一塊曲面
g(x,y),用它近似地表示在這區(qū)間內原有的曲面
f(x,y)。
設有一二維列表函數(shù)如下表4-b
所示:表4-b二維列表函數(shù)和插值點的函數(shù)值2.二維列表函數(shù)表的插值
曲面
f(x,y)的三維情況,用線框圖表示時,則如圖4-e所示。設有一個曲面f(x,y),被兩組平行
xoz或yoz
的平面相截,因此得到二組曲線,這二組曲線的交點即為x(i),y(j)處的Z(i,j)。也就是表中的函數(shù)值。圖4-e二維列表函數(shù)表的插值
這二組曲線把曲面分成許多小塊,每一小塊四個角的值可以從表格中查出。至于小塊內曲面上各點的函數(shù)值就無法由表格中查取。為能得到小塊內曲面上任一點的函數(shù)值,可以類同于一維數(shù)表,設法構造一個二元函數(shù)
g(x,y),它能近似地代替原曲面的
f(x,y)。因此二維數(shù)表插值的實質是如何來構造
g(x,y)。
插值函數(shù)
g(x,y)的構造,主要有以下兩種方法:
?
線性插值算法
?
拋物線插值算法
二維列表函數(shù)的線性插值算法的原理,如圖4-10所示。
首先:從二維數(shù)表中給定的m×n
結點中選取最接近插值點
T(x,y)相鄰的4個結點;
然后:分別用三次一維線性插值方法就可求出相應于插值點
T(x,y)的函數(shù)值
Z(x,y)。圖4-10二維列表函數(shù)表的線性插值
(1)線性插值圖4-10a二維列表函數(shù)表的線性插值
A,B→EC,D→FE,F→T則線性插值算法的工作步驟如下:
(1)
由A、B兩點用一維線性插值方法計算出
E(xi,y)點的插值函數(shù)值ZE;
(2)
再用同樣方法,由C、D兩點求出F(xi+1,y)點的插值函數(shù)值ZF;
(3)
用同樣的方法,由E、F兩點求得插值點
T(x,y)的插值函數(shù)值Z(x,y)。如圖4-10所示:設與插值點
T(x,y)相鄰的4個結點為:A、B、C、D,這4個結點上的函數(shù)值z(x,y)均已知。
由上述算法的執(zhí)行過程得到的二維列表函數(shù)表的線性插值算法公式為:式中:(4-8)用C語言編制的二維線性插值函數(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ù)三點拋物線插值法的思路,基本上與二維線性插值法一致。只是在插值計算時,共4次運用一維拋物線插值算法來替代一維線性插值算法。用該方法可以提高插值精度。
該算法的插值步驟如下:
?
首先,從給定的m×n個結點中,選取最靠近插值點T(x,y)相鄰的9
個結點(見圖4-11);
?
其次,由三個點,按插值點
T(x,y)
在y方向的位置用一維拋物線插值方法求出A點的插值函數(shù)值ZA
;圖4-11二維列表函數(shù)表的拋物線插值
y0x(2)拋物線插值
?
再用同樣方法,求得B、C兩點的插值函數(shù)值ZB、ZC;
?
最后,再用A、B、C三點的插值函數(shù)值按插值點
T(x,y)在
x方向的位置用一維拋物線插值算法計算出插值點
T(x,y)
插值函數(shù)值Z(x,y)。
由上述算法執(zhí)行過程得到的二維列表函數(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語言編制的二維拋物線插值函數(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ù)學方法將一系列測試數(shù)據(jù)或統(tǒng)計數(shù)據(jù)擬合成近似的經驗公式,這種建立經驗公式的過程也稱為曲線擬合,或稱數(shù)據(jù)公式化。
工程應用中,一般采用最小二乘法多項式擬合。所求曲線并不要求嚴格通過所有結點,而是盡可能反映所給數(shù)據(jù)的趨勢。下面介紹:
曲線擬合,目前一般采用最小二乘法擬合。
擬合公式的類型通??梢赃x取線性方程、代數(shù)多項式或一些初等函數(shù)。這一工作由編程人員根據(jù)線圖或實驗數(shù)據(jù)分布形態(tài)來決定?!?/p>
最小二乘法的多項式擬合●
最小二乘法的其他函數(shù)的擬合4.3.4
數(shù)據(jù)的公式擬合方法1.最小二乘法的多項式擬合已知:由線圖或實驗所得m
個點的值:圖4-12最小二乘法多項式擬合用一個n
次多項式
y(x)
來擬合,如圖4-12所示,設擬合公式為:(4-10)
而且m>>n
,則每一結點處的偏差為:
為獲得最佳擬合曲線,根據(jù)最小二乘法原理,即要求每一結點的偏差Di
的平方和最小,則結點偏差的平方和為:(4-11)這表明偏差平方和是系數(shù)
的函數(shù)。為使其最小,取對各自變量的偏導數(shù)等于零:求各偏導數(shù)并經整理得到:(4-12)令得即(4-13)亦可寫成下面的方程組:(4-14)
上式中待求的系數(shù)
共有(n+1)
個,
方程也是(n+1)個,因此組成線性聯(lián)立方程組,
解此線性聯(lián)立方程,即可求得多項式
y(x)
中的各項系數(shù)。
在求得多項式y(tǒng)(x)中的各項系數(shù)后,
n
次多項式(4-10)便確定:
例4-4有一組實驗數(shù)據(jù),如下表
4-c
所示,它有7個點,現(xiàn)要求用二次多項式擬合。表4-c一組實驗數(shù)據(jù)
點號1234567Xi-3-2-10123Yi4230-1-2-5解:
設經驗公式為:
根據(jù)上述實驗數(shù)據(jù)及經驗公式可知:m=7,n=2,代入式(4-12),得以下三個方程:
j=0時
j=1時
j=2時把Xi,Yi
用上表中的值代入,得求解得:最后得到擬合的經驗公式為
工程中設計資料中的很多經驗公式,就是對實驗獲得的數(shù)據(jù)數(shù)表通過曲線擬合的方法得來的。除代數(shù)多項式外,根據(jù)情況還可采用:
(1)冪函數(shù)
(2)指數(shù)函數(shù)
(3)對數(shù)函數(shù)(4-14)(4-15)(4-16)
例如,若已知m
組數(shù)據(jù)
,i=1,2,…,m,假設所擬合的指數(shù)函數(shù)曲線形式為:lgy=lga+blgx(4-17)令:(4-19)(4-18)對上式指數(shù)函數(shù)兩邊取對數(shù),得2.最小二乘法的其他函數(shù)的擬合
先將已知數(shù)據(jù)
代入式(4-19)中,求得相應的值,再代入式得到在對數(shù)坐標系中的一個線性方程。與多項式曲線擬合相似,采用最小二乘法就可以得到上式中的系數(shù)
v
和b,再由lga=v求得系數(shù)
a
。代入上式,得(4-20)
將數(shù)據(jù)以數(shù)組的形式存入計算機內存中,雖然解決了數(shù)表和線圖在CAD計算程序中的存儲和檢索問題,但存在下列不足:(1)需要占用大量的內存。
(2)前述數(shù)據(jù)的存取方法,包括公式化處理,其處理后的數(shù)表和線圖與特定的CAD計算程序相聯(lián),使得這些數(shù)表和線圖只能在該程序中使用,不能被其他程序共享。因此,前述數(shù)據(jù)的處理方法一般只適用于使用數(shù)表和線圖較少的簡單程序。為了克服這種方法的不足,較為完善的方法是將數(shù)據(jù)與計算程序分開、單獨建立數(shù)據(jù)文件。4.3.5數(shù)據(jù)文件及其應用
文件是信息(數(shù)據(jù)與字符)的集合。將數(shù)表和線圖中的數(shù)據(jù)按指定的文件名存放在計算機外存儲裝置(磁盤、磁帶等)上,就可建立用戶的數(shù)據(jù)文件,當CAD計算程序需要使用到某一個數(shù)表或線圖中的數(shù)據(jù)時,只需用適當?shù)某绦蛘Z句(文件操作語句)將它們從外存中調入計算機內存。
建立數(shù)據(jù)文件的方法不僅解決了前述方法存儲數(shù)據(jù)時需要占用大量內存的問題,而且可使數(shù)據(jù)文件獨立于計算程序,且一個數(shù)據(jù)文件可供不同的計算程序調用,較好地解決了數(shù)據(jù)的共享問題。圖4-f數(shù)據(jù)文件的調用示意圖
數(shù)據(jù)庫系統(tǒng)是在文件系統(tǒng)的基礎上發(fā)展起來的一門新型數(shù)據(jù)管理技術。它是一種能夠“管理大量的、持久的、可靠的、共享的數(shù)據(jù)的工具”。
數(shù)據(jù)庫技術不僅可以處理CAD系統(tǒng)的大量工程數(shù)據(jù),而且大大完善和提高了CAD系統(tǒng)數(shù)據(jù)處理的效率和可靠性。因此,數(shù)據(jù)庫已經成為現(xiàn)代CAD系統(tǒng)不可缺少的重要組成部分。4.4機械工程數(shù)據(jù)庫的創(chuàng)建與應用在現(xiàn)代CAD系統(tǒng)中,為了適應CAD作業(yè)的需要,須把各類工程數(shù)據(jù)結構和文件組織方式建立起數(shù)據(jù)庫及其管理系統(tǒng)。下面簡要介紹一下數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)。
?
數(shù)據(jù)庫及其特點
?常用的數(shù)據(jù)庫管理系統(tǒng)4.4.1數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)
所謂數(shù)據(jù)庫就是一個存儲著關聯(lián)數(shù)據(jù)的數(shù)據(jù)集合。它由一系列各種組織形式的數(shù)據(jù)文件組成。1.
數(shù)據(jù)庫及其特點圖4-g數(shù)據(jù)庫與應用程序
數(shù)據(jù)庫是在文件系統(tǒng)的基礎上發(fā)展起來的。與文件系統(tǒng)不同,數(shù)據(jù)庫系統(tǒng)的工作模式如下圖4-b所示,即在數(shù)據(jù)系統(tǒng)中,應用程序并不直接操作數(shù)據(jù)庫,而是通過數(shù)據(jù)庫管理系統(tǒng)(DBMS)對數(shù)據(jù)庫進行操作。
與文件系統(tǒng)相比,數(shù)據(jù)庫系統(tǒng)具有以下特點:
(1)實現(xiàn)了數(shù)據(jù)共享,減少了數(shù)據(jù)冗余。
(2)數(shù)據(jù)存儲結構化。
(3)增強了數(shù)據(jù)的獨立性。(4)加強了對數(shù)據(jù)的保護。
數(shù)據(jù)庫管理系統(tǒng)是建立、使用、管理和維護數(shù)據(jù)庫的軟件,實現(xiàn)對數(shù)據(jù)庫的安全性、完整性和保密性的統(tǒng)一控制。
目前流行的數(shù)據(jù)庫管理系統(tǒng)很多,諸如:?
dBASE;
?
FOXBASE;
?
FOXPRO;
?
ORACLE等。但它們都屬于事務管理型關系數(shù)據(jù)庫管理系統(tǒng),更適合于管理科學的應用領域。由于CAD作業(yè)所涉及的數(shù)據(jù)較為復雜,因而真正面向CAD系統(tǒng)的工程數(shù)據(jù)庫管理系統(tǒng)(EDBMS)還有待進一步的開發(fā)。2.常用的數(shù)據(jù)庫管理系統(tǒng)
l.
電子表格處理軟件Excel
在計算機提供的海量表格上填寫內容,進行數(shù)據(jù)處理和數(shù)據(jù)分析,內置函數(shù)用于求和、求平均值、計算三角函數(shù)等操作。
建立數(shù)據(jù)庫:Excel數(shù)據(jù)庫是按行和列組織起來的信息集合,每行稱為一個記錄,每列稱為一個字段;對數(shù)據(jù)庫的記錄進行查詢、排序、匯總等操作。
進行數(shù)據(jù)分析:只需為每一個分析工具提供必要的數(shù)據(jù)和參數(shù),該工具就會使用適宜的統(tǒng)計或工程函數(shù),在輸出表格中顯示相應的結果。其中的一些工具在生成輸出表格時還能同時產生圖表??蓮钠渌臄?shù)據(jù)庫(Access,F(xiàn)oxPro,SQLServer等)引入數(shù)據(jù)。4.4.2
關系數(shù)據(jù)庫管理系統(tǒng)應用實例簡介2.
數(shù)據(jù)庫管理系統(tǒng)Access(1)無須編寫代碼,只要通過直觀的可視化操作,就能完成大部分數(shù)據(jù)管理工作。(2)能夠與word、Excel等
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度生態(tài)公園綠化養(yǎng)護合作協(xié)議4篇
- 2025年度新能源汽車品牌區(qū)域銷售代理合同協(xié)議4篇
- 2025年度旅游紀念品銷售與旅游服務合同4篇
- 2025年度鋁型材產品出口退稅服務合同4篇
- 二零二五版跨境持股合作合同協(xié)議書3篇
- 2025年度二手房買賣合同關于產權過戶手續(xù)協(xié)議3篇
- 2025年玄武巖碎石環(huán)保道路建設材料采購合同3篇
- 2025年度新能源汽車買賣合同協(xié)議書4篇
- 《9 作息有規(guī)律》說課稿-2024-2025學年道德與法治一年級上冊統(tǒng)編版
- 2025年度新型建筑項目臨時用電安全協(xié)議書范本3篇
- 影視劇制作投資分紅協(xié)議
- 2024-2025學年成都青羊區(qū)九上數(shù)學期末考試試卷【含答案】
- 2025年競聘醫(yī)院內科醫(yī)生崗位演講稿模版(3篇)
- 虛擬貨幣地址分析技術的研究-洞察分析
- 綠色供應鏈管理制度內容
- 心理學基礎知識考試參考題庫500題(含答案)
- 電力智慧檢修安全運行三維可視化管理平臺建設方案
- 一年級數(shù)學(上)計算題專項練習集錦
- 消防安全應急預案下載
- 《北航空氣動力學》課件
- 附件:財政業(yè)務基礎數(shù)據(jù)規(guī)范(3.0版)
評論
0/150
提交評論