计算方法大作业(第二次)(2)

2020-02-22 13:05

A=zeros(n);B=zeros(n,1); for i=1:n-1 a(i)=y(i);

dx(i)=x(i+1)-x(i); dy(i)=y(i+1)-y(i); end

for i=2:n-1

A(i,i-1)=dx(i-1);

A(i,i)=2*(dx(i-1)+dx(i)); A(i,i+1)=dx(i);

B(i,1)=3*(dy(i)/dx(i)-dy(i-1)/dx(i-1)); end

%自然样条端点条件(端点二阶导数为0) if flag==0 A(1,1)=1; A(n,n)=1; end

%端点一阶导数条件 if flag==1

A(1,1)=2*dx(1);A(1,2)=dx(1);

A(n,n-1)=dx(n-1);A(n,n)=2*dx(n-1); B(1,1)=3*(dy(1)/dx(1)-vl); B(n,1)=3*(vr-dy(n-1)/dx(n-1)); end

%端点二阶导数条件 if flag==2

A(1,1)=2;A(n,n)=2; B(1,1)=vl;B(n,1)=vr; end c=A\\B; for(i=1:n-1)

d(i)=(c(i+1)-c(i))/(3*dx(i));

b(i)=dy(i)/dx(i)-dx(i)*(2*c(i)+c(i+1))/3; end

[mm,nn]=size(xx); yy=zeros(mm,nn); for i=1:mm*nn for ii=1:n-1

if xx(i)>=x(ii)&xx(i)

elseif xx(i)==x(n) j=n-1; end

end

yy(i)=a(j)+b(j)*(xx(i)-x(j))+c(j)*(xx(i)-x(j))^2+d(j)*(xx(i)-x(j))^3; end end


计算方法大作业(第二次)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:(论文)撰写规范

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: