用R语言理解全微分

news2024/11/19 14:49:08

文章目录

    • 6 全微分
      • 梯度的概念
      • 全微分

前情提要 R语言微积分

6 全微分

梯度的概念

对于任意函数 f ( x 0 , x 1 , ⋯   , x n ) f(x_0,x_1,\cdots,x_n) f(x0,x1,,xn),其梯度为

∇ f = ( ∂ f ∂ x 0 , ∂ f ∂ x 0 , ⋯   , ∂ f ∂ x 0 ) \nabla f=(\frac{\partial f}{\partial x_0}, \frac{\partial f}{\partial x_0},\cdots, \frac{\partial f}{\partial x_0}) f=(x0f,x0f,,x0f)

由于在求导过程中,常数项被置零,所以 ∇ f \nabla f f必然反映出 f = 0 f=0 f=0的某些几何特征。

z = 1 − x 2 − y 2 z=1-x^2-y^2 z=1x2y2对应的方程是 x 2 + y 2 = 0 x^2+y^2=0 x2+y2=0,是一个圆形,其梯度为 ( − 2 x , − 2 y ) (-2x,-2y) (2x,2y),做图如下

theta = seq(-pi,pi,0.1)
x = cos(theta)
y = sin(theta)
plot(x,y,type='l',col='red')
x1 = x*0
y1 = (x1-x)/(-2*x)*(-2*y)+y
for(i in 1:length(theta))
    lines(c(x[i],x1[i]),c(y[i],y1[i]),col='green')

在这里插入图片描述

可见,梯度方向对应的是图形的法线方向。对于二维平面内的曲线而言,其法线方向与切线方向垂直。

关于切线方向,我们仅知道 y = f ( x ) y=f(x) y=f(x)的切线的斜率为 k = f ′ ( x ) k=f'(x) k=f(x),对应的方向为 ( 1 , f ′ ( x ) ) (1,f'(x)) (1,f(x))。或者更直观地写为 d y d x \frac{\text dy}{\text dx} dxdy

而今却只知道 x , y x,y x,y的隐函数表达式 f ( x , y ) = 0 f(x,y)=0 f(x,y)=0,对此可以先写出 x , y x,y x,y的偏导数 f x ′ = ∂ f ∂ x , f y ′ = ∂ f ∂ y f'_x=\frac{\partial f}{\partial x},f'_y=\frac{\partial f}{\partial y} fx=xf,fy=yf

全微分

回顾偏导数的定义

f x ′ ( x 0 , y 0 ) = lim ⁡ Δ x → 0 f ( x 0 + Δ x , y 0 ) − f ( x 0 , y 0 ) Δ x f'_x(x_0,y_0)=\lim_{\Delta x\to0}\frac{f(x_0+\Delta x,y_0)-f(x_0,y_0)}{\Delta x} fx(x0,y0)=Δx0limΔxf(x0+Δx,y0)f(x0,y0)

这里出现一个很吊诡的问题,既然满足 f ( x , y ) = 0 f(x,y)=0 f(x,y)=0,那么 f ( x , y ) = 0 f(x,y)=0 f(x,y)=0上的任意两点的差必为0,但显然在计算 f x ′ f'_x fx的过程中,并没有遵守 f ( x , y ) = 0 f(x,y)=0 f(x,y)=0这个条件,即 ( x + Δ x , y ) (x+\Delta x,y) (x+Δx,y)可能并不在曲线 f ( x , y ) = 0 f(x,y)=0 f(x,y)=0上。

若想制造出一个完全位于 f ( x , y ) = 0 f(x,y)=0 f(x,y)=0上的变化关系,则可令

Δ f = f ( x 0 + Δ x , y 0 + Δ y ) − f ( x 0 , y 0 ) = f ( x 0 + Δ x , y 0 + Δ y ) − f ( x 0 , y 0 + Δ y ) + f ( x 0 , y 0 + Δ y ) − f ( x 0 , y 0 ) \begin{aligned} \Delta f&=f(x_0+\Delta x,y_0+\Delta y)-f(x_0,y_0)\\ &=f(x_0+\Delta x,y_0+\Delta y)-f(x_0,y_0+\Delta y)+f(x_0,y_0+\Delta y)-f(x_0,y_0) \end{aligned} Δf=f(x0+Δx,y0+Δy)f(x0,y0)=f(x0+Δx,y0+Δy)f(x0,y0+Δy)+f(x0,y0+Δy)f(x0,y0)

则当 Δ x → 0 , Δ y → 0 \Delta x\to0,\Delta y\to0 Δx0,Δy0时,

