Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2008-06-03, 09:54   #1
tc_yangyi
初级会员
 
注册日期: 2008-06-03
年龄: 42
帖子: 1
声望力: 0
tc_yangyi 正向着好的方向发展
默认 [求助]关于三次样条函数的疑问

老师给我们布置了个作业,在不调用Matlab已有库函数的前提下,编写三次样条插值函数。
于是我编写了以下这段第一类边界条件的

function S=csfit(x,y,dx0,dxn)
n=length(x)-1;
h=diff(x);
d=diff(y)./h;
a=h(2:n-1);
b=2*(h(1:n-1)+h(2:n));
c=h(2:n);
u=6*diff(d);
b(1)=b(1)-h(1)/2;
u(1)=u(1)-3*(d(1)-dx0);
b(n-1)=b(n-1)-h(n)/2;
u(n-1)=u(n-1)-3*(dxn-d(n));
for k=2:n-1
temp=a(k-1)/b(k-1);
b(k)=b(k)-temp*c(k-1);
u(k)=u(k)-temp*u(k-1);
end
m(n)=u(n-1)/b(n-1);
for k=n-2:-1:1
m(k+1)=(u(k)-c(k)*m(k+2))/b(k);
end
m(1)=3*(d(1)-dx0)/h(1)-m(2)/2;
m(n+1)=3*(dxn-d(n))/h(n)-m(n)/2;
for k=0:n-1
S(k+1,1)=(m(k+2)-m(k+1))/(6*h(k+1));
S(k+1,2)=m(k+1)/2;
S(k+1,3)=d(k+1)-h(k+1)*(2*m(k+1)+m(k+2))/6;
S(k+1,4)=y(k+1);
end

老师让我再编一段自然边界条件下的 o_0||| 编不出来了...特来求助...
tc_yangyi 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[求助]请问怎么用MATLAB来获得灰度图像上的光强值 shelley MATLAB论坛 2 2009-01-31 02:46
[求助]高手帮帮忙 遗传算法工具箱的问题 meimei2587 MATLAB论坛 1 2008-04-28 01:59
【求助】询问与交流:有没有人做稀疏分量分析的? wayne652 MATLAB论坛 0 2007-08-17 00:11
【求助】产生随机数?? wpy6609 MATLAB论坛 4 2007-06-25 22:45
【求助】请教高手一个关于画图的问题,近来帮帮我啊:) xinli16 MATLAB论坛 3 2007-06-21 00:01


所有时间均为北京时间。现在的时间是 03:39


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.