没有合适的资源?快使用搜索试试~ 我知道了~
首页数值插值MATLAB代码
资源详情
资源评论
资源推荐

1.线性插值
function w=linear1(x,y,gg)
n=length(x);
m=length(gg);
for i=1:m
for j=1:n-1
if(gg(i)>x(j)&gg(i)<=x(j+1))
yy(i)=((gg(i)-x(j+1))/(x(j)-x(j+1)))*y(j)+((gg(i)-
x(j))/(x(j+1)-x(j)))*y(j+1);
end
end
end
w=sum(yy);
plot(gg,yy);
End
2.三次样条插值
function zong=spline1(x,y,gg)
n=length(x)-1;
h=diff(x);
lamda=h(2:n)./(h(1:n-1)+h(2:n));
miu=1-lamda;
d=3*(lamda.*diff(y(1:n))./h(1:n-1)+miu.*diff(y(2:n+1))./h(2:n));
d(1)=d(1)-lamda(1)*y(1);
d(n-1)=d(n-1)-miu(n-1)*y(n);
%调用 function 文件解对角方程
m=chase(lamda,2*ones(1,n-1),miu,d);
M=[y(1);m;y(n)];
if nargin>=3
s=zeros(size(gg));
for i=1:n
if i==1
kk=find(gg<=x(2));
elseif i==n
kk=find(gg>x(n));
else
kk=find(gg>x(i)&gg<=x(i+1));
end
x1=(gg(kk)-x(i))/h(i);
s(kk)=alpha0(x1)*y(i)+alpha1(x1)*y(i+1)+h(i)*beta0(x1)*M(i)
+h(i)*beta1(x1)*M(i+1);
end




















L15313102431
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论1