Δ f = f x ′ ( x 0 , y 0 + Δ y ) Δ x + f y ′ ( x 0 , y 0 ) Δ y = f x ′ ( x 0 , y 0 ) Δ x + f y ′ ( x 0 , y 0 ) Δ y \begin{aligned} \Delta f&=f'_x(x_0,y_0+\Delta y)\Delta x+f'_y(x_0,y_0)\Delta y\\ &=f'_x(x_0,y_0)\Delta x+f'_y(x_0,y_0)\Delta y \end{aligned} Δf=fx(x0,y0+Δy)Δx+fy(x0,y0)Δy=fx(x0,y0)Δx+fy(x0,y0)Δy

由于满足 f ( x , y ) = 0 f(x,y)=0 f(x,y)=0,所以 Δ f = 0 \Delta f=0 Δf=0,且 Δ x , Δ y \Delta x,\Delta y Δx,Δy也会受到约束,二者同时趋近于0也可以表述为 Δ y \Delta y Δy在满足约束 f f f的情况下,随着 Δ → 0 \Delta\to0 Δ0而趋近于0。故上式可写为

f x ′ ( x 0 , y 0 ) Δ x = − f y ′ ( x 0 , y 0 ) Δ y ↓ lim ⁡ Δ x → 0 Δ y Δ x = − f x ′ f y ′ ↓ d y d x = − f x ′ f y ′ f'_x(x_0,y_0)\Delta x=-f'_y(x_0,y_0)\Delta y\\ \downarrow\\ \lim_{\Delta x\to0}\frac{\Delta y}{\Delta x}=-\frac{f'_x}{f'_y}\\ \downarrow\\ \frac{\text dy}{\text dx}=-\frac{f'_x}{f'_y} fx(x0,y0)Δx=fy(x0,y0)ΔyΔx0limΔxΔy=fyfxdxdy=fyfx

故对于 f ( x , y ) = 0 f(x,y)=0 f(x,y)=0,其切线方向为 ( 1 , − f x ′ f y ′ ) (1,-\frac{f'_x}{f'_y}) (1,fyfx)

其法线方向为 ( f x ′ , f y ′ ) (f'_x,f'_y) (fx,fy)

二者内积 ( 1 , − f x ′ f y ′ ) ⋅ ( f x ′ , f y ′ ) ≡ 0 (1,-\frac{f'_x}{f'_y})\cdot(f'_x,f'_y)\equiv0 (1,fyfx)(fx,fy)0。从而我们证明了 f ( x , y ) f(x,y) f(x,y)的梯度为 f ( x , y ) = 0 f(x,y)=0 f(x,y)=0这个曲线的法线。

而这个过程中,则得到了一种新的变化关系,即全微分,定义为

d f = f x ′ d x + f y ′ d y \text df=f'_x\text dx+f'_y\text dy df=fxdx+fydy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/163333.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决从BIOS选择从U盘启动但是系统仍然从硬盘启动的问题

我怀疑是BIOS失去了记忆能力,不能记住我的选择,所以仍然按默认从硬盘启动。 解决:重置BIOS即可 下面用物理方法重置BIOS。 在主板上找到这三根针,将上面的黑色套子拔出,然后插入旁边的另外两根针,例如开始…

基于python知识图谱医疗领域问答系统实现

直接上结果展示: “让人类永远保持理智,确实是一种奢求” ,机器人莫斯,《流浪地球》 项目概况 本项目为一个使用深度学习方法解析问题,知识图谱存储、查询知识点,基于医疗垂直领域的对话系统的后台程序 运行效果:

aws beanstalk 结合packer创建自定义平台

参考资料 https://github.com/aws-samples/eb-custom-platforms-samples#updating-packer-templateElastic Beanstalk 自定义平台 今天使用eb平台创建环境的时候,发现有名为packer的选项,查询文档发现aws beanstalk支持自定义平台,这功能几…

4. 使用预训练的PyTorch网络进行图像分类

4. 使用预训练的PyTorch网络进行图像分类 这篇博客将介绍如何使用PyTorch预先训练的网络执行图像分类。利用这些网络只需几行代码就可以准确地对1000个常见对象类别进行分类。这些图像分类网络是开创性的、最先进的图像分类网络,包括VGG16、VGG19、Inception、Dens…

windows下 pytorch的安装(gpu版本以及cpu版本)

一. 查看是否有gpu 打开cmd 输入nvidia-smi 是以下这种情况的就是有gpu 没有gpu的话就会报错 下载安装cuda以及cudnn(安装cpu版本可以跳过此步骤直接进行pytorch的安装) 下载cuda 看清楚两个箭头指的地方 一个是11.3.0 一个是日期 后面下载cudnn的时…

ProEssentials Pro 9.8.0.32 Crack

ProEssentials .Net图表组件用于对您的科学、工程和金融图表进行评估和选择! Winforms 图表, WPF 图表, C/MFC/VCL 图表. Gigasoft拥有20多年帮助企业开发大型客户端和嵌入式图表项目的经验 为何选择ProEssentials? 我们真诚地希望您能针对您的具体实施…

