MATLAB代做  | MATLAB代寫  | MATLAB有償編程
首 頁
當前位置:MATLAB代做|MATLAB代寫|MATLAB有償編程matlab源碼算法設計
自然邊界條件的樣條插值函數的Matlab程序        [↓跳到下載地址]
官方主頁:源碼共享網站:www.kggbzb.tw

聯系方式:客服QQ:1747812398 買代碼源碼軟件站,歡迎咨詢

運行環境:Win9X/2000/XP/2003/

源碼語言:簡體中文

源碼類型:源碼程序 - 算法設計

推薦星級:

更新時間:2016-07-21 20:40:56

源碼簡介

function varargout=zl(varargin)
clear,clc
xx=0:0.1:10;
x=0:10;
y=[0 0.79 1.53 2.19 2.71 3.03 3.27 2.89 3.06 3.19 3.29];
fd=[0 0];
n=length(xx);
yx0=xx;
for i=1:n
    yx0(i)=splineL(x,y,fd,xx(i));
end
plot(x,y,'o',xx,yx0,'r')
function yx0=splineL(x,y,fd,x0)
n=length(x)-1;
f=x;
h=x;
m=x;
for i=1:n
    h(i)=x(i+1)-x(i);
    f(i)=(y(i+1)-y(i))/h(i);
end
B=2*ones(1,n+1);
fl=B;
A=B;
C=B;
g=A;
C(1)=0;
fl(1)=2*fd(1);
fl(n+1)=2*fd(2);
A(n+1)=0;
for i=2:n
    A(i)=h(i-1)/(h(i-1)+h(i));
    C(i)=1-A(i);
    fl(i)=6*((y(i+1)-y(i))/h(i)-(y(i)-y(i-1))/h(i-1))/(h(i-1)+h(i));
end
m=zgf(A,B,C,fl)
yzl=find(x>=x0);
kl=yzl(1);
if kl==1
    hk=x(kl+1)-x(kl);
    yx0=m(kl)*(x(kl+1)-x0)^3/6/hk+m(kl+1)*(x0-x(kl))^3/6/hk...
        +(y(kl)-m(kl)*hk^2/6)*(x(kl+1)-x0)/hk...
        +(y(kl+1)-m(kl+1)*hk^2/6)*(x0-x(kl))/hk;
else
    hk=x(kl)-x(kl-1);
    yx0=m(kl-1)*(x(kl)-x0)^3/6/hk+m(kl)*(x0-x(kl-1))^3/6/hk...
        +(y(kl-1)-m(kl-1)*hk^2/6)*(x(kl)-x0)/hk...
        +(y(kl)-m(kl)*hk^2/6)*(x0-x(kl-1))/hk;
end
function x=zgf(A,B,C,f)
n=length(B);
B1=zeros(1,n-1);
Y=zeros(1,n);
x1=zeros(1,n);
B1(1)=C(1)/B(1);
for i=2:n-1
    B1(i)=C(i)/(B(i)-A(i)*B1(i-1));
end
Y(1)=f(1)/B(1);
for i=2:n
    Y(i)=(f(i)-A(i)*Y(i-1))/(B(i)-A(i)*B1(i-1));
end
x1(n)=Y(n);
for i=n-1:-1:1
    x1(i)=Y(i)-B1(i)*x1(i+1);
end
x=x1;
另有第一類型的邊界條件,我們同樣給出Matlab程序:
function varargout=zl(varargin)
clear,clc
xx=0:0.1:10;
x=0:10;
y=[0 0.79 1.53 2.19 2.71 3.03 3.27 2.89 3.06 3.19 3.29];
fd=[0.8 0.2];
n=length(xx);
yx0=xx;
for i=1:n
    yx0(i)=splineL(x,y,fd,xx(i));
end
plot(x,y,'o',xx,yx0,'r')

function yx0=splineL(x,y,fd,x0)
%x=x0 x1 xn
%y=y0 y1 yn
%fd=[df0 dfn];
n=length(x)-1;
f=x;
h=x;
m=x;
for i=1:n
    h(i)=x(i+1)-x(i);
    f(i)=(y(i+1)-y(i))/h(i);
end
B=2*ones(1,n-1);
m(1)=fd(1);m(end)=fd(2);
A=B;
C=B;
g=A;
for i=1:n-1
    C(i)=h(i)/(h(i+1)+h(i));
    A(i)=h(i+1)/(h(i+1)+h(i));
    g(i)=3*(A(i)*f(i)+C(i)*f(i+1));
end
fL(1)=g(1)-A(1)*fd(1);
fL(n-1)=g(n-1)-C(n-1)*fd(2);
fL(2:n-2)=g(2:n-2);
m(2:n)=zgf(A,B,C,fL);
yx0=fl(x,y,m,x0);
function y=fl(xj,yj,mj,x)
n=length(xj);
y=0;
for i=1:n
    s=1;
    for j=1:n
        if i~=j
            s=s*(x-xj(j))/(xj(i)-xj(j));
        end
    end
    bi=(x-xj(i))*s^2;
    s1=0;
    for j=1:n
        if i~=j
            s1=s1+1/(xj(i)-xj(j));
        end
    end
    y=y+yj(i)*(1-2*(x-xj(i))*s1)*s^2+mj(i)*bi;
end
function x=zgf(A,B,C,f)
n=length(B);
B1=zeros(1,n-1);
Y=zeros(1,n);
x1=zeros(1,n);
B1(1)=C(1)/B(1);
for i=2:n-1
    B1(i)=C(i)/(B(i)-A(i)*B1(i-1));
end
Y(1)=f(1)/B(1);
for i=2:n
    Y(i)=(f(i)-A(i)*Y(i-1))/(B(i)-A(i)*B1(i-1));
end
x1(n)=Y(n);
for i=n-1:-1:1
    x1(i)=Y(i)-B1(i)*x1(i+1);
end
x=x1;
 


提 示:本站所有源碼只提供瀏覽,需要定制的朋友可以聯系在線客服!
注意:價格根據項目的難易程度來定價格業務咨詢

自然邊界條件的樣條插值函數的Matlab程序 --下載地址

注意:為避免不必要的誤會,本站項目里的源碼只公開部分需要的聯系在線客服

本站長期招聘程序代寫高手,歡迎加入華南地區matlab團隊

想創業卻沒有經驗的人

無論你是否有過網上開店的經驗,都可以隨時聯系在線客服,建立自己獨立的網站
想開網店卻不知道如何入手

淘寶創業成本低而且風險小,如果想開淘寶店的朋友可以聯系在線客服。
想兼職創業,卻不擅長交際與服務的人

在家創業月入5000元。網站程序+百套群發工具+網賺資料+域名+空間+本站終身代理資格,這樣你網賺的條件全具備了。每天3小時管理、推廣、收錢。
缺乏能快速贏利型產品的人

導入多種最新流行營銷軟件+網賺教程,讓入駐者輕松加盟、復制有效成交技巧、快速賺錢。

源碼評論評論內容只代表網友觀點,與本站立場無關!

   評論摘要(共 0 條,得分 0 分,平均 0 分) 查看完整評論

瀏覽說明

* 本站所有源碼全部公開,隨時隨地瀏覽!
* MATLAB軟件如用于商業用途,請購買正版!
* 如果您發現下載鏈接錯誤,請點擊報告錯誤謝謝!
* 站內提供的所有軟件包含破解及注冊碼均是由網上搜集,若侵犯了你的版權利益,敬請來信通知我們!
Copyright © 2008-2014 www.kggbzb.tw. All Rights Reserved.
頁面執行時間:281.25000 毫秒
安微25选5开奖号