《数值分析大作业三次样条插值在船舶邦戎曲线中的应用》

上传人:tang****xu7 文档编号:271301349 上传时间:2022-03-28 格式:DOCX 页数:10 大小:751.47KB
返回 下载 相关 举报
《数值分析大作业三次样条插值在船舶邦戎曲线中的应用》_第1页
第1页 / 共10页
《数值分析大作业三次样条插值在船舶邦戎曲线中的应用》_第2页
第2页 / 共10页
《数值分析大作业三次样条插值在船舶邦戎曲线中的应用》_第3页
第3页 / 共10页
《数值分析大作业三次样条插值在船舶邦戎曲线中的应用》_第4页
第4页 / 共10页
《数值分析大作业三次样条插值在船舶邦戎曲线中的应用》_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《《数值分析大作业三次样条插值在船舶邦戎曲线中的应用》》由会员分享,可在线阅读,更多相关《《数值分析大作业三次样条插值在船舶邦戎曲线中的应用》(10页珍藏版)》请在金锄头文库上搜索。

1、三次样条插值在船舶邦戎曲线中的应用船建学院B1301095wj、计算原理1三次样条插值原理三次样条插值多项式创C是一种分段函数5它的应用范围很广5本文探讨该方法在船舶静力学曲线计算和绘制中的应用。节点Xi(a二X。皿一rXn::Xn=b)分成的每个小区间上x上是3次多项式其在此区间上的表达式如下:1S(x)h?xxh2x二士以-x)3Mid(X-XJMJ(y.-WMiG勺X(%匚6h6h6hixAxi,x,i=12因此,只要确定了皿的值,就确定了整个表达式,的计算方法如下:令:二1一片hihiihi-hiid6(一垒心)=6f(XjJ,Xi,XiJK-hi4+叶hi+n,则Mi满足如下n-1个

2、方程:W42MiMiip,i=12,n-1对于第一种边界条件卜有:6(fnfXn/,Xn)Mnv2Mhn12M0M,6(&冷1f。)hoO-1#0如果令6(仇&凶)ro)6(fn-ffXnjXnl)h9那么命车就可以写为s_n2人Ym、姑diAAMT-nAnJdnd%2、Mn2-船舶静力学中的邦戎曲线船舶邦戎曲线是由一组船舶横剖面的面积曲线组成的,其中每条曲线表示该处横剖面在不同水线以下浸入水中的面积。邦戎曲线是船体纵向积分的基础,利用它可以计算船舶在不进而为船舶的稳性与强同吃水下的排水体积和浮心位置,度计算提供基本数据。因而邦戎曲线的精确性直接影响到船舶的安全性。传统邦戎曲线的计算以型值表为

3、基础,利用梯形积分法,把船体某一横截面上各水线之间的面积近似成梯形,然后把这些小梯形的面积求和得到,但梯形法只有一阶代数精度,对稳性计算要求较高的液货船来说,似乎不够精确。本文提出先把某一邦戎曲线横截面上各水线面之间的水线面半宽用1个一元三次函数近似表达,然后在该水线面之间对这个一元三次函数进行积分,得到各水线面之间的小图形面积,再对这些小图形面积进行叠加,得到某一横截面的面积。3追赶法计算对角占优方程组在实际问题中,经常遇到以下形式的方程组Sf(a)4f(62、Matlab程序T三次样条插值主程序:clc;clear;%globalxyhsn;%定乂全局变量y=00.511.5234;%船舶

4、吃水深度x=01.6532.0892.3882.6193.0493.654;%对应水深下的舟&宽y_0=0;y_n=0;%第一类边界条件n=length(x);fori=l:nlXi)=x(i+l)-x;计算分化间隔endfori=2:nlu(iT)=h(i-l)/(h(i-l)+h(i);%计算三对角的下对角线1Un2%v=h/(h(i-l)+h);计算三对角的上对角线2到d(i)=6(y(i+l)-y(i)/h(i)-(y(i)-y(iT)/h(iT)/(h(iT)-h(i);%计算d向量(1到)%endu(n-l)=l:V=1;%补充定义三对角元素d(1)=6*(y(2)-y(1)/h(

5、l)-y_0)/h(l);d(n)=6*(y_n-(y(n)-y(nT)/h(nT)/hSl);%补充定乂d向量%w(l:%定义三对角的中对角线1到n%M=zhuigan(u,w,v,d,n);%调用追赶法函数,n为方程组的阶数%fori=l:nl%计算每个分化的三次多项式,conv%a=y(i)-M(i)*h(i)A2/6;b=y(i+1)-M(i+1)*h(i)A2/6;s(i,:)=(M(i)*conv(conv(T,x(i+l),T,x(i+l),1,x(i+l)+M(i+1)*conv(conv(l,-X(i),1,-X(i),1,-x(i)/(6*h(i)+(a*0,0,T,x(i

6、+1)+b*0,0,1,x(i)/h(i);end%fori=l:nle=linspace(x(i),x(i+1),10);f二polyval(s(i,:),e);%代入e计算多项式的值plot(e,f);holdon;%根据以上多项式,做出图像,holdon%end%symsX;%定义符号变量fori=l:nlp(i)=vpa(poly2sym(s(i,:),X),4);%表示出每个分段的多项式表达式end%fori=l:36x0(i)=0+i*0.1;%吃水从0到设计水线A(i)=simpson(x0(i);%调用simpson函数%endplot(xO,A);%绘制对应站位上的邦戎曲线(

7、横截面面积与吃水的矢系)%2、追赶法子程序:%追赶发functionx二zhuigan(a,b,c,f,n)bt(1)=c(l)/b(l);fori=2:nT%求解3%bt(i)=c(i)/(b(i)-a(i-1)*bt(il);endy(i)=f(i)/bd);fori=2:n%LUx=f,先计算Ly=f%y(i)=(f-&(i1广y(iD)/(b-a(i-l)Ft(i1);endx(n)=y(n);fori=nT:1:1%计算Ux=y%x(i)=y(i)-bt(i)*x(i+l);endend3、Simpsor法子程序%simpson法计算数值积分(配合三次样条曲线)functionA=s

8、impson(xO)%返回面积A,输入任水深xO%globalxyhsn;%申明全局变量A=0;%面积初始化%fori=l:nlif(xOx(i)0&(xOx(i+1)0k=i;%判断xO所在的分片位置endbreak;endfori=l:kl%mean_i为中间位置,从h(l)到h(nT)叠加计算面积me&n_i=polyval(s(i,:),x(i)/2+x(i+1)/2);A=A+2*h(i)/6*(y(i)+y(i+l)+4*mean_i);end%y_xO=polyv&l(s(k,:),xO);step=xOx(k);mean_k=polyval(s(k,:),x(k)/2+x0/2

9、);A=A+2*step/6*(y(k)+4*mean_k+y_x0);%计算余下的面积,2是因为船舶面积是对称end三、计算结果首先把型值表里的数据按照表1的格式输入到Excel中,以备计算程序调用,然后把与计算有尖的数据用C#语言实时地调用到程序中,根据相矢数据计算得出船舶横剖面的三次样条插值函数,最后用辛普森积分法对该函数进行积分,得到邦戎曲线。表1某船部分型值表曲号/水号HI.500UI.100041”15001*(.皿加13000U14D00WLL594109SLW16031&KI174S2U252.031016532倔92斑2619304936542.5105231714U504加

10、52186LS27029计算流程图如下:输入型值畏数据计算爻且舶横剖面三次样条插值瞅数条插值两数积分以某14300DWT散货船为例(下图),计算第2站的横剖面曲线去,并计算吃水从的浸水面积,绘制邦戎曲线。12000WLHOOOWLlOOOQjff9000WL7000町.6000WL5000WI4000WL3000WL2000WL120CMJWLUOOOWL3OOOOWL9000WLSOOOWL7000WI6000W14000WL3000WL2000WL40004000500060002000LOGOCTLOGO2000600080005000WL纵剖线编U基于三次样条插值计算得到二号站位处的横

11、剖面曲线图,如下图所示:图:二号站位的横剖面曲线对以上得到的横剖面半宽图利用Simpon积分得到邦戎曲线,如下图所示:图:二号站位的邦戎曲线各分划的三次函数,表示如下:0,1.653:0.1058*XA3+0.008074*XA2-3.469*1(/(-17)*X1.653,2.089:0.1072*XA3+0.0009915*乂八2+0.0U7TX-0.0064512.089,2.388:0.5718*XA3-2.91*XA2+6.093*X4.2412.388,2.619:12.62*XA21.596*XA331.0*X+25.282.619,3.049:0.1255*XA30.906*XA2+4.432*X5.6473.049,3.654:22.72*XA22.458*XA367.61*X+67.57四、总结与展望利用三次样条插值计算船舶中的邦戎曲线,具有一定的专业价值。在后续的即提高对本专业的认工作中,可以计算费尔索夫曲线、船型稳性力臂插值曲线以及破损船舶的浮性和稳性。将数值计算的知识应用到船舶与海洋工程专业中去,识和matlab编程的能力,同时更加深刻的体会到计算方法的神奇之处!(wujun

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号