06.08.2013 Views

内容简介作者简介 - 科学与工程计算系

内容简介作者简介 - 科学与工程计算系

内容简介作者简介 - 科学与工程计算系

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

-5 0 5<br />

图 4.12-1<br />

【例 4.12.1-2】用样条插值产生长、短轴分别在 45 度、135 度线上的椭圆。<br />

theta=[0:0.5:2]*pi;<br />

y=[-0.5 1 -0.5 -1 0.5 1 -0.5;0.5 1 0.5 -1 -0.5 1 0.5]; %<br />

theta2=linspace(theta(1),theta(end),50*length(theta));<br />

yy=spline(theta,y,theta2);<br />

plot(yy(1,:),yy(2,:),'b');hold on<br />

plot(y(1,:),y(2,:),'or');hold off,axis('image')<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.8<br />

-1<br />

-1 -0.5 0 0.5 1<br />

图 4.12-2<br />

4.12.2 样条函数用于数值积分和微分<br />

【例 4.12.2-1 】对于函数 y = sin x ,很容易求得 S ( x)<br />

∫ sin xdx = 1 − cos x ,<br />

28<br />

= x<br />

y′ = cos x 。本例将借此演示样条函数求数值不定积分、导函数的能力。<br />

(1)<br />

x=(0:0.1:1)*2*pi;y=sin(x);<br />

pp=spline(x,y);<br />

int_pp=fnint(pp);<br />

der_pp=fnder(pp);<br />

%<br />

xx=(0:0.01:1)*2*pi;<br />

err_yy=max(abs(ppval(pp,xx)-sin(xx)))<br />

err_int=max(abs(ppval(int_pp,xx)-(1-cos(xx))))<br />

err_der=max(abs(ppval(der_pp,xx)-cos(xx)))<br />

err_yy =<br />

0.0026<br />

err_int =<br />

0.0010<br />

err_der =<br />

0

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!