- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值分析大作业 三次样条插值在船舶邦戎曲线中的应用.doc
三次样条插值在船舶邦戎曲线中的应用
船建学院 B1301095 wj
计算原理
1、三次样条插值原理
三次样条插值多项式是一种分段函数,它的应用范围很广,本文探讨该方法在船舶静力学曲线计算和绘制中的应用。节点分成的每个小区间上是3次多项式,其在此区间上的表达式如下:
因此,只要确定了的值,就确定了整个表达式,的计算方法如下:
令:
则满足如下n-1个方程:
对于第一种边界条件下有
如果令那么解就可以写为
2、船舶静力学中的邦戎曲线
船舶邦戎曲线是由一组船舶横剖面的面积曲线组成的,其中每条曲线表示该处横剖面在不同水线以下浸入水中的面积。邦戎曲线是船体纵向积分的基础,利用它可以计算船舶在不同吃水下的排水体积和浮心位置,进而为船舶的稳性与强度计算提供基本数据。因而邦戎曲线的精确性直接影响到船舶的安全性。传统邦戎曲线的计算以型值表为基础,利用梯形积分法,把船体某一横截面上各水线之间的面积近似成梯形,然后把这些小梯形的面积求和得到,但梯形法只有一阶代数精度,对稳性计算要求较高的液货船来说,似乎不够精确。本文提出先把某一横截面上各水线面之间的水线面半宽用1个一元三次函数近似表达,然后在该水线面之间对这个一元三次函数进行积分,得到各水线面之间的小图形面积,再对这些小图形面积进行叠加,得到某一横截面的面积。
3、追赶法计算对角占优方程组
在实际问题中,经常遇到以下形式的方程组
这种方程组的系数矩阵A为三对角矩阵,即
追赶法实际上是高斯消去法的一种简化形式,它同样分消元与回代两个过程。求解基本步骤如下:
(1) 计算的递推公式
,.
(2) 解Ly=f
,
(3) 解Ux=y
.
将计算系数及的过程称为追的过程。将计算方程组的解的过程称为追赶的过程。
4、Simpson公式
Simpson公式是一个数值积分公式,在计算一些多项式函数(三次或三次一下)的定积分时会得出精确值。但容易验证它对于=通常是不准确的,因此,Simpson公式实际上具有三次代数精度,但是配合三次样条插值使用,三次代数精度已满足。
将定积分的积分区间分隔为等分,各节点为
得到Simpson公式:
Matlab程序
1、三次样条插值主程序:
clc;clear;
%%
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); %计算分化间隔%
end
for 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(i-1))/h(i-1))/(h(i-1)+h(i));
%计算d向量(1到n-1)%
end
u(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,:)=(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(s(i,:),X
文档评论(0)