day03 链表 | 203、移除链表元素 707、设计链表 206、反转链表

题目 203、移除链表元素 删除链表中等于给定值 val 的所有节点。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3,4,5] 示例 2: 输入:head [], val 1 输出:[] 示例 3: 输入&am…

Pytorch Kaggle实战:House Prices - Advanced Regression Techniques

通过Kaggle比赛,将所学知识付诸实践 目录 1、下载和缓存数据集 2、访问和读取数据集 3、数据预处理 3、训练 4、K折交叉验证 5、模型选择 6、提交Kaggle预测 1、下载和缓存数据集 建立字典DATA_HUB,它可以将数据集名称的字符串映射到数据集相关的二元组上&am…

网络抓包-抓包工具tcpdump的使用与数据分析

1.测试背景 本次测试选用两台不同的服务器,ip分别为.233和.246,233服务器为客户端,246服务器为服务端。利用tcp协议就行socket通信。socket网络编程部分示例代码为基本的通信代码,需要了解tcp网络通讯的基本协议与过程。服务器上采用tcpdump…

【学习笔记】【Pytorch】八、池化层

【学习笔记】【Pytorch】八、池化层学习地址主要内容一、最大池化操作示例二、nn.MaxPool2d类的使用1.使用说明2.代码实现三、池化公式学习地址 PyTorch深度学习快速入门教程【小土堆】. 主要内容 一、最大池化操作示例 二、nn.MaxPool2d类的使用 作用:对于输入信…

Min_25筛

概述 Min_25是日本一个ACM选手的ID,这个筛法是他发明的,所以称之为Min_25筛。它能在亚线性复杂度求出一类积性函数的 fff 的前缀和,前提 是这个积性函数在质数和质数的幂位置的函数值比较好求。借助埃拉托色尼筛的思想 将原问题转化成与质因…

华为PIM-SM 动态RP实验配置

目录 建立PIM SM邻居 配置DR 配置动态RP 组成员端DR上配置IGMP 配置PIM安全 配置SPT切换 配置Anycast RP 配置接口的IP地址,并配置路由协议使得全网互通 建立PIM SM邻居 AR5操作 multicast routing-enable 开启组播路由转发功能 int g0/0/0 pim sm …

MacOS对文件夹加密的方法

背景 MacOS没有那种类似于windows那种对文件夹加解密的软件,MacOS自带有一种加解密,但是其实使用体验上跟windows那种很不一样。 win上的加解密都很快,就好像仅仅对文件夹进行加解密(我估计是安全性较低的,因为加密过…

【JavaSE】异常的初步认识

目录 1、初步认识异常 1、算数异常 2、空指针异常 3、数组越界异常 2、异常的结构体系 3、异常的分类 1、编译时异常/受查异常 2、运行时异常/非受查异常 4、异常的处理 1、处理异常的编程方式(防御式编程) 1、事前防御性(LBYL&a…

【软件测试】软件测试基础知识

1. 什么是软件测试 软件测试就是验证软件产品特性是否满足用户的需求 2. 调试与测试的区别 目的不同 调试:发现并解决软件中的缺陷测试:发现软件中的缺陷 参与角色不同 调试:开发人员测试:测试人员,开发人员等&a…

软件测试复习04:动态测试——黑盒测试

作者:非妃是公主 专栏:《软件测试》 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录等价划分法边值分析法错误推测法因果图法示例习题等价划分法 等价类:一个几何&#xf…

如何快速搭建自己的阿里云服务器(宝塔)并且部署springboot+vue项目(全网最全)

📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正! 文章目录📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正!一、前言二、准备工作1、新手申请2、安全组设置3、修改实例4.这里可以 直接用阿里云…

【图像处理OpenCV(C++版)】——4.2 对比度增强之线性变换

前言: 😊😊😊欢迎来到本博客😊😊😊 🌟🌟🌟 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义,适用于平时学习、工作快…

【数据结构】5.7 哈夫曼树及其应用

文章目录前言5.7.1 哈夫曼树的基本概念哈夫曼树的特点5.7.2 哈夫曼树的构造算法哈夫曼树的构造过程哈夫曼算法的实现算法思路算法实现5.7.3 哈夫曼编码哈夫曼编码思想前缀编码哈夫曼编码哈夫曼编码的性质哈夫曼编码的算法实现文件的编码和解码前言 编程:将学生的百…

【精品】k8s(Kubernetes)由基础到实战学法指南

轻松快速学会k8s四招 图1 k8s四招 学完本篇,您会获得什么惊喜? 从初学k8s,到帮助别人学会的过程中,发现朋友们和我,并非不努力,而是没有掌握更好的方法。有方法可让我们学的更快更轻松,这篇文章,以一个networkpolicy的题目,来逐步讲解,帮助大家建立一种,自己可以根…