1. 程式人生 > >matlab樣條工具箱的使用

matlab樣條工具箱的使用

Matlab 樣條工具箱(Spline ToolBox)

本文介紹了用matlab進行樣條曲線的建立操作與繪製;示例給出了樣條曲線的建立,求值,求導,繪製

Matlab樣條工具箱中的函式提供了樣條的建立,操作,繪製等功能;
一. 樣條函式的建立
第一步是建立一個樣條函式,曲線或者曲面。這裡的樣條函式,根據字首,分為4類:
cs*   三次樣條
pp*   分段多項式樣條,係數為t^n的係數
sp*   B樣條, 係數為基函式B_n^i(t)的係數
rp*   有理B樣條

二. 樣條操作
樣條操作包括:函式操作:求值,算術運算,求導求積分等等
              節點操作:主要是節點重數的調節,設定,修改等等

三. 簡單示例
% step1: load ctrlpoints and knots
load data_example
 
% step 2: create the spline
sp = spmak(knots,ctrlpoints');
fnplt(sp,[knots(5),knots(42)]);
 
%  step 3: get points on the curve
dt = knots(5):3:knots(42);
p = fnval(sp,dt);
plot(p(1,:),p(2,:),'.g')
 
% step 4: get dir draw normals
dp1 = fnder(sp);
dp  = fnval(dp1,dt);
len = size(dt,2);
for i = 1:len
    dir = dp(:,i);
    scale = 1/sqrt(dir(1)^2+dir(2)^2);
    dir = dir*scale;
    plot([p(1,i),p(1,i)+dir(2)],[p(2,i),p(2,i)-dir(1)],'r');
end

本文附帶程式碼為:

附:樣條工具箱函式
1. 三次樣條函式  
csapi    插值生成三次樣條函式   
csape    生成給定約束條件下的三次樣條函式   
csaps    平滑生成三次樣條函式   
cscvn    生成一條內插引數的三次樣條曲線   
getcurve 動態生成三次樣條曲線 

2. 分段多項式樣條函式    
ppmak 生成分段多項式樣條函式   
ppual 計算在給定點處的分段多項式樣條函式值 

3. B樣條函式  
spmak 生成B樣條函式   
spcrv 生成均勻劃分的B樣條函式   
spapi 插值生成B樣條函式   
spap2 用最小二乘法擬合生成B樣條函式   
spaps 對生成的B樣條曲線進行光滑處理   
spcol 生成B樣條函式的配置矩陣 

4. 有理樣條函式  
rpmak 生成有理樣條函式   
rsmak 生成有理樣條函式 

5. 樣條操作函式  
fnval 計算在給定點處的樣條函式值   
fmbrk 返回樣條函式的某一部分(如斷點或係數等)   
fncmb 對樣條函式進行算術運算   
fn2fm 把一種形式的樣條函式轉化成另一種形式的樣條函式   
fnder 求樣條函式的微分(即求導數)   
fndir 求樣條函式的方向導數   
fnint 求樣條函式的積分   
fnjmp 在間斷點處求函式值   
fnplt 畫樣條曲線圖   
fnrfn 在樣條曲線中插入斷點。   
fntlr 生成tarylor係數或taylor多項式 

6. 樣條曲線端點和節點處理函式 
augknt  在已知節點陣列中新增一個或多個節點   
aveknt  求出節點陣列元素的平均值   
brk2knt 增加節點陣列中節點的重次   
knt2brk 從節點陣列中求得節點及其重次   
knt2mlt 從節點陣列中求得節點及其重次   
sorted  求出節點陣列的元素在另一節點陣列中屬於第幾個分量   
aptknt  求出用於生成樣條曲線的節點陣列  
newknt  對分段多項式樣條函式進行重分佈   
optknt  求出用於內插的最優節點陣列   
chbpnt  求出用於生成樣條曲線的合適節點陣列 
 

相關推薦

Matlab工具箱(Spline ToolBox)與曲線擬合

MATLAB 樣條工具箱可以通過節點獲得樣本函式值,但不能根據x求y或z,也不能求得樣本曲線方程。例如:ctrlpoints=[    0    -1.2   -1.6   -1.4   -1    -0.5  -0.35  -0.6  -1.6 -0.2    -0.5  

matlab工具箱的使用

Matlab 樣條工具箱(Spline ToolBox) 本文介紹了用matlab進行樣條曲線的建立操作與繪製;示例給出了樣條曲線的建立,求值,求導,繪製 Matlab樣條工具箱中的函式提供了樣條的建立,操作,繪製等功能;一. 樣條函式的建立第一步是建立一個樣條函式,曲線或者

matlab工具箱的基本概念

Matlab 樣條工具箱(Spline ToolBox) 一點基礎知識: 在matlab關於spline toolbox->Getting Started->Technical Convetions中做了如下規定: n this toolbox, vecto

Matlab三次法插值

end for 直接 mat wid tla 文獻 nbsp 出現 以N方向為例: 1、將N方向數據導入Matlab,將十進制年轉化為年積日 2、重新排序,將缺失數據的天數以NaN補齊 3、尋找出NaN所在的天數 nxx = find( isnan(n) ); 4、

MATLABMATLAB 實現模擬訊號取樣後的重建(三)應用三次函式spline實現內插

前三篇博文講了三種方法進行內插重建訊號: 這篇文章使用三次樣條函式spline來實現內插重建,並分析重建誤差。 採用的案例依然是上篇博文中的案例: 模擬訊號: 對該訊號使用兩種不

MATLAB 三次插值原始碼

MATLAB 原始碼: function yy = Interpolation_Spline0(x, y, xx) %{ 函式功能:三次樣條插值法; 輸入: x:已知點橫座標; y:已知點縱座標; xx:插值點; 輸出: yy:插值點的函式值; 示例: clear; clc; x

數值分析用matlab求解三次插值多項式

數值分析用matlab求解三次樣條插值多項式 時間真快,2018年只剩下2天,2019年即將來臨! 今晚整理筆記本中的資料,看了下之前給朋友解答的一個《數值分析》實驗題目,還是有點意思。不管怎樣,分享給需要的朋友,希望有所幫助! 給定函式,及節點如下: 求其三次樣條插值多項式(

matlab程式實現求解三次插值

X =[ 0,0.2,0.4,0.6,0.8,1.0]; Y=[1.0, 0.818732, 0.670320, 0.548812, 0.449329, 0.367879]; cs = csapi(

Matlab之三次畫圖和表示式

    這一題是得到資料點(0,3),(1,5),(2,4),(3,1)並得到它的三次樣條表示式和畫出三次樣條後的圖圖形。     以及對資料點(-1,3),(0,5),(3,1),(4,1),(5,1)並得到它的三次樣條表示式和畫出三次樣條後的圖圖形。     用函

Matlab 三次插值多項式表示

Matlab Spline pp.coefs 如何運用MATLAB 三次樣條插值的問題,今天做作業,突然想用Matlab搞搞。 題目如下: 清華大學出版社的《數值分析(第5版)》 P49,20題。 x=[0.25 0.3 0.39 0.45 0.53]; y=[ 0

MATLAB安裝libsvm工具箱的方法

操作系統 win7 64 ++ 題集 sel 次方 不安裝 readme 子文件夾 支持向量機(support vector machine,SVM)是機器學習中一種流行的學習算法,在分類與回歸分析中發揮著重要作用。基於SVM算法開發的工具箱有很多種,下面我們要安裝的是十

插值法(Java)

Coding trace 算法 top writer 檢查 block 技術分享 iter 該程序包含:樣條插值法、讀取文件,寫入文件,字符型轉double型方法等; 適合初學Java的人學習; 在cmd中執行, 在Linux中執行 完整代碼如下: 樣條插值法:

matlab 計算機視覺工具箱step含義

% Create a cascade detector object. faceDetector = vision.CascadeObjectDetector(); % Read a video frame and run the face detector. videoFileReader =

生物基礎知識---CDS,基因,Matlab生物資訊工具箱

1.CDS(Sequence coding for aminoacids in protein)蛋白質編碼區 2.每個基因中都有編碼區與非編碼區,其中真核生物編碼區又含有外顯子與內含子,但真核生物的基因中也有無內含子的例外.如組蛋白基因和干擾素基因就沒有內含子.編碼區為編碼蛋白質的有效基

薄板插值---TPS(Thin Plate Spline)

薄板樣條插值—TPS(Thin Plate Spline) 插值 已知一系列的觀測點 ( x

【原始碼】MATLAB的BMS工具箱:貝葉斯模型平均(BMA)

Zellner g先驗條件下線性模型的貝葉斯模型平均 Bayesian Model Averaging for linear modelsunder Zellner’s g prior. 可選項包括:固定的(BRIC,UIP, …)和可調的g先驗(經驗貝葉斯,hyper-g)、

(光滑)Smoothing spline的數學推導

Smoothing spline的數學推導 參考斯坦福統計學習原理 光滑樣條的精髓在於在原本的擬合誤差的基礎上加了一個λ∫{f′′(t)}2dt\lambda\int\left\{f^{''}(t)\right\}^{2}dt

fortran三次插值程式例項

Program testspline implicit none integer :: i integer, parameter :: n = 50, m = 100, dp = 8 real(dp) :: x(n), y

徑向基-薄板插值數學公式、原理,以及程式碼實現基本過程

徑向基插值部分 徑向基函式RBF (Radial Basis Function)有以下五種基函式 其中r代表代待求點X與已知點Xi之間的向量距離 上邊的公式是適用於以上五種基函式的計算公式,其中X代表向量,不是一個數字 對於薄板樣條插值,其公式(是經過上邊

B基函式——B-Spline Basis Functions

B-Spline Basis Functions     摘要Abstract:直接根據B樣條的Cox-deBoor遞推定義寫出計算B樣條基函式的程式,並將計算結果在OpenSceneGraph中顯示。    關鍵字Key Words:B Spline Basis Functions、OpenScene