精华内容
下载资源
问答
  • 代码提供二维等距变量的导数使用有限差分公式。 中心精度高达 8 阶精度,一侧(向后或向前)精度高达 6 阶精度。 只能计算和二阶导数。 边缘点的导数以最大可能的精度计算BC 必须在此代码之外强制执行var:二维变量...
  • f=sin(x) 在域 (0,2pi) 中的二阶导数,使用 7 点对称模板作为内部点,一侧作为边界点。 这里使用了 for 循环方法。
  • 优化算法笔记02:差分近似导数

    千次阅读 2018-10-07 17:15:58
    在优化问题中,有时会用有限差分法近似目标函数的Hessian矩阵,下面介绍这一方法。   如果函数的自变量是一个向量,那么根据函数值的类型,有: 标量的导数是向量,标量的偏导数是标量; 向量的导数是矩阵,...

    在优化问题中,有时会用有限差分法近似求目标函数的Hessian矩阵,下面介绍这一方法。

     

    如果函数的自变量是一个向量,那么根据函数值的类型,有:

    标量的导数是向量,标量的偏导数是标量;

    向量的导数是矩阵,向量的偏导数是向量。

     

    比如,函数 g:R^3 \mapsto R^3

    套一个具体的函数:g(x)=x+3, x=\left ( x_1,x_2,x_3 \right )^T,这个函数求导很简单,导数是一个三阶单位矩阵,本文只是拿它来举例说明。

    此函数可以写成 g(x)=\begin{pmatrix} g_1(x)\\ g_2(x)\\ g_3(x) \end{pmatrix}=\begin{pmatrix} x_1+3\\ x_2+3\\ x_3+3 \end{pmatrix}

    根据偏导数的定义,有\frac{\partial g(x)}{\partial x_1}=\lim _{\alpha\to0}\frac{g(x+\alpha e_1)-g(x)}{\alpha}=\lim_{\alpha\to0}\frac{g(x+\alpha\cdot \begin{pmatrix} 1\\ 0\\ 0 \end{pmatrix})-g(x)}{\alpha}

    如果将\alpha取成一个很小的数,把极限符号拿掉,就实现了用差分近似微分:

    \frac{\partial g(x)}{\partial x_1}\approx \left [ \begin{pmatrix} x_1+\alpha+3\\ x_2+3\\ x_3+3 \end{pmatrix}-\begin{pmatrix} x_1+3\\ x_2+3\\ x_3+3 \end{pmatrix}\right ]\cdot \frac{1}{\alpha}=\begin{pmatrix} 1\\ 0\\ 0 \end{pmatrix}

    同理求另外两个分量的偏导数,就可以得出导数是一个三阶单位阵。

     

    有了这个思想,就可以用MATLAB实现有限差分近似求导。

    % 定义函数
    g=@(x)x+3;
    % 定义自变量向量
    x=[2;3;4];
    % 获取维度
    n=size(x,1);
    % 创建导数矩阵
    H=zeros(n);
    % 取阿尔法为一个很小的数
    alpha=1e-6;
    % 逐列求导数向量
    for k=1:n
        ei=zeros(n,1);
        ei(k)=1;
        H(:,k)=(g(x+alpha*ei)-g(x))/alpha;
    end
    disp(H);

    输出:

    >> test
        1.0000         0         0
             0    1.0000         0
             0         0    1.0000

    近似的结果是正确的。

     

     

    展开全文
  • 时域有限差分法 (FDTD, Finite-Difference Time-Domain)是1966年K.S.Yee发表在AP上的一篇论文建立起来的,后被称为Yee网格空间离散方式。核心思想是把带时间变量的Maxwell旋度方程转化为差分形式,模拟出电子脉冲和...
  • 差分一阶导数二阶导数,matlab

    千次阅读 2020-05-22 22:30:45
    clc;clear all h=0.01;... legend('原函数','差分一阶导数','差分二阶导数') xlabel('xx','Interpreter','latex','color','r','fontsize',28); ylabel('yy','Interpreter','latex','color','r','fontsize',28);

    在这里插入图片描述

    clc;clear all
    h=0.01;
    %x属于【a,b】
    a=-5;b=5;
    x=a:h:b
    n=length(x);
    %定义y
    y=sin(0.3*x).*cos(3*x)
    hold on
    grid on
    yx=zeros(1,n);
    yxx=zeros(1,n);
    for i=2:n-1
      yx(i-1)=(y(i+1)-y(i-1))/(2*h);
      yxx(i-1)=(y(i+1)+y(i-1)-2*y(i))/h^2;
    end
    plot(x,y,'r','linewidth',2)
    plot(x(2:n-1),yx(1:n-2),'g','linewidth',2);
    plot(x(2:n-1),yxx(1:n-2),'b','linewidth',2);
    legend('原函数','差分一阶导数','差分二阶导数')
    xlabel('xx','Interpreter','latex','color','r','fontsize',28);
    ylabel('yy','Interpreter','latex','color','r','fontsize',28);

    在这里插入图片描述

    展开全文
  • 科学和工程中的各种问题需要对交错网格上的一阶导数进行有限差分近似,例如在地震波建模中。 这种有限差分使用距离评估点 ±[0.5,1.5,2.5,...]dx 处的点。 下面给出了一个一阶示例,其模板向左右两侧仅点半个点: f'...
  • f=tanh(k(x-1)) 在域 (0,5) 中的一阶导数,使用 5 点紧凑对称模板作为内部点,使用一侧显式模板作为边界点。 这里使用了矩阵法。
  • 评论 : 1)六阶FD导数不能用于太强的梯度2)网格(xp)是在pade_init函数内部生成的。 稍微修改将授权外部网格,但要注意边界条件 包中的 .m 文件: - pade_init.m : Pade 系数的初始化(三对角矩阵被初始化) - ...
  • 有限差分法求导

    千次阅读 2013-07-23 10:38:33
    数字图像处理中,经常遇到求导的情况,但是我们的数字图像都是离散变量,因此无法直接对其求导,我们只能对其近似求导,所以此时我们可以采用有限差分求导对其近似求解 有限差分法以变量离散取值后对应的函...

    数字图像处理中,经常遇到求导的情况,但是我们的数字图像都是离散变量,因此无法直接对其求导,我们只能对其近似求导,所以此时我们可以采用有限差分求导对其近似求解


    有限差分法以变量离散取值后对应的函数值来近似微分方程中独立变量的连续取值。在有限差分方法中,我们放弃了微分方程中独立变量可以取连续值的特征,而关注独立变量离散取值后对应的函数值。但是从原则上说,这种方法仍然可以达到任意满意的计算精度。因为方程的连续数值解可以通过减小独立变量离散取值的间格,或者通过离散点上的函数值插值计算来近似得到。这种方法是随着计算机的诞生和应用而发展起来的。其计算格式和程序的设计都比较直观和简单,因而,它在计算数学中使用广泛。

    有限差分法的具体操作分为两个部分:

    1. 用差分代替微分方程中的微分,将连续变化的变量离散化,从而得到差分方程组的数学形式;

    2. 求解差分方程组。


    首先我们直接给出结果,然后在后面进行公式推导:





    推导过程:

    我们知道任一f(x)均可将其展开成泰勒公式:

    一阶泰勒公式展开式为:

                                                          (1)

    我们将f(xi+h)和f(xi-h)均用泰勒公式展开:

                                                                 (2)

                                                                 (3)

    将(1)和(2)相减,整理可得:

                                                                                                                                               (4)

    即证

    同理可证                                                                            (5)


    同样我们可以利用二阶泰勒公式的展开式推出:

                                                                                               (6)

    二阶泰勒公式的展开式为:

                                      (7)

    展开全文
  • f=sin(x) 在域 (0,2pi) 中的一阶导数,使用 5 点对称模板作为内部点,一侧作为边界点。 这里使用了 for 循环方法。
  • 有限差分近似求导

    千次阅读 2020-07-08 14:34:48
    有限差分近似求导 有限差分法以变量离散取值后对应的函数值来近似微分方程中独立变量的连续取值。在有限差分方法中,我们放弃了微分方程中独立变量可以取连续值的特征,而关注独立变量离散取值后对应的函数值。但是...

    有限差分近似求导

    有限差分法以变量离散取值后对应的函数值来近似微分方程中独立变量的连续取值。在有限差分方法中,我们放弃了微分方程中独立变量可以取连续值的特征,而关注独立变量离散取值后对应的函数值。但是从原则上说,这种方法仍然可以达到任意满意的计算精度。因为方程的连续数值解可以通过减小独立变量离散取值的间格,或者通过离散点上的函数值插值计算来近似得到。这种方法是随着计算机的诞生和应用而发展起来的。其计算格式和程序的设计都比较直观和简单,因而,它在计算数学中使用广泛。

    有限差分法的具体操作分为两个部分:

    \1. 用差分代替微分方程中的微分,将连续变化的变量离散化,从而得到差分方程组的数学形式;

    \2. 求解差分方程组

    首先我们直接给出结果,然后在后面进行公式推导:

    在这里插入图片描述

    推导过程:

    我们知道任一f(x)均可将其展开成泰勒公式:

    一阶泰勒公式展开式为

    在这里插入图片描述
    我们将f(xi+h)和f(xi-h)均用泰勒公式展开:

    在这里插入图片描述

    将(1)和(2)相减,整理可得:

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • f=tanh(k(x-1)) 在域 (0,5) 中的一阶导数,使用 3 点紧凑对称模板作为内部点,使用一侧显式模板作为边界点。 这里使用了矩阵法。
  • 为了使Caputo导数的计算更加精确,通过有限差分法建立了线性插值(格式Ⅰ)和分片二次插值(格式Ⅱ)两种近似的计算格式,并对这两种格式的误差进行了分析和对比,结果表明,格式Ⅱ可得到更优的误差估计,因此格式Ⅱ可...
  • 中心差分

    2019-02-18 16:10:41
    运动方程中的速度向量和加速度向量用位移的某种组合来表示,将微分方程组的求解问题转化为代数方程组的求解问题,并在... 中心差分法是一种显示的积分法,它基于用有限差分代替位移对时间的求导(即速度和加速度)。
  • FiniteDifferences.jl:高精度导数,通过数值有限差分估算(以前为FDM.jl)
  • 用户需要指定1、点数2、空间步3、导数的顺序4、精度阶数(偶数)的有限差分方案。 边界处的模板是非对称的,但具有与中心有限差分相同数量级的精度。 上述函数用于生成有限差分权重的核心函数是 ...
  • 有限差分法(Finite Difference Methods,简称FDM),是一种微分方程的数值解法,是通过有限差分来近似导数,从而寻求微分方程的近似解,是一种以以差分为原理的一种数值解法。 将求解场域划分为很多网格和节点,并用...
  • 修正的强跟踪算法做出来以下改进:使用有限差分方法来近似多项式,不需要求解非线性函数的导数;其次,新算法中使用强跟踪的次优渐消因子对先验协方差矩阵进行修正。通过蒙特卡罗仿真实验对修正的新算法进行了仿真...
  • 自动微分是一种使用链式规则计算函数导数的技术。 Matlab 对象可以轻松实现自动微分。 请注意,此程序包是在Matlab的较旧版本中实现的。 您可能需要针对较新版本对其进行编辑。 使用自动微分计算点 [1,2] 处 ...
  • 有限差分法求解偏微分方程

    万次阅读 多人点赞 2016-11-06 14:23:03
    差分方法又称为有限差分方法或网格法,是偏微分方程定解问题的数值解中应用最广泛的方法之一。本文主要介绍利用有限差分(涉及Jacobi迭代和Gauss-Siedel迭代)求解偏微分方程(以Laplace方程为例)的方法,
  • matlab求导代码FDmatrices:构造有限差分矩阵 构造1D,2D和3D矩阵的Octave / Matlab代码,这些矩阵近似于网格上的导数
  • f=tanh(k(x-1)) 在域 (0,5) 中的二阶导数,使用 3 点紧凑对称模板作为内部点,使用一侧显式模板作为边界点。 这里使用了矩阵法。
  • 使用Macbook,Pycharm软件。Python 模拟冷却散热片热分布,解热分布的热稳态椭圆偏微分方程。采用有限差分法近似一阶二阶导数
  • 有限差分仿真库。 该软件包可让您快速构建简单的数值模拟。 特征 快速构建具有任意数量的域,标量,尺寸和边界条件的有限差分仿真。 简洁明了的语法。 使用Scipy或Cupy稀疏库为CPU或GPU建立模型。 任意导数阶和逼近...
  • 该脚本计算均匀网格上任意有限差分近似的权重。 您可以为方案选择任意数量的点(阶)并计算任何阶导数算子的权重。 此脚本计算居中和非居中差异的权重。
  • 生成中央 FD 模板精度的第 n 阶的第 m 阶导数。 给出了在https://en.wikipedia.org/wiki/Finite_difference_coefficient 中生成表 1 的所有系数的示例。
  • 第五十二篇 有限差分法 抛物线系统 对于典型的抛物型方程,例如“传导”或“固结”方程,要求在时间上有边界条件和初始条件。然后,只要需要的话,就会出对应时间的解。与椭圆问题不同的是,如下图所示,解域是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,171
精华内容 2,468
关键字:

有限差分求导数