• Spline样条函数 //C++关键字:operator // 重载函数 // 隐含的this指针 // 指针和const限定符


    在数学学科数值分析中,样条是一种特殊的函数,由多项式分段定义。样条插值是使用一种名为样条的特殊分段多项式进行插值的形式。由于样条插值可以使用低阶多项式样条实现较小的差值误差,这样就避免了使用高阶多项式所出现的龙格现象。

    样条插值定义


    在差值问题中,样条插值通常比多项式插值好用。用低阶的样条差值能产生和高阶的多项式差值类似的效果,并且可以避免被称为龙格现象的数值不稳定的出现。

    在计算机科学的计算机辅助设计和计算机图形学中,样条通常是指分段定义的多项式参数曲线。由于样条构造简单,使用简单,拟合准确,并能近似曲线拟合和交互式曲线设计中的复杂的形状,样条是这些领域中曲线的常用表示方法。

    样条差值是使用一种名为样条的特殊分段多项式进行插值的形式。使用多项式插值,对给定数据集进行插值的n阶多项式就被给定数据点所唯一地定义出来。但是,对同样的数据进行差值的n阶样条并不是唯一的,为了构建一个唯一的样条插值式它还必须满足另外n-1个自由度。

    线性样条插值:是最简单的样条插值。数据点使用直线进行连接,结果样条是一个多边形。

    二次样条插值

    三次样条插值:是一种全局化的分段插值方法

    插值:在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要方法,利用它可以用过函数在有限个点处的取值情况,估算出函数在其他点处的近似值。插值:用来填充图像变换时像素之间的空隙。

    埃尔米特插值问题,也称带导数的差值问题。从几何上看,这种插值要寻求的多项式曲线不仅要通过平面上的已知点组,而且在这些点(或者其中一部分)与原曲线“密切”,即它们有相同的斜率。课件,埃尔米特插值多项式比起一般多项式有较高的光滑逼近要求。

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名。这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算符的使用方法与其原来一致,另一方面扩展其功能只能用过函数的方式

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    出现在相同作用域的两个函数,如果具有相同的名字而形参表不同,则称为重载函数。C++primerP228

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    类的每个成员函数(除了static成员函数之外)都有一个额外的、隐含的形参this。在调用成员函数时,形参this初始化为调用函数的对象的地址。下面的语句是等价的:

    total.same_isbn(trans);
    
    Sales_item::same_isbn( &total, trans);

    尽管成员函数内部显示引用this通常是不必要的,但有一种情况下式必须的:当我们需要将一个对象做为整体引用而不是引用对象的一个成员时。

    C++ Primer P376 12.2、隐含的this指针

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    指针和const限定符

    1、指向const对象的指针

    const double  *cptr ;

    这里的cptr是一个指向double类型const对象的指针,const限定了cptr指针所指向的对象类型,而非cptr本身。允许给cptr重新赋值,使其指向另一个const对象,但是不能通过cptr修改所指向的对象。

    [注]:把一个const对象的地址附给一个普通的,非const对象的指针会导致编译错误

    const double pi=3.14;
    double *ptr = π //错误的,pi是const常量,必须得使用const类型的                     //指针才可以
    const double *cptr=π //对的

    [注]:把一个非const对象的地址附给一个指向const对象的指针,可以,但是不能经过指针修改非const对象的值。

    指向const对象的指针一经定义,就允许修改其所指向的指针的值

    2、const指针——本身的值不能修改;

    int *const curErr = &errNumb;  //curTrr是一个指向int型对象的const指针

    const指针的值不能修改,即不能使curErr指向其他对象,但是可以指针所指向对象的值能否修改完全取决于该对象的类型。

    [小结]:const放在类型前面是:指向const对象的指针,不能通过指针修改其所指向的值;const放在类型和变量名之间,并且前面加一个*指:const指针,指针指向的对象不能变,但是可能用过指针修改其所指向的值。

    3、指向const对象的const指针——既不能修改指针所指向的对象的值,也不允许修改指针的指向。

    const double pi=3.14159;
    const double *const pi_str = π
  • 相关阅读:
    PMP考试终于结束了。。。
    干系人的管理
    设计业务时要兼顾实现方案的可行性和方案的可操作性
    办公室政治的问题
    SQL Server 2005/2008遍历所有表更新统计信息
    C1控件的破解步骤
    [七、项目实战]22开始制作一份网站访问量的统计页面
    [七、项目实战]17完成自定义弹出窗口的制作
    [七、项目实战]18给页面里的内容添加动画效果
    [七、项目实战]16利息支付方式设置界面的制作
  • 原文地址:https://www.cnblogs.com/rong86/p/3458806.html
Copyright © 2020-2023  润新知