數值分析大作業三次樣條插值在船舶邦戎曲線中的應用_第1頁
數值分析大作業三次樣條插值在船舶邦戎曲線中的應用_第2頁
數值分析大作業三次樣條插值在船舶邦戎曲線中的應用_第3頁
數值分析大作業三次樣條插值在船舶邦戎曲線中的應用_第4頁
數值分析大作業三次樣條插值在船舶邦戎曲線中的應用_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、三次樣條插值在船舶邦戎曲線中的應用1、 計算原理1、三次樣條插值原理三次樣條插值多項式是一種分段函數,它的應用范圍很廣,本文探討該方法在船舶靜力學曲線計算和繪制中的應用。節點分成的每個小區間上是3次多項式,其在此區間上的表達式如下: 因此,只要確定了的值,就確定了整個表達式,的計算方法如下:令:則滿足如下n-1個方程:對于第一種邊界條件下有如果令那么解就可以寫為 2、船舶靜力學中的邦戎曲線船舶邦戎曲線是由一組船舶橫剖面的面積曲線組成的,其中每條曲線表示該處橫剖面在不同水線以下浸入水中的面積。邦戎曲線是船體縱向積分的基礎,利用它可以計算船舶在不同吃水下的排水體積和浮心位置,進而為船舶的穩性與強度

2、計算提供基本數據。因而邦戎曲線的精確性直接影響到船舶的安全性。傳統邦戎曲線的計算以型值表為基礎,利用梯形積分法,把船體某一橫截面上各水線之間的面積近似成梯形,然后把這些小梯形的面積求和得到,但梯形法只有一階代數精度,對穩性計算要求較高的液貨船來說,似乎不夠精確。本文提出先把某一橫截面上各水線面之間的水線面半寬用1個一元三次函數近似表達,然后在該水線面之間對這個一元三次函數進行積分,得到各水線面之間的小圖形面積,再對這些小圖形面積進行疊加,得到某一橫截面的面積。3、追趕法計算對角占優方程組在實際問題中,經常遇到以下形式的方程組 這種方程組的系數矩陣A為三對角矩陣,即追趕法實際上是高斯消去法的一種

3、簡化形式,它同樣分消元與回代兩個過程。求解基本步驟如下:(1) 計算的遞推公式,.(2) 解Ly=f, (3) 解Ux=y. 將計算系數及的過程稱為追的過程。將計算方程組的解的過程稱為追趕的過程。4、Simpson公式Simpson公式是一個數值積分公式,在計算一些多項式函數(三次或三次一下)的定積分時會得出精確值。但容易驗證它對于=通常是不準確的,因此,Simpson公式實際上具有三次代數精度,但是配合三次樣條插值使用,三次代數精度已滿足。將定積分的積分區間分隔為等分,各節點為 得到Simpson公式: 2、 Matlab程序1、三次樣條插值主程序:clc;clear;%global x y

4、 h s n; %定義全局變量%y=0 0.5 1 1.5 2 3 4;%船舶吃水深度%x=0 1.653 2.089 2.388 2.619 3.049 3.654;%對應水深下的船寬%y_0=0;y_n=0;%第一類邊界條件%n=length(x);for i=1:n-1 h(i)=x(i+1)-x(i); %計算分化間隔%endfor i=2:n-1 u(i-1)=h(i-1)/(h(i-1)+h(i); %計算三對角的下對角線1到n-2% v(i)=h(i)/(h(i-1)+h(i); %計算三對角的上對角線2到n-1% d(i)=6*(y(i+1)-y(i)/h(i)-(y(i)-y

5、(i-1)/h(i-1)/(h(i-1)+h(i);%計算d向量(1到n-1)%endu(n-1)=1;v(1)=1;%補充定義三對角元素%d(1)=6*(y(2)-y(1)/h(1)-y_0)/h(1);d(n)=6*(y_n-(y(n)-y(n-1)/h(n-1)/h(n-1);%補充定義d向量%w(1:n)=2;%定義三對角的中對角線1到n%M=zhuigan(u,w,v,d,n);%調用追趕法函數,n為方程組的階數%for i=1:n-1 %計算每個分化的三次多項式,conv% a=y(i)-M(i)*h(i)2/6; b=y(i+1)-M(i+1)*h(i)2/6; s(i,:)=(

6、M(i)*conv(conv(-1,x(i+1),-1,x(i+1),-1,x(i+1)+M(i+1)*conv(conv(1,-x(i),1,-x(i),1,-x(i)/(6*h(i)+ (a*0,0,-1,x(i+1)+b*0,0,1,-x(i)/h(i); end%for i=1:n-1 e=linspace(x(i),x(i+1),10); f=polyval(s(i,:),e);%代入e計算多項式的值% plot(e,f); hold on; %根據以上多項式,做出圖像,hold on%end%syms X; %定義符號變量%for i=1:n-1 p(i)=vpa(poly2sym

7、(s(i,:),'X'),4); %表示出每個分段的多項式表達式%end%for i=1:36 x0(i)=0+i*0.1;%吃水從0到設計水線% A(i)=simpson(x0(i);%調用simpson函數%endplot(x0,A);%繪制對應站位上的邦戎曲線(橫截面面積與吃水的關系)%2、追趕法子程序:%追趕發%function x=zhuigan(a,b,c,f,n)bt(1)=c(1)/b(1);for i=2:n-1 %求解% bt(i)=c(i)/(b(i)-a(i-1)*bt(i-1);endy(1)=f(1)/b(1);for i=2:n %LUx=f,先計

8、算Ly=f% y(i)=(f(i)-a(i-1)*y(i-1)/(b(i)-a(i-1)*bt(i-1);endx(n)=y(n);for i=n-1:-1:1%計算Ux=y% x(i)=y(i)-bt(i)*x(i+1);endend3、Simpson法子程序%simpson法計算數值積分(配合三次樣條曲線)%function A=simpson(x0)%返回面積A,輸入任一水深x0%global x y h s n; %申明全局變量%A=0;%面積初始化%for i=1:n-1 if (x0-x(i)>0&&(x0-x(i+1)<0 k=i; %判斷x0所在的分

9、片位置% break; endend for i=1:k-1 %mean_i為中間位置,從h(1)到h(n-1)疊加計算面積% mean_i=polyval(s(i,:),x(i)/2+x(i+1)/2); A=A+2*h(i)/6*(y(i)+y(i+1)+4*mean_i);end%y_x0=polyval(s(k,:),x0);step=x0-x(k);mean_k=polyval(s(k,:),x(k)/2+x0/2);A=A+2*step/6*(y(k)+4*mean_k+y_x0);%計算余下的面積,2*是因為船舶面積是對稱%end3、 計算結果首先把型值表里的數據按照表1的格式輸

10、入到Excel中,以備計算程序調用,然后把與計算有關的數據用C#語言實時地調用到程序中,根據相關數據計算得出船舶橫剖面的三次樣條插值函數,最后用辛普森積分法對該函數進行積分,得到邦戎曲線。計算流程圖如下:以某14300DWT散貨船為例(下圖),計算第2站的橫剖面曲線去,并計算吃水從03.6m的浸水面積,繪制邦戎曲線。基于三次樣條插值計算得到二號站位處的橫剖面曲線圖,如下圖所示:圖:二號站位的橫剖面曲線對以上得到的橫剖面半寬圖利用Simpon積分得到邦戎曲線,如下圖所示:圖:二號站位的邦戎曲線各分劃的三次函數,表示如下:0,1.653:0.1058*X3 + 0.008074*X2 - 3.469*10(-17)*X 1.653,2.089:0.1072*X3 + 0.0009915*X2 + 0.01171*X - 0.0064512.089,2.388:0.5718*X3 - 2.91*X2 + 6.093*X - 4.2412.388,2.619:12.62*X2 - 1.596*X3 - 31.0*X + 25.282.619,3.049:0.1255*X3 - 0.906*X2 + 4.432*X - 5.6473.049,3.654:22.72*X2 - 2.458*X3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論