
發(fā)布
注冊
/
登錄插值的案例
MATLAB插值與擬合利器 ¥1
PartA 插值函數(shù)
1. meshgrid
meshgrid用于從數(shù)組a和b產(chǎn)生網(wǎng)格。生成的網(wǎng)格矩陣A和B大小是相同的。它也可以是更高維的。
[A,B]=Meshgrid(a,b)
生成size(b)Xsize(a)大小的矩陣A和B。它相當于a從一行重復(fù)增加到size(b)行,把b轉(zhuǎn)置成一列再重復(fù)增加到size(a)列。因此命令等效于:
A=ones(size(b))*a;
B=b'*ones(size(a))
如下所示:
>> a=[1:2]
a =
1 2
>> b=[3:5]
b =
3 4 5
>> [A,B]=meshgrid(a,b)
A =
1 2
1 2
1 2
B =
3 3
4 4
5 5
2. interp
interp1——一維數(shù)據(jù)插值函數(shù)
一維數(shù)據(jù)插值。該函數(shù)對數(shù)據(jù)點之間計算內(nèi)插值,它找出一元函數(shù)f(x)在中間點的數(shù)值,其中函數(shù)表達式由所給數(shù)據(jù)決定。
yi=interp1(x,Y,xi):返回插值向量yi,每一元素對應(yīng)于參量xi,同時由向量X與Y的內(nèi)插值決定。參量x 指定數(shù)據(jù)Y的點。若Y為一矩陣,則按Y的每列計算。yi是階數(shù)為length(xi)*size(Y,2)的輸出矩陣。
yi=interp1(Y,xi):假定x=1:N,其中N為向量Y的長度,或者為矩陣Y的行數(shù)。
yi=interp1(x,Y,xi,method):用指定的算法計算插值。nearest為最近鄰點插值,直接完成計算;linear為線性插值(默認方式),直接完成計算;spline為三次樣條函數(shù)插值。
yi=interp1(x,Y,xi,method,'extrap'):對于超出x范圍的xi中的分量將執(zhí)行特殊的外插值法extrap。
展開 以單元為中心的重疊網(wǎng)格系統(tǒng)的雙網(wǎng)格插值
作者Cadence CFD 解決方案
概述: 對于以單元為中心的 CFD 流動求解器,使用連通性信息在重疊域中進行插值通常會使用最小二乘法來確定插值權(quán)重。使用最小二乘法產(chǎn)生的權(quán)重不受 0 和 1 之間的限制。因此,插值可能是非單調(diào)的,并且會在解中引入新的極值,這會給 CFD 解帶來困難。使用連接原始單元中心以形成雙網(wǎng)格單元的雙網(wǎng)格插值可以與三線性插值一起使用以產(chǎn)生介于 0 和 1 之間的權(quán)重。全局的雙網(wǎng)格方法,其中單個網(wǎng)格連接所有單元格中心,其存儲成本可能很高。在使用一組局部對偶網(wǎng)格時,其中每個原始網(wǎng)格元素都有一個獨立于相鄰局部對偶的關(guān)聯(lián)局部對偶網(wǎng)格,可以通過僅加載插值所需的局部雙網(wǎng)格集來減少內(nèi)存需求。在本文中,將使用最小二乘插值權(quán)重的可壓縮 CFD 解決方案與使用全局雙網(wǎng)格插值權(quán)重的解決方案進行了比較。這些結(jié)果表明,使用最小二乘插值權(quán)重的非單調(diào)插值會導(dǎo)致解不穩(wěn)定。當使用雙網(wǎng)格插值權(quán)重時,觀察到 CFD 解更穩(wěn)定。這些結(jié)果表明,使用最小二乘插值權(quán)重的非單調(diào)插值會導(dǎo)致解不穩(wěn)定。當使用雙網(wǎng)格插值權(quán)重時,觀察到 CFD 解更穩(wěn)定。這些結(jié)果表明,使用最小二乘插值權(quán)重的非單調(diào)插值會導(dǎo)致解不穩(wěn)定。當使用雙網(wǎng)格插值權(quán)重時,觀察到 CFD 解更穩(wěn)定。
介紹
重疊或嵌合網(wǎng)格方法利用一組重疊網(wǎng)格來離散化解決方案域。組件網(wǎng)格可以在不考慮幾何體其他部分的情況下進行擬合,并且可以在很大程度上簡化網(wǎng)格生成過程。結(jié)果是一個靈活的計算模擬框架,可以在許多情況下成為推動力。它已被廣泛用于簡化復(fù)雜幾何結(jié)構(gòu)的結(jié)構(gòu)化網(wǎng)格生成要求。使用重疊網(wǎng)格系統(tǒng)也是模擬相對運動物體的一種很有前途的解決方案,例如從飛機和旋翼飛機上掉落的油箱。
在確定重疊復(fù)合網(wǎng)格系統(tǒng)上的流動解決方案時,點模板和定義插值權(quán)重的方法是關(guān)鍵因素。
展開 鉆孔管理器創(chuàng)建邊坡剖面(Borehole Manager)---地層插值
本文討論了二維鉆孔管理器創(chuàng)建邊坡剖面的方法,著重強調(diào)了地層插值。
2 地層剖面
3D鉆孔管理器共有9種插值方法,2D鉆孔管理器共有3種插值方法。顯然,對于地形復(fù)雜或土層性質(zhì)變化較大的地層來說,不能完全依靠計算機自動生成,在某些情況下推出的模型是錯誤的。為了使用鉆孔管理器,首先需要在Analysis > Project Settings > Soil Profile中進行設(shè)置,如下圖所示。
Soil Profile的作用是定義材料邊界,以此作為基礎(chǔ)模板,使用Boundaries > Add External Boundary,在此基礎(chǔ)上使用Boundaries > Add External Boundary產(chǎn)生邊坡模型,也可以在此基礎(chǔ)上手動增加材料邊界Boundaries > Add Material Boundary。
插值方法有三種:
(1) Linear:線性插值的數(shù)學假設(shè)是Kriging方法,線性插值有明顯的缺點,當?shù)貙幼兓^大而且鉆孔間距較大時,在時間和費用允許的情況下,應(yīng)當補充鉆孔;
(2) Thin-Plate Spline:樣條插值從數(shù)學的意義上比線性插值的推斷更準確,但是地層結(jié)構(gòu)不是嚴格遵循數(shù)學理論的。
(3) Inverse Distance:逆向距離插值的假設(shè)是相互靠近的事物比相距較遠的事物更相似,根據(jù)每個數(shù)據(jù)點與樣本點的距離來加權(quán)。這個概念在機器學習中廣泛使用,在過去我們作的大量自然語言處理研究都是基于這種概念發(fā)展起來的。
可以看出,在邊坡穩(wěn)定性影響范圍內(nèi),插值方法影響著安全系數(shù)。在最新的版本中,增加了另外兩種插值方法:
(1) Local Thin Plate Spline
(2) Chugh
展開 PART-05 Texgen通用建模方法03-路徑插值
image_process=/format,webp" data-initial-src="https://img.jishulink.com/202403/attachment/0c5379b52e3c44c4ab9fff0c2575572d.png">
</figure>
</div><p>由設(shè)定的節(jié)點坐標,根據(jù)插值方法算出紗線路徑,具體的插值方法涉及到數(shù)學知識,請自行查看。一般在紡織紗線模擬這一塊用<span style="color: rgb(18, 18, 18);">貝塞爾插值的較多,b樣條和一般的織物都有著較好的擬合性。其中線性插值就是通過兩點確定一條直的紗線路徑,若是想得到一條直來直去的紗線可以選用此項。</span></p><p><span style="color: rgb(18, 18, 18);">同時除了插值,此處還有一個周期性選項(Periodic)。若是要重復(fù)紗線并使紗線連接處有著較好的銜接性,請勾選此處。
展開 
圓弧插值算法(有代碼) ¥20
1、圓弧插值算法理論
弧形運動是機械臂呈直線運動軌跡的一種補充軌跡方式,在空間坐標系中,直角插補算法采用的是兩點之間取任意個插值點構(gòu)成一條直線, 圓弧插補算法則是通過在空間中選擇三個不共面點,確定一個空間圓弧,之后轉(zhuǎn)化為平面圓弧問題進行求解。
如圖4-3所示,OoXoYqZo坐標系中存在 A(x,Jy,2小B(x2, 2.z2), C(2,Yg, z)構(gòu)成的空間圓弧,A、B、C三點以A點建立新的坐標系0,XYZ.其中Z軸坐標都為0,此時空間圓弧就轉(zhuǎn)換到了平面圓弧進行插值規(guī)劃軌跡。
空間圓弧轉(zhuǎn)化為平面圓弧
為確定角度利于插補,設(shè)定圓弧的圓心 在 坐標系中的原點位置,如圖所示,分別構(gòu)造輔助線 ,同時滿足可
平面圓弧插補圖
依據(jù)淵足條件求出圓心坐標,圓弧半徑為 ,求出A、C兩點間距離 根據(jù)R、d得到圖心角a = 2arcsin[d/2R].確定出相關(guān)參數(shù)后,對圓心角a進行N次插補,角位移插補增量為 各插補點計算方式如下所示:
根據(jù)第三章機械臂相對坐標系變換知識,在坐標系 進行插值后需要將所有插值點轉(zhuǎn)換原坐標系 中,變化矩陣F如下所示。設(shè)某插補點在坐標系 中坐標為[Rxo, Ryo, R2o],通過位姿變換得到坐標系 下的坐標[Rx1, Ry1, R23]
矩陣F是由圓弧上各點在坐標系 的坐標和矢量X1,Y1,z1的方向余弦向量構(gòu)成,如下所示:
將X,Y Z分別依次化為單位向量{nx, ny, nZ},{Ox 0y, 0Z},{ax, ay, az}帶入到位姿矩陣N中,求出機械臂位姿矩陣各參數(shù)后通過求逆得到各插補點的關(guān)節(jié)變量,機械臂進行動作執(zhí)行呈圓弧形軌跡運動。
展開 四結(jié)點四邊形等參元插值函數(shù)的計算
程序名稱
shapef(s,t,xl,xsj,shp)――四結(jié)點四邊形等參元插值函數(shù)的計算
功 能
本程序用以計算四結(jié)點四邊形等參元的Jacobi矩陣,Jacobi行列式的值及導(dǎo)數(shù)之間的變換。
使用說明
子程序語句 subroutine shapef(s,t,xl,xsj,shp)
參數(shù)說明
◎ s,t 實變量,輸入?yún)?shù),自然坐標下所求點的座標值。
◎ xl 實變量,輸入?yún)?shù),結(jié)點坐標。其中xl(1,i)表示x方向坐標,xl(2,i)表示y方向坐標。
◎ xsj 實變量,輸出參數(shù),所求點Jacobi行列式的值。
◎ shp 實變量,輸出參數(shù)。其中shp(1,i)是插值函數(shù)對x的偏導(dǎo),shp(2,i)是插值函數(shù)對y的偏導(dǎo),
shp(3,i)是插值函數(shù)。
方法簡介
四結(jié)點四邊形自然坐標下的插值函數(shù):
由等參元的概念得:
則導(dǎo)數(shù)之間的變換為:
程序(提供下載)
shapef.zip
展開 用線性插值算法實現(xiàn)圖像縮放
前面說到的三種方法:最近鄰域法,線性插值法和三次樣條法都是所謂的“重采樣濾波器”。
所謂“最近鄰域法”就是把這個非整數(shù)坐標作一個四舍五入,取最近的整數(shù)點坐標處的點的顏色。而“線性插值法”就是根據(jù)周圍最接近的幾個點(對于平面圖像來說,共有四點)的顏色作線性插值計算(對于平面圖像來說就是二維線性插值)來估計這點的顏色,在大多數(shù)情況下,它的準確度要高于最近鄰域法,當然效果也要好得多,最明顯的就是在放大時,圖像邊緣的鋸齒比最近鄰域法小非常多。當然它同時還帶業(yè)個問題:就是圖像會顯得比較柔和。這個濾波器用專業(yè)術(shù)語來說(呵呵,賣弄一下偶的專業(yè)^_^)叫做:帶阻性能好,但有帶通損失,通帶曲線的矩形系數(shù)不高。至于三次樣條法我就不說了,復(fù)雜了一點,可自行參考數(shù)字圖像處理方面的專業(yè)書籍,如本文的參考文獻。
再來討論一下坐標變換的算法。簡單的空間變換可以用一個變換矩陣來表示:
[x’,y’,w’]=[u,v,w]*T
其中:x’,y’為目標圖像坐標,u,v為源圖像坐標,w,w’稱為齊次坐標,通常設(shè)為1,T為一個3X3的變換矩陣。
這種表示方法雖然很數(shù)學化,但是用這種形式可以很方便地表示多種不同的變換,如平移,旋轉(zhuǎn),縮放等。對于縮放來說,相當于:
[Su 0 0 ]
[x, y, 1] = [u, v, 1] * | 0 Sv 0 |
[0 0 1 ]
其中Su,Sv分別是X軸方向和Y軸方向上的縮放率,大于1時放大,大于0小于1時縮小,小于0時反轉(zhuǎn)。
矩陣是不是看上去比較暈?
展開 高維函數(shù)的插值
假設(shè)有一組海底深度測量數(shù)據(jù),采用插值方式繪制海底形狀圖。
(1)為仿真,用以下模型產(chǎn)生一組分度稀疏的“海底深度測量數(shù)據(jù)”。
randn('state',2) % 為仿真的可重復(fù)性而設(shè)
x=-5:5;y=-5:5;[X,Y]=meshgrid(x,y); % 產(chǎn)生“經(jīng)緯”矩陣
% 以下兩條指令本可寫成一條。因 Notebook 無法正確處理續(xù)行號,不得不如此。
zz=1.2*exp(-((X-1).^2+(Y-2).^2))-0.7*exp(-((X+2).^2+(Y+1).^2));
Z=-500+zz+randn(size(X))*0.05; % 使數(shù)據(jù)帶標準差為 0.05 的隨機誤差
surf(X,Y,Z);view(-25,25)
圖 1 據(jù)基準數(shù)據(jù)繪制的曲面圖
(2)通過插值畫更細致的海底圖
xi=linspace(-5,5,50);yi=linspace(-5,5,50);[XI,YI]=meshgrid(xi,yi);
ZI=interp2(X,Y,Z,XI,YI,'*cubic');
surf(XI,YI,ZI),view(-25,25)
圖 2 由插值數(shù)據(jù)生成的曲面
展開 matlab進行插值時提示網(wǎng)格矢量必須包含特征點的問題 ¥1
如題,當我們使用matlab進行插值時,有時候會提示網(wǎng)格矢量必須包含特征點的問題。
這主要是由于插值時X軸的數(shù)據(jù)出現(xiàn)了重復(fù)點導(dǎo)致的,單調(diào)不單調(diào)對于插值函數(shù)影響不大。
可有時我們的數(shù)據(jù)點會很多,導(dǎo)致查找非常麻煩,這里給大家提供一個簡單有效的方法:
ANSYS_Workbench-Fluent流固耦合溫度插值方法
五
雙擊C的model,打開分析窗口,創(chuàng)建網(wǎng)格,關(guān)鍵:在Static structural下面有
imported Load(solution),右擊inert→Body Temperature,會出現(xiàn)進度條,稍等則在左下角出現(xiàn)下列圖片,Geometry選中固體,CFD Domin選Solid,此時Imported Body Temperature前出現(xiàn)閃電符號,右擊選Import Load,F(xiàn)luent計算的溫度載荷就插值到新劃分的有限元網(wǎng)格上。
六
添加預(yù)約,計算
這僅是個簡單實例,具體問題還涉及到定義材料塑性應(yīng)力應(yīng)變數(shù)據(jù),分析的非線性設(shè)置,接觸設(shè)置等等。
文章綜合于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除!
展開 用Matlab寫的通用的3次樣條插值算法
用Matlab實現(xiàn)了3次樣條曲線插值的算法。邊界條件取為自然邊界條件,即:兩個端點處的2階導(dǎo)數(shù)等于0;
共包含3各個函數(shù)文件,主函數(shù)所在文件(即使用的時候直接調(diào)用的函數(shù))為spline3.m,另外兩個函數(shù)文件是在splin3函數(shù)文件中被調(diào)用的自定義函數(shù)。一個是GetParam.m,一個是GetM.m。

[有限元原理]有限差分法與有限單元法的區(qū)別
2 有限元方法的基礎(chǔ)是變分原理和加權(quán)余量法,其基本求解思想是把計算域劃分為有限個互不重疊的單元,在每個單元內(nèi),選擇一些合適的節(jié)點作為求解函數(shù)的插值點,將微分方程中的變量改寫成由各變量或其導(dǎo)數(shù)的節(jié)點值與所選用的插值函數(shù)組成的線性表達式,借助于變分原理或加權(quán)余量法,將微分方程離散求解。采用不同的權(quán)函數(shù)和插值函數(shù)形式,便構(gòu)成不同的有限元方法。
在有限元方法中,把計算域離散剖分為有限個互不重疊且相互連接的單元,在每個單元內(nèi)選擇基函數(shù),用單元基函數(shù)的線形組合來逼近單元中的真解,整個計算域上總體的基函數(shù)可以看為由每個單元基函數(shù)組成的,則整個計算域內(nèi)的解可以看作是由所有單元上的近似解構(gòu)成。
根據(jù)所采用的權(quán)函數(shù)和插值函數(shù)的不同,有限元方法也分為多種計算格式。從權(quán)函數(shù)的選擇來說,有配置法、矩量法、最小二乘法和伽遼金法,從計算單元網(wǎng)格的形狀來劃分,有三角形網(wǎng)格、四邊形網(wǎng)格和多邊形網(wǎng)格,從插值函數(shù)的精度來劃分,又分為線性插值函數(shù)和高次插值函數(shù)等。不同的組合同樣構(gòu)成不同的有限元計算格式。
對于權(quán)函數(shù),伽遼金(Galerkin)法是將權(quán)函數(shù)取為逼近函數(shù)中的基函數(shù);最小二乘法是令權(quán)函數(shù)等于余量本身,而內(nèi)積的極小值則為對代求系數(shù)的平方誤差最小;在配置法中,先在計算域內(nèi)選取N個配置點。令近似解在選定的N個配置點上嚴格滿足微分方程,即在配置點上令方程余量為0。插值函數(shù)一般由不同次冪的多項式組成,但也有采用三角函數(shù)或指數(shù)函數(shù)組成的乘積表示,但最常用的多項式插值函數(shù)。有限元插值函數(shù)分為兩大類,一類只要求插值多項式本身在插值點取已知值,稱為拉格朗日(Lagrange)多項式插值;另一種不僅要求插值多項式本身,還要求它的導(dǎo)數(shù)值在插值點取已知值,稱為哈密特(Hermite)多項式插值。單元坐標有笛卡爾直角坐標系和無因次自然坐標,有對稱和不對稱等。
展開 ANSYS子模型分析的一般步驟-實例講解
(7) 開始切割邊界插值。用下列方法完成本步操作:
Command: CBDOF
GUI: Main Menu>General Postproc>Submodeling>Interpolate DOF
缺省狀態(tài)下,CBDOF命令假定切割邊界結(jié)點在文件Jobname.NODE中。ANSYS將計算切割邊界的DOF數(shù)值并用D命令的形式寫入文件Jobname.CBDO中。
用下列方法作溫度插值,但要保證文件包含所有子模型結(jié)點:
Command: BFINT
GUI: Main Menu>General Postproc>Submodeling>Interp Body Forc
溫度插值以BF命令的格式寫入文件Jobname.BFIN中。
注意:如果數(shù)據(jù)包括實部和虛部的話,比如聲壓等,步驟6和7就要作兩遍。先用SET 命令讀入實部的數(shù)據(jù)并作插值[CBDOF和/或BFINT],然后用SET命令將域設(shè)為1 讀入虛部的數(shù)據(jù)并重新進行插值,但這次將虛部插值寫入另一個文件。
(8)至此,所有的插值任務(wù)完成,退出POST1[FINISH]并讀入子模型數(shù)據(jù)庫(RESUME或Main Menu>File>Resume from)。
第四步:分析子模型
在本步中,用戶指定分析類型和分析選項,加入插值的DOF數(shù)值(和溫度數(shù)值),施加其他的載荷和邊界條件,指定載荷步選項,并對子模型求解。
首先進入求解器(/SOLU或Main Menu>Solution)。
然后定義分析類型(一般為靜態(tài))和分析選項。
展開 基于OptiStruct的3種子模型法實現(xiàn)及應(yīng)用
TCL子模型法插值精度偏低,存在一定誤差;FIELD子模型法插值精度中等,結(jié)果基本無差別;FBD子模型法插值精度高,結(jié)果完全一致。應(yīng)用的工程案例表明子模型法計算效率可提升92.7%,可見子模型法是有限元學科中特有的提高計算效率的一種捷徑,助力工程師快速且準確地確定設(shè)計方案,應(yīng)善用子模型法。
圖8 等參對比各方案拉應(yīng)力對比
文章來源:機械工程師
無網(wǎng)格方法的簡介
我們知道,對于一個很復(fù)雜的一維函數(shù),在全域內(nèi)直接進行逼近是不容易的,于是我們一般將其定義域劃分成小段,在每一段是用較低階次的差值,每段交界處滿足某些連續(xù)性條件,就會得到一個較好的插值結(jié)果。
一維函數(shù)要分段,二維三維的就劃分成網(wǎng)格了,在每個小網(wǎng)格上用簡單的插值函數(shù)表示全域上的復(fù)雜函數(shù),這就是有限元方法基本出發(fā)點,也完成了微分方程求解的第一步,也就是近似解空間的構(gòu)造。至于后面的伽遼金方法啦,勢能泛函啦,剛度矩陣啦,都是在插值方法的基礎(chǔ)上進行的固定套路。
網(wǎng)格的引入將插值問題從整體引向了局部,這就大大減小了插值函數(shù)構(gòu)造的難度,既然近似解空間順利地構(gòu)造了出來,那么后面的的求解就是順理成章的事情了。于是有限遠方法成了偏微分方程求解的首選方法,在力學和工程上獲得了最廣泛的應(yīng)用。
當然,有限元方法也有其自身的缺點,當然這些缺點也大都來源于網(wǎng)格。首先不是在所有的網(wǎng)格上都能構(gòu)造出適定的插值函數(shù)來的,如果網(wǎng)格出現(xiàn)內(nèi)凹等情況,那么就不能構(gòu)造出適定的插值函數(shù)。即便在劃分初始網(wǎng)格的時候充分注意保證不出現(xiàn)奇異的網(wǎng)格,后續(xù)若變形過大也很難保證變形后的網(wǎng)格不奇異,這就使得有限元方法在處理極端大變形的時候出現(xiàn)困難。其次,有限元插值函數(shù)的構(gòu)造還需考慮網(wǎng)格之間的連續(xù)性,對于C0連續(xù)性,構(gòu)造是十分簡單的,但是一旦連續(xù)性要求提高,譬如要求C1連續(xù)性,那么插值函數(shù)的構(gòu)造就變得異常困難,困難到迄今為止對于板殼問題也沒有構(gòu)造出完全滿足C1連續(xù)性的單元。
還有,如果計算過程中需要重新劃分網(wǎng)格,譬如裂縫擴展問題或者自適應(yīng)分析問題,網(wǎng)格的拓撲結(jié)構(gòu)發(fā)生了變化,其計算成本機會變得非常大。
既然有限元方法也有這樣那樣的缺點,那么我們就希望解決這些問題。首先說這些問題都來源于網(wǎng)格,那么直接在有限元基礎(chǔ)上對其進行改進,效果自然不會達到最好,于是研究者把革命的對象鎖定在了網(wǎng)格上。
展開