?? piecewise_linear_interpolation.m
字號:
%分段線性插值函數
%x0,y0為提供的節點值,x為插值點的橫坐標值向量
function y=piecewise_linear_interpolation(x0,y0,x)
if (nargin<2)|(size(x0)~=size(y0))
error('input error!')
end
if nargin==2
x=linspace(min(x0),max(x0),41);
end
[x0,b]=sort(x0);
y0=y0(b); %x0,y0對應排序
x0
y0
x
length_x0=size(x0);
length_x0=length_x0(2);
length_x=size(x);
length_x=length_x(2);
y=zeros(size(x))
for i=1:length_x
j=1;
while (((x0(j)-x(i))*(x0(j+1)-x(i)))>0)&&(j<length_x0)
j=j+1;
% pause
end
if (j==length_x0)
y(i)=y0(j)
else
y(i)=((x(i)-x0(j))*y0(j+1)+(x0(j+1)-x(i))*y0(j))/(x0(j+1)-x0(j))
end
end
%plot(x,y,'*');
%hold on
%plot(x0,y0,'o');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -