91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1006B
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-09
  • 語言: Matlab
  • 標簽: matlab??樣條差值??

資源簡介

三次樣條插值的MATLAB程序,里面程序都有詳細的備注。方便學習!

資源截圖

代碼片段和文件信息

function?yi=cubic_spline(xyydotxi)
%三次樣條插值公式(三彎矩方程,第一類邊界條件),其中,
%x為向量全部的插值節點;
%y為向量插值節點處的函數值;
%ydot為向量,端點處的導數值
%如果此處值缺省則用均差代替導數
%xi為標量,自變量x;
%yi為xi處的函數估計值。
n=length(x);?ny=length(y);
%輸入的插值點與它的函數值應有相同的個數。
if?n~=ny
????error(‘The?lengths?of?X?and?Y?must?be?equal!‘);
????return;
end
%如果沒有給出y的導數值,則用均差代替導數
if?isempty(ydot)==1
????ydot=[(y(2)-y(1))/(x(2)-x(1))?(y(n)-y(n-1))/(x(n)-x(n-1))];
end
h=zeros(1n);lambda=ones(1n);mu=ones(1n);
M=zeros(n1);d=zeros(n1);
for?k=2:n
????h(k)=x(k)-x(k-1);
????%插值點必須互異
????if?abs(h(k))????????error(‘the?DATA?is?error!‘);
????????return;
????end
end
for?k=2:n-1
????lambda(k)=h(k+1)/(h(k)+h(k+1));?mu(k)=1-lambda(k);
????d(k)=6/(h(k)+h(k+1))...
????????*((y(k+1)-y(k))/h(k+1)-(y(k)-y(k-1))/h(k));
end
d(1)=6/h(2)*((y(2)-y(1))/h(2)-ydot(1));
d(n)=6/h(n)*(ydot(2)-(y(n)-y(n-1))/h(n));
A=diag(2*ones(1n));
for?i=1:n-1
????A(ii+1)=lambda(i);A(i+1i)=mu(i+1);
end
M=A\d;
for?k=2:n
????if?x(k-1)<=xi?&?xi<=x(k)
????????yi=M(k-1)/6/h(k)*((x(k)-xi)^3)...
????????????+M(k)/6/h(k)*((xi-x(k-1))^3)...
????????????+1/h(k)*(y(k)-M(k)*h(k)^2/6)*(xi-x(k-1))...
????????????+1/h(k)*(y(k-1)-M(k-1)*h(k)^2/6)*(x(k)-xi);
????????return;
????end
end
????????
????????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????
????

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????1485??2006-04-10?21:56??三次樣條插值的MATLAB程序\cubic_spline.m

?????目錄??????????0??2006-04-10?21:13??三次樣條插值的MATLAB程序

-----------?---------??----------?-----??----

?????????????????1485????????????????????2


評論

共有 條評論