数值分析大作业 三次样条插值在船舶邦戎曲线中的应用_第1页
数值分析大作业 三次样条插值在船舶邦戎曲线中的应用_第2页
数值分析大作业 三次样条插值在船舶邦戎曲线中的应用_第3页
数值分析大作业 三次样条插值在船舶邦戎曲线中的应用_第4页
数值分析大作业 三次样条插值在船舶邦戎曲线中的应用_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、三次样条插值在船舶邦戎曲线中的应用船建学院 B1301095 wj1、 计算原理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;c

4、lear;%global x y 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

5、(i)/h(i)-(y(i)-y(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

6、(i)2/6; s(i,:)=(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

7、(i)=vpa(poly2sym(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

8、 i=2:n %LUx=f,先计算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)<

9、0 k=i; %判断x0所在的分片位置% 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、 计算结果首先

10、把型值表里的数据按照表1的格式输入到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

提交评论