数值分析,飞鸟外形,四川大学,研究生作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

现代科学工程计算基础作业

制造科学与工程学院XX 学号:XXXXXXX

24. 构造三次样条曲线s(x)去模拟一只飞鸟外形的上部,测得的数据如下(P89

解:

程序清单:

xk=[0.9,1.3,1.9,2.1,2.6,3.0,3.9,4.4,4.7,5.0,6.0,7.0,8.0,9.2,10.5,11.3,11.6,12.0,12.6,13.0,13.3];

y=[1.3,1.5,1.85,2.1,2.6,2.7,2.4,2.15,2.05,2.1,2.25,2.3,2.25,1.95,1.4,0.9,0.7,0.6,0.5,0.4,0.25];

i=(1:20);

h(i)=xk(i+1)-xk(i);

f1(i)=(y(i+1)-y(i))./h(i);

i=(2:20);

lambda(i-1)=h(i)./(h(i-1)+h(i));

mu(i)=h(i-1)./(h(i-1)+h(i));

i=(2:20);

e(i)=3*(lambda(i-1).*f1(i-1)+mu(i).*f1(i));

e(1)=3*f1(1);

e(21)=3*f1(20);

lambda(20)=1;

mu(1)=1;

A=2*eye(21)+diag(lambda,-1)+diag(mu,1);

e=e';

m=inv(A)*e;

m=m';

fprintf('各个节点处的一阶导数m为\n');

disp(m);

syms t;

for k=1:(length(xk)-1)

x=xk(k):(xk(k+1)-xk(k))/50:xk(k+1);

f=s(xk(k),xk(k+1),y(k),y(k+1),m(k),m(k+1));

plot(x,f,'k');

xlabel('x轴');ylabel('y轴');title('飞鸟外形上部三次插值曲线');

hold on

end

plot(xk,y,xk,y,':ro','MarkerSize',8),grid on;

text(xk(2),y(2),'\fontsize{12}\leftarrow\fontname{宋体}插值点');

%s计算函数值的源代码:

function y=s(xk,xk1,yk,yk1,m,m1)

h=xk1-xk;

x=xk:(xk1-xk)/50:xk1;

for i=1:51

y(i)=((x(i)-xk1).^2)*(h+2*(x(i)-xk))*yk/(h^3)+((x(i)-xk).^2)*(h+2*(xk1-x(i)))*yk1/(h^3)+((x(i)-x k1).^2)*(x(i)-xk)*m/(h^2)+((x(i)-xk).^2)*(x(i)-xk1)*m1/(h^2);

end

程序运行结果:

各个节点处的一阶导数m为

Columns 1 through 9

0.5396 0.4208 1.0868 1.2949 0.5934 -0.0222 -0.5034 -0.4771 -0.0713

Columns 10 through 18

0.2623 0.0808 0.0146 -0.1390 -0.3358 -0.5318 -0.7312 -0.4929 -0.1413

Columns 19 through 21

-0.1789 -0.3928 -0.5536

图1 程序运行结果图

图2 利用Matlab的样条插值函数spline得到的结果图

图3 对比图

相关文档
最新文档