⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spapi.m

📁 演示matlab曲线拟和与插直的基本方法
💻 M
字号:
% SPAPI   僗僾儔僀儞曗娫
%
% SPAPI(KNOTS,X,Y)      (KNOTS 偲 X 偼椉曽偲傕儀僋僩儖)
% 偼丄偡傋偰偺 j 偵偮偄偰 Y(:,j) 偑 f(X(j)) 偵摍偟偔側傞愡揰楍 KNOTS 傪
% 傕偮師悢
%         k := length(KNOTS) - length(X)
% 偺僗僾儔僀儞 f 傪(懚嵼偡傟偽)弌椡偟傑偡丅
% 偙傟偼丄偄偔偮偐偺僨乕僞僒僀僩偑孞傝曉偝傟偨osculatory偺堄枴偱丄
% 偡側傢偪丄m(j) := #{ i<j : X(i) = X(j) } 偐偮 D^m(j) f 偑 f 偺m(j)斣栚
% 偺旝暘偱偁傞偲偒偵丄D^m(j) f(X(j)) = Y(:,j) 偑惉傝棫偮偲偄偆堄枴偱
% 夝庍偝傟傑偡丅偙偺僨乕僞抣 Y(:,j) 偼丄僗僇儔丄儀僋僩儖丄峴楍丄傑偨偼
% N師尦攝楍偱偡丅
%
% SPAPI(K,X,Y)          (K 偼惓偺惍悢)
% 偼丄SPAPI(APTKNT(sort(X),K),X,Y) 偲摨偠偱偡丅偡側傢偪丄揔愗側愡揰楍傪
% X 偲 K 偐傜摼傞偨傔偵 APTKNT 傪巊梡偟傑偡丅
%
% SPAPI({KNOTS1,...,KNOTSm},{X1,...,Xm},Y)
% 偼丄i=1,...,m 偲偟偰丄i斣栚偺曄悢偵愡揰楍 KNOTSi 傪傕偮慻傒崌傢偣師悢
%      ki := length(KNOTSi) - length(Xi)
% 偺m曄悢僥儞僜儖愊僗僾儔僀儞傪 SP 偵弌椡偟傑偡丅偙傟偵懳偟偰偼丄偡傋偰偺 
% j := (j1,...,jm) 偵偮偄偰 Y(:,j1,...,jm) = f(X1(j1),...,Xm(jm)) 偑惉傝
% 棫偪傑偡丅
% 1曄悢偺応崌偺傛偆偵丄KNOTSi 傕惓偺惍悢偱偁傞偐傕偟傟傑偣傫丅偙偺応崌丄
% i斣栚偺愡揰楍偑 APTKNT 偵傛偭偰 Xi 偐傜摼傜傟傑偡丅
% d梫慺偺抣偺僨乕僞傊偺曗娫偺壜擻惈偵拲栚偟傑偡丅1曄悢偺応崌偲堎側傝丄
% 曗娫偝傟傞僨乕僞偑僗僇儔抣側傜偽丄擖椡攝楍 Y 偼丄m師尦偵偡傞偙偲偑
% 偱偒傑偡丅偙偺応崌丄偡傋偰偺 
% j := (j1,...,jm) 偵懳偟偰丄Y(j1,...,jm) = f(X1(j1),...,Xm(jm)) 偲
% 側傝傑偡丅
% 楍 Xi 偺懡廳搙偼丄偪傚偆偳1曄悢偺応崌偺傛偆偵曗娫偑愙怗(osculatory)
% 偟傑偡丅
%
% 偨偲偊偽丄儀僋僩儖 t 撪偺揰偑丄偡傋偰堎側傞応崌丄
%
%      sp = spapi(augknt(t,4,2),[t t],[cos(t) -sin(t)]);
%
% 偼丄t 撪偺揰偱娭悢 f(x) = cos(x) 偺 C^1 屄偺嬫暘揑側僉儏乕價僢僋僄儖
% 儈乕僩曗娫傪梌偊傑偡丅岡攝偺堦抳偩偗偑丄t 偺嵍抂偲塃抂偺揰傪娷傫偱
% 偄傞偑晹暘揑偱偁傞楍 s 偱梫媮偝傟傞応崌丄戙傢傝偵
%
%      sp = spapi( augknt([t s],4), [t s], [cos(t) -sin(s)] );
%
%
% 傑偨偼丄偨偩扨偵
%
%      sp = spapi( 4, [t s], [cos(t) -sin(s)] );
%
% 傪巊梡偟傑偡丅s 偑 t 偺抂揰傪娷傓偺偵幐攕偟丄偙傟傜偺僄儖儈乕僩僨乕僞 
% 偵 C^2 屄偺嬫暘揑側僉儏乕價僢僋曗娫傪梌偊傞偲偟偰傕丄嵟屻偺傕偺偼婡擻
% 偟傑偡丅
%
% 暿偺椺偲偟偰丄
%
%      sp = spapi( {[0 0 1 1],[0 0 1 1]}, {[0 1],[0 1]}, [0 0;0 1] );
%
% 偼丄壓婰僗僥乕僩儊儞僩偑峴偆傛偆偵丄巐妏宍偺嬿偺抣傊偺憃堦師曗娫傪
% 峔惉偟傑偡丅
%
%      sp = spapi({2,2},{[0 1],[0 1]},[0 0;0 1]);
%
% 暿偺椺偲偟偰丄僗僥乕僩儊儞僩
%
%      x = -2:.5:2; y=-1:.25:1; [xx, yy] = ndgrid(x,y); 
%      z = exp(-(xx.^2+yy.^2)); 
%      sp = spapi({3,4},{x,y},z);
%      fnplt(sp)
%
% 偼丄2曄悢娭悢傊偺(x 偵偮偄偰嬫暘揑偵2師幃丄y 偵偮偄偰嬫暘揑偵3師幃偱
% 偁傞)曗娫偺恾傪惗惉偟傑偡丅
% 偙偙偱 NDGRID 偺戙傢傝偵 MESHGRID 傪巊梡偡傞偲丄僄儔乕偵側傝傑偡丅
%
% 僌儕僢僪壔偝傟偨僨乕僞傊偺愙怗曗娫(osculatory interpolation)偺愢柧偲
% 偟偰丄姰慡側憃嶰師曗娫傪帵偟傑偡丅偙偙偱丄僨乕僞偼憃嶰師懡崁幃 
% g(x,y) = x^3y^3 偐傜柧帵揑偵摫偐傟傞偨傔丄岡攝傗丄岡攝偺岡攝(偡側傢偪丄
% 岎嵎旝暘(cross derivative))偑梌偊傜傟偨僨乕僞抣偺偳偙偵埵抲晅偗傜傟
% 側偗傟偽側傜側偄偐傪惓妋偵梊憐偡傞偙偲偑梕堈偱偡丅g 偼憃嶰師懡崁幃偱
% 偁傞偨傔丄曗娫 f 偼丄g 偦偺傕偺偱側偗傟偽側傝傑偣傫丅偙傟傪僥僗僩
% 偟傑偡丅
%
%      sites = {[0,1],[0,2]}; coefs = zeros(4,4); coefs(1,1) = 1;
%      g = ppmak(sites,coefs);
%      Dxg = fnval(fnder(g,[1,0]),sites);
%      Dyg = fnval(fnder(g,[0,1]),sites);
%      Dxyg = fnval(fnder(g,[1,1]),sites);
%      f = spapi({4,4}, {sites{1}([1,2,1,2]),sites{2}([1,2,1,2])}, ...
%               [fnval(g,sites), Dyg ; ...
%                Dxg.'         , Dxyg]);
%      if any( squeeze( fnbrk(fn2fm(f,'pp'), 'c') ) - coefs )
%        'something went wrong', end
%
% 嶲峫 SPAPS, SPAP2.


%   Copyright 1987-2004 C. de Boor and The MathWorks, Inc.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -