工控網(wǎng)首頁(yè)
>

新聞中心

>

業(yè)界動(dòng)態(tài)

>

設(shè)計(jì)仿真 | Adams 實(shí)現(xiàn)二維樣條數(shù)據(jù)的線性插值

設(shè)計(jì)仿真 | Adams 實(shí)現(xiàn)二維樣條數(shù)據(jù)的線性插值

01概  述  

在實(shí)際工程應(yīng)用中,往往能夠通過(guò)試驗(yàn)等方式得到一定的離散數(shù)據(jù),Adams軟件使用樣條函數(shù)或用戶子程序?qū)?dǎo)入的離散數(shù)據(jù)進(jìn)行插值以創(chuàng)建一個(gè)連續(xù)函數(shù)(也即曲線擬合),以方便工程師將試驗(yàn)數(shù)據(jù)應(yīng)用到仿真分析中。


曲線擬合有樣條函數(shù)或用戶子程序兩種實(shí)現(xiàn)方式,均有兩種插值方法:Akima方法和傳統(tǒng)立方插值方法。Akima方法(AKISPL函數(shù))是局部三次擬合技術(shù),傳統(tǒng)立方插值方法(CUBSPL函數(shù))是全局三次擬合技術(shù),這兩種方法都是通過(guò)使用三次多項(xiàng)式來(lái)實(shí)現(xiàn)曲線插值擬合。


除了曲線插值(非線性)擬合,實(shí)際工程中有時(shí)候也需要實(shí)現(xiàn)二維樣條數(shù)據(jù)的線性插值,為了實(shí)現(xiàn)線性插值,一種變通的方法是將其轉(zhuǎn)化為三維樣條數(shù)據(jù),當(dāng)然另外一種方法是在局部位置增加點(diǎn)數(shù),使擬合曲線的趨勢(shì)接近線性插值,本文給出第一種方法的具體使用說(shuō)明。


02線 性 插 值  

在進(jìn)行線性插值的使用方法介紹之前,有必要了解下Adams軟件曲線擬合技術(shù)背后的技術(shù)原理。Adams軟件曲線擬合技術(shù)既支持二維樣條數(shù)據(jù),也支持三維樣條數(shù)據(jù),對(duì)于二維樣條數(shù)據(jù)(只有一個(gè)獨(dú)立的變量),Adams Solver(C++)使用三次多項(xiàng)式實(shí)現(xiàn)數(shù)據(jù)插值。對(duì)于三維樣條數(shù)據(jù)(有兩個(gè)獨(dú)立的變量),先使用三次多項(xiàng)式插值方法在第一個(gè)獨(dú)立變量的點(diǎn)之間插值,然后使用線性插值方法在第二個(gè)獨(dú)立變量的曲線之間進(jìn)行插值。


基于上述三維樣條數(shù)據(jù)曲線擬合的技術(shù)原理,為了實(shí)現(xiàn)二維樣條數(shù)據(jù)的線性插值,可以將二維樣條數(shù)據(jù)導(dǎo)入后,對(duì)其進(jìn)行簡(jiǎn)單的編輯,以轉(zhuǎn)化為三維樣條數(shù)據(jù)。具體實(shí)現(xiàn)方法如下:


1) 已知數(shù)據(jù)點(diǎn)(x,y)的一組數(shù),x是第一個(gè)獨(dú)立變量, y是非獨(dú)立的變量。引入第二個(gè)獨(dú)立變量z,即將Type由y=f(x) (2D)切換為y=f(x,z) (3D)。編輯數(shù)據(jù)z, 和第一個(gè)獨(dú)立變量x的值相同,表格中y的值分別更改為Y1-1,Y2-1,Y3-1等,如下圖 1所示。


微信圖片_20240626132816.png

圖 1  二維樣條數(shù)據(jù)轉(zhuǎn)化為三維樣條數(shù)據(jù)的方式


2) 通過(guò)AKISPL函數(shù)對(duì)圖1編輯好的三維樣條數(shù)據(jù)進(jìn)行線性插值,應(yīng)用格式為:FUNCTION=AKISPL(0,time,SPLINE_1,0),這里使用第二個(gè)獨(dú)立變量z,第一個(gè)獨(dú)立變量x為0。


下面對(duì)AKISPL函數(shù)調(diào)用的格式進(jìn)行補(bǔ)充說(shuō)明,AKISPL函數(shù)調(diào)用格式為:AKISPL(x,z,id,iord),其中:

● x: 第一個(gè)獨(dú)立變量;

● z: 第二個(gè)獨(dú)立變量;

● id: 樣條曲線的名稱;

● iord: 插值點(diǎn)導(dǎo)數(shù)的階次,屬于整型變量,默認(rèn)為0, 0≤iord≤2。


03應(yīng)  用  

為了更清晰地理解如何在Adams軟件中實(shí)現(xiàn)線性插值,下文給出一個(gè)簡(jiǎn)單的案例進(jìn)行說(shuō)明:

1) 已知二維數(shù)據(jù)(.txt)

0 0

1 75

1.5 60

2 120

3 130

2) 導(dǎo)入2D數(shù)據(jù)


微信圖片_20240626132820.png

圖 2  二維樣條數(shù)據(jù)

3) 編輯2D數(shù)據(jù)

在Type類型中切換為y=f(x,z) (3D),編輯Y和Z的數(shù)據(jù),如下圖 3所示。


微信圖片_20240626132822.png

圖 3  二維樣條數(shù)據(jù)轉(zhuǎn)為三維樣條數(shù)據(jù)


4) 線性插值結(jié)果預(yù)覽

編輯完樣條數(shù)據(jù)后,可通過(guò)3D Prewiew對(duì)插值擬合曲線進(jìn)行預(yù)覽,如下圖 4所示。


微信圖片_20240626132825.png

圖 4   線性插值結(jié)果預(yù)覽(3D Preview)


5) 通過(guò)函數(shù)實(shí)現(xiàn)線性插值

下面通過(guò)一個(gè)單點(diǎn)力函數(shù)表達(dá)式的建立驗(yàn)證線性插值的結(jié)果。

定義單點(diǎn)力,編輯AKISPL函數(shù)表達(dá)式,實(shí)現(xiàn)線性插值,如圖 5所示。

● 第一個(gè)參數(shù)表示第一個(gè)獨(dú)立變量,沒有則設(shè)為0;

● 第二個(gè)參數(shù)表示第二個(gè)獨(dú)立變量,設(shè)為time;

● 第三個(gè)參數(shù)表示樣條曲線的名稱;

● 第四個(gè)參數(shù)表示插值點(diǎn)導(dǎo)數(shù)的階次(整數(shù)),設(shè)為0.


微信圖片_20240626132828.png

圖 5  線性插值的設(shè)置(AKISPL函數(shù))


6) 三次樣條插值的函數(shù)設(shè)置

為了和線性插值的結(jié)果進(jìn)行對(duì)比,下面給出了AKISPL函數(shù)和CUBSPL函數(shù)進(jìn)行三次樣條插值的設(shè)置。


定義一個(gè)單點(diǎn)力,定義函數(shù)表達(dá)式為AKISPL函數(shù),實(shí)現(xiàn)三次樣條插值,如圖 6所示。


微信圖片_20240626132831.png

圖 6  樣條插值A(chǔ)KISPL函數(shù)的設(shè)置


定義一個(gè)單點(diǎn)力,定義函數(shù)表達(dá)式為CUBSPL函數(shù),實(shí)現(xiàn)三次樣條插值,如圖 7所示。


微信圖片_20240626132834.png

圖 7  樣條插值CUBSPL函數(shù)的設(shè)置


7) 三種插值結(jié)果的對(duì)比

定義測(cè)量,分別輸出三種插值的結(jié)果曲線如下圖 8所示。


微信圖片_20240626132836.png

圖 8  線性插值和三次樣條插值結(jié)果對(duì)比


04總  結(jié)  

為了實(shí)現(xiàn)二維樣條數(shù)據(jù)的線性插值,可以通過(guò)樣條曲線的方式,只是需要在樣條曲線的基礎(chǔ)上做一點(diǎn)變通。本文中函數(shù)調(diào)用的方式給出的自變量是時(shí)間,實(shí)際應(yīng)用中自變量也可以是其它變量,比如頻率或其它,可以先通過(guò)函數(shù)進(jìn)行定義,然后選擇定義的變量名稱作為自變量即可。


審核編輯(
唐楠
)
投訴建議

提交

查看更多評(píng)論
其他資訊

查看更多

福利升級(jí)!極速開啟您的海克斯康會(huì)員之旅

高端攝影測(cè)量系統(tǒng),助力新能源汽車高質(zhì)量發(fā)展

直播預(yù)告 | 機(jī)床數(shù)字孿生系統(tǒng)大顯身手,直擊數(shù)控加工難題!

探尋智能制造脈動(dòng),??怂箍盗料郈IMES 2024

質(zhì)量管理 | ??怂箍礠-DAS數(shù)據(jù)質(zhì)量提升綜合方案