clear all close all dx=.1 x=0:dx:2*pi; y=sin(x); n=length(x); figure(1) plot(x,y) %fwd difference scheme for i=1:n-1 dy(i)=(y(i+1)-y(i))/dx; end dy(n)=(y(n)-y(n-1))/dx; %must use bwd scheme at right endpt hold on plot(x,dy,'r') %bwd difference scheme for i=2:n dyb(i)=(y(i)-y(i-1))/dx; end dyb(1)=(y(2)-y(1))/dx; %must use fwd scheme at left endpt plot(x,dyb,'g') %center difference scheme--second order accurate for i=2:n-1 dyc(i)=(y(i+1)-y(i-1))/(2*dx); end %use second order accurate diff schemes at endpts dyc(n)=(3*y(n)-4*y(n-1)+y(n-2))/(2*dx); %must use bwd scheme at right endpt dyc(1)=(-3*y(1)+4*y(2)-y(3))/(2*dx); %must use fwd scheme at left endpt plot(x,dyc,'k') %c=cos(x); %plot(x,c,'b--') load bears.dat yr=bears(:,1); win=bears(:,2); figure(2) plot(yr,win,'o--') m=length(yr); db=(yr(end)-yr(1))/m; %fwd difference scheme for i=1:m-1 dw(i)=(win(i+1)-win(i))/db; end dw(m)=(win(m)-win(m-1))/db; %must use bwd scheme at right endpt hold on plot(yr,dw,'r*:') dbs=.1; xp=yr(1):dbs:yr(end); xpm=length(xp); bearspline=spline(yr,win,xp); plot(xp,bearspline,'m') %fwd difference scheme for i=1:xpm-1 dws(i)=(bearspline(i+1)-bearspline(i))/dbs; end dws(xpm)=(bearspline(xpm)-bearspline(xpm-1))/dbs; %must use bwd scheme at right endpt plot(xp,dws,'k')