Bernstein基函数及其基本性质 matlab实现

一.Bernstein基函数

Bernstein基函数可以作为多项式空间的一组基底,n次Bernstein基函数 B i n ( t ) B^n_i(t) Bin​(t)定义为:
B i n ( t ) = ( i n ) t i ( 1 − i ) n − i , ( i n ) = n ! i ! ( n − i ) ! , i = 0 , 1 , . . . , n . B^n_i(t) = (^n_i)t^i(1-i)^{n-i}, (^n_i) = \frac {n!} {i!(n-i)!} ,i=0,1,...,n. Bin​(t)=(in​)ti(1−i)n−i,(in​)=i!(n−i)!n!​,i=0,1,...,n.
下图为n=4时的Bernstein基函数的图像

二、Bernstein基函数的性质

对于 t ∈ [ 0 , 1 ] t\in[0,1] t∈[0,1],Bernstein基函数有以下性质:

  1. 非负性.
    B i n ( t ) ≥ 0 , t ∈ [ 0 , 1 ] . B^n_i(t)\geq 0,t\in[0,1]. Bin​(t)≥0,t∈[0,1].

  2. 单位分解性.
    ∑ i = 1 n B i n ( t ) = [ t + ( 1 − t ) ] n ≡ 1. \sum_{i=1}^nB^n_i(t) = [t+(1-t)]^n \equiv1. i=1∑n​Bin​(t)=[t+(1−t)]n≡1.

  3. 端点性质.在端点 t = 0 t=0 t=0和 t = 1 t=1 t=1,分别只有一个Bernstein基函数取值为1,其余为0,即
    B i n ( 0 ) = { 1 , i = 0 , 0 , i ≠ 0 , , B^n_i(0) = \begin{cases}1,&i= 0,\\ 0, & i \not=0 , \end{cases}, Bin​(0)={1,0,​i=0,i=0,​,
    B i n ( 1 ) = { 1 , i = n , 0 , i ≠ n . B^n_i(1) = \begin{cases}1,&i= n,\\ 0, & i \not=n . \end{cases} Bin​(1)={1,0,​i=n,i=n.​

  4. 对称性.从图像上看,第 i i i 个和第 n − i n-i n−i 个Bernstein基函数关于 t = 1 2 t= \frac {1} {2} t=21​对称,即
    B i n ( t ) = B n − i n ( 1 − t ) , i = 0 , 1 , . . . , n . B^n_i(t) = B^n_{n-i}(1-t) , i=0,1,...,n. Bin​(t)=Bn−in​(1−t),i=0,1,...,n.

  5. 导函数.n次Bernstein 基函数的导数可以用由两个n-1次的Bernstein基函数线性组合得到,即
    ( B i n ( t ) ) ′ = n ( B i − 1 n − 1 ( t ) − B i n − 1 ( t ) ) . (B^n_i(t))^{'} = n(B^{n-1}_{i-1}(t)-B^{n-1}_{i}(t)). (Bin​(t))′=n(Bi−1n−1​(t)−Bin−1​(t)).

  6. 最大值. B i n ( t ) B^n_i(t) Bin​(t)在 t = i n t = \frac{i}{n} t=ni​时达到最大值.

  7. 递推性.n次Bernstein基函数可分别由两个n-1次或两个n+1次的Bernstein基函数递推得到,即
    { B i n ( t ) = ( 1 − t ) B i n − 1 ( t ) + t B i − 1 n − 1 ( t ) , B i n ( t ) = i + 1 n + 1 B i + 1 n + 1 ( t ) + ( 1 − i n + 1 ) B i − 1 n − 1 ( t ) , i = 0 , 1 , . . . , n . \begin{cases}B^n_i(t) = (1-t)B^{n-1}_i(t)+tB^{n-1}_{i-1}(t) , \\ B^n_i(t) =\frac{i+1}{n+1}B^{n+1}_{i+1}(t)+(1-\frac{i}{n+1})B^{n-1}_{i-1}(t) , \\ i=0,1,...,n . \end{cases} ⎩ ⎨ ⎧​Bin​(t)=(1−t)Bin−1​(t)+tBi−1n−1​(t),Bin​(t)=n+1i+1​Bi+1n+1​(t)+(1−n+1i​)Bi−1n−1​(t),i=0,1,...,n.​
    其中 B − 1 n − 1 ( t ) = B n n − 1 ( t ) ≡ 0. B^{n-1}_{-1}(t) = B^{n-1}_{n}(t)\equiv0. B−1n−1​(t)=Bnn−1​(t)≡0.

  8. 积分等值性.所有n次Bernstein基函数在区间[0,1]上的积分相等,即
    ∫ 0 1 B i n ( t ) d t = 1 n + 1 , i = 0 , 1 , . . . , n . \int_0^1 {B^n_i(t)} \, {dt} = \frac{1}{n+1}, i=0,1,...,n. ∫01​Bin​(t)dt=n+11​,i=0,1,...,n.

%基函数图像相应的matlab程序为:
function bezier
%  Bernstein基函数的图像
a = 0;
b = 1;
M = 40;
hx = (b-a)/M;
x = (a:hx:b)';
n=4;
for i = 1:n+1 y = B(x,n,i-1);figure(1)plot(x,y)hold on
end
endfunction y = B(x,n,i)
y = k(n,i).*(x.^i).*((1-x).^(n-i));
endfunction y = k(n,i)           %组合系数
y1 = factorial(n);            %n的阶乘
y2 = factorial(i)*factorial(n-i);
y = y1/y2;
end

代码可以直接运行。
运行结果如下:

Bernstein基函数及其性质 matlab实现相关推荐

  1. 张量积型的Bernstein基函数

    张量积型的Bernstein基函数 所谓张量积型,或者乘积型的二元空间是指,他的基函数可以由一元基函数通过张量积(乘积)得到.例如,我们考虑两个分量的次数分别不超过m和n次的二元多项式空间Pm,nP_ ...

  2. 反常积分收敛和发散性质MATLAB

    反常积分收敛和发散性质MATLAB 反常积分发散或收敛性质判别的定理: 例如: MATLAB计算反常积分: syms x f1 f2; f1=1/(x^2); e1=ezplot(f,[0,10]); ...

  3. 傅里叶变换性质matlab,傅里叶变换性质MATLAB实现

    傅里叶变换性质MATLAB实现 更多相关问题 患者,男性,60岁.连续3天测血压为140/95mmHg.此患者属于(1.0分) 老年人日常生活照护中,应注意尊重老年人的个性和隐私,以下说法错误的是( ...

  4. matlab验证dtft移位性质,matlab 实验四 信号的谱分析.doc

    matlab 实验四 信号的谱分析.doc 实验四信号的谱分析一.实验目的:1.掌握DTFT原理及其程序实现,学习用DTFT对信号进行谱分析.2.掌握DFT原理及其程序实现,学习用DFT对信号进行谱分 ...

  5. 傅里叶变换对称性质MATLAB,实数序列离散傅里叶变换(DFT)的共轭对称性质

    先在matlab中运行以一命令,观察一下结果: >> b=[1 2 3 4 5 6 7 8] b = 1     2     3     4     5     6     7     8 ...

  6. 傅里叶变换对称性质MATLAB,利用共轭对称和反对称性质做离散傅里叶变换求相关性问题...

    LZ的数据不是128,补零成256:而本身数据长256,补零成512. 又从2个实数序列构成1个复数序列,FFT后恢复出各自的DFT时,求出的F_x和F_y不正确,所以进一步计算也都错误的.给出程序如 ...

  7. 《考虑车辆运动约束的最优避障轨迹规划算法》论文解读二

    目录 1 贝塞尔曲线 1.1 公式推导 1.2 Bernstein基函数的性质 1.3 贝塞尔曲线的性质 1.4 曲线的连续性 2 贝塞尔曲线规划器 2.1 局部轨迹 2.2 约束 1 贝塞尔曲线 这 ...

  8. Bézier曲线 和 Bézier曲面 ( 贝塞尔曲线 和 贝塞尔曲面 )

    Bézier曲线 定义 给定空间n+1个点的位置矢量Pi(i=0,1,2-),则Bezier参数曲线上各点坐标的插值公式是:P(t)=∑i=0nPiBi,n(t),t∈[0,1]P(t)=\sum_{ ...

  9. 计算机图形学笔记 || 自由曲线和曲面

    一.基本概念 初等解析曲面(平面.圆柱面.球面等):自由曲面,一类不能用初等解析函数完全清楚地表达全部形状的曲面,这方面的研究形成了"计算机辅助设计". 直线段有三种表示方法,设直 ...

最新文章

  1. 清晰还原!Photoshop处理人物模糊照片
  2. python turtle画彩虹-Python基础实例——绘制彩虹(turtle库的应用)
  3. 精通java图片_面试必备:详解Java I/O流,掌握这些就可以说精通了?
  4. iOS高级音频的设置项
  5. Page 56 WPF布局原则
  6. C#实现二叉树--二叉链表结构
  7. 简析TCP的三次握手与四次分手
  8. 解决Linux 忘记root 密码的办法
  9. 登陆 tomcat manager
  10. Borland Enterprise Core Object II (ECO II)第一次接觸
  11. lucene.net 3.0.3、结合盘古分词进行搜索的小例子(转)
  12. 如何从Java官网下载 Java API 文档
  13. mpvue小程序:网易严选后端 mpvue-shop-node
  14. APP推广第一步:五大ASO优化方法
  15. 【applicationContext.xml】spring 配置文件头部声明
  16. Mac ssh远程登录腾讯云的解决方案
  17. 计算机基本原理 学习笔记(五)
  18. [对话CTO]当当网熊长青:兴趣是成为优秀工程师的第一因素-CSDN.NET
  19. 工作的思考七:重视邮件
  20. 会声会影x4素材_会声会影素材包

热门文章

  1. 智能硬件产品系列 之 MTK6580方案篇(一)硬件选型
  2. 事件介绍、两种事件注册的介绍、onload事件、onclick事件、onblur事件、onchange事件、onsubmit事件
  3. 嵌入式-ARM-学习总结(7):按键与中断
  4. openflow初学者入门笔记一(openflow 1.0 and openflow 1.3)
  5. 渗透测试工具(一) CS
  6. 我的2022和2023(技术总结、开发工具简介和未来展望)
  7. Vue ajax跨域请求*
  8. oracle 使用,Oracle 使用
  9. ros编译文件出现Invoking “make -j20 -l20“ failed
  10. 高通平台开发系列讲解(系统篇)高通平台启动流程