微分学<6>——Taylor公式
索引
- Taylor公式
- Taylor公式的定性分析
- 定理6.1 Taylor公式(Peano余项)
- Taylor公式的定量分析
- 定理6.2 Taylor公式(Lagrange余项)
Taylor公式
Taylor公式的定性分析
定理6.1 Taylor公式(Peano余项)
若函数 f ( x ) f\left ( x \right ) f(x)在 x 0 x_{0} x0处的 n n n阶导数均存在,则存在邻域 U ( x 0 , δ ) U\left ( x_{0},\delta \right ) U(x0,δ)使得 f ( x ) f\left ( x \right ) f(x)满足以下公式:
f ( x ) = ∑ k = 0 n f ( k ) ( x 0 ) ( x − x 0 ) k k ! + r n ( x ) f\left ( x \right ) =\sum_{k=0}^{n}\frac{f^{\left ( k \right ) } \left ( x_{0} \right )\left ( x-x_{0} \right )^{k} }{k!}+r_{n} \left ( x \right ) f(x)=∑k=0nk!f(k)(x0)(x−x0)k+rn(x)
其中Peano余项 r n ( x ) = o ( ( x − x 0 ) n ) ( x → x 0 ) r_{n} \left ( x \right )=o \left ( \left ( x-x_{0} \right )^{n} \right )(x\to x_{0} ) rn(x)=o((x−x0)n)(x→x0),代表 f ( x ) f\left ( x \right ) f(x)在Taylor近似时产生的误差,余下的 n n n次多项式记为 P n ( x ) P_{n}\left ( x \right ) Pn(x),即 x 0 x_{0} x0处的 n n n次Taylor多项式。
r n ( x ) = f ( x ) − P n ( x ) = f ( x ) − ∑ k = 0 n f ( k ) ( x 0 ) ( x − x 0 ) k k ! r_{n}\left ( x \right ) =f\left ( x \right ) -P_{n}\left ( x \right ) =f\left ( x \right ) -\sum_{k=0}^{n}\frac{f^{\left ( k \right ) } \left ( x_{0} \right )\left ( x-x_{0} \right )^{k} }{k!} rn(x)=f(x)−Pn(x)=f(x)−∑k=0nk!f(k)(x0)(x−x0)k,
r n ( n − 1 ) ( x ) = f ( n − 1 ) ( x ) − ∑ k = n − 1 n f ( k ) ( x 0 ) ( x − x 0 ) ( k − ( n − 1 ) ) ( k − ( n − 1 ) ) ! = f ( n − 1 ) ( x ) − ( f ( n − 1 ) ( x 0 ) 0 ! + f ( n ) ( x 0 ) ( x − x 0 ) 1 ! ) = f ( n − 1 ) ( x ) − f ( n − 1 ) ( x 0 ) − f ( n ) ( x 0 ) ( x − x 0 ) \begin{array}{l} &r^{\left(n-1\right)} _{n}\left ( x \right ) \\ =&f^{\left ( n-1 \right ) }\left ( x \right ) -\sum _{k=n-1}^{n}\frac{f^{\left ( k \right ) }\left ( x_{0} \right ) \left ( x-x_{0} \right )^{\left ( k-\left ( n-1 \right ) \right ) } }{\left ( k-\left (n-1 \right ) \right ) !} \\ =&f^{\left ( n-1 \right ) }\left ( x \right )-\left ( \frac{f^{\left ( n-1 \right ) }\left ( x_{0} \right ) }{0!}+\frac{f^{\left ( n \right )}\left ( x_{0} \right )\left ( x-x_{0} \right ) }{1!}\right ) \\ =&f^{\left ( n-1 \right ) }\left ( x \right )-f^{\left ( n-1 \right ) }\left ( x_{0} \right )-f^{\left ( n \right )}\left ( x_{0} \right )\left ( x-x_{0} \right ) \end{array} ===rn(n−1)(x)f(n−1)(x)−∑k=n−1n(k−(n−1))!f(k)(x0)(x−x0)(k−(n−1))f(n−1)(x)−(0!f(n−1)(x0)+1!f(n)(x0)(x−x0))f(n−1)(x)−f(n−1)(x0)−f(n)(x0)(x−x0),
因为函数 f ( x ) f\left ( x \right ) f(x)在 x 0 x_{0} x0处的 n n n阶导数均存在,所以 f ( x ) f\left ( x \right ) f(x)的前 n − 1 n-1 n−1阶导函数一定连续且可导。
连续引用n-1次L’Hospital法则, lim x → x 0 r n ( x ) ( x − x 0 ) n = lim x → x 0 r n ( 1 ) ( x ) n ( x − x 0 ) n − 1 = ⋯ = lim x → x 0 r n ( n − 1 ) ( x ) n ! ( x − x 0 ) \lim _{x\to x_{0} } \frac{r_{n}\left ( x \right ) }{\left ( x-x_{0} \right )^{n} }= \lim _{x\to x_{0} }\frac{r^{\left ( 1 \right ) } _{n}\left ( x \right ) }{n\left ( x-x_{0} \right )^{n-1} }=\cdots =\lim _{x\to x_{0} }\frac{r^{\left ( n-1 \right ) } _{n}\left ( x \right ) }{n! \left ( x-x_{0} \right ) } limx→x0(x−x0)nrn(x)=limx→x0n(x−x0)n−1rn(1)(x)=⋯=limx→x0n!(x−x0)rn(n−1)(x),
展开 r n ( n − 1 ) ( x ) r^{\left ( n-1 \right ) } _{n}\left ( x \right ) rn(n−1)(x), lim x → x 0 r n ( n − 1 ) ( x ) n ! ( x − x 0 ) = 1 n ! lim x → x 0 ( f ( n − 1 ) ( x ) − f ( n − 1 ) ( x 0 ) x − x 0 − f ( n ) ( x 0 ) ) \lim _{x\to x_{0} }\frac{r^{\left ( n-1 \right ) } _{n}\left ( x \right ) }{n! \left ( x-x_{0} \right ) }=\frac{1}{n!}\lim _{x\to x_{0} } \left ( \frac{f^{\left ( n-1 \right ) }\left ( x \right ) -f^{\left ( n-1 \right ) }\left ( x_{0} \right ) }{x-x_{0} } -f^{\left ( n \right ) }\left ( x_{0} \right ) \right ) limx→x0n!(x−x0)rn(n−1)(x)=n!1limx→x0(x−x0f(n−1)(x)−f(n−1)(x0)−f(n)(x0)),
根据高阶导数定义, lim x → x 0 f ( n − 1 ) ( x ) − f ( n − 1 ) ( x 0 ) x − x 0 = f ( n ) ( x 0 ) \lim _{x\to x_{0} }\frac{f^{\left ( n-1 \right ) }\left ( x \right ) -f^{\left ( n-1 \right ) }\left ( x_{0} \right ) }{x-x_{0} }=f^{\left ( n \right ) }\left ( x_{0} \right ) limx→x0x−x0f(n−1)(x)−f(n−1)(x0)=f(n)(x0),
所以 lim x → x 0 r n ( x ) ( x − x 0 ) n = lim x → x 0 r n ( n − 1 ) ( x ) n ! ( x − x 0 ) = 0 \lim _{x\to x_{0} } \frac{r_{n}\left ( x \right ) }{\left ( x-x_{0} \right )^{n} }=\lim _{x\to x_{0} }\frac{r^{\left ( n-1 \right ) } _{n}\left ( x \right ) }{n! \left ( x-x_{0} \right ) }=0 limx→x0(x−x0)nrn(x)=limx→x0n!(x−x0)rn(n−1)(x)=0, r n ( x ) = o ( ( x − x 0 ) n ) ( x → x 0 ) r_{n} \left ( x \right )=o \left ( \left ( x-x_{0} \right )^{n} \right )(x\to x_{0} ) rn(x)=o((x−x0)n)(x→x0)。
Taylor公式的定量分析
定理6.2 Taylor公式(Lagrange余项)
函数 f ( x ) f\left ( x \right ) f(x)在闭区间 [ a , b ] \left [ a,b \right ] [a,b]上存在 n n n阶连续导数,在开区间 ( a , b ) \left ( a,b \right ) (a,b)上存在 n + 1 n+1 n+1阶导数,取一定点 x 0 ∈ [ a , b ] x_{0}\in \left [ a,b \right ] x0∈[a,b],则 ∀ x ∈ [ a , b ] \forall x\in \left [ a,b \right ] ∀x∈[a,b], f ( x ) = ∑ k = 0 n f ( k ) ( x 0 ) ( x − x 0 ) k k ! + r n ( x ) f\left ( x \right )=\sum_{k=0}^{n}\frac{f^{\left ( k \right ) }\left ( x_{0} \right )\left ( x-x_{0} \right )^{k} }{k!}+r_{n}\left ( x \right ) f(x)=∑k=0nk!f(k)(x0)(x−x0)k+rn(x),其中Lagrange余项 r n ( x ) = f ( n + 1 ) ( ξ ) ( x − x 0 ) n + 1 ( n + 1 ) ! r_{n}\left ( x \right )=\frac{f^{\left ( n+1 \right ) }\left ( \xi \right )\left ( x-x_{0} \right )^{n+1} }{\left ( n+1 \right ) !} rn(x)=(n+1)!f(n+1)(ξ)(x−x0)n+1,其中 ξ \xi ξ位于 x x x和 x 0 x_{0} x0之间。
当 n = 0 n=0 n=0时,Taylor公式表现为Lagrange中值定理的形式。
构造函数 G ( t ) = f ( x ) − ∑ k = 0 n ( f ( k ) ( t ) k ! ( x − t ) k ) G\left ( t \right )=f\left ( x \right )-\sum_{k=0}^{n}\left ( \frac{f^{\left ( k \right ) }\left (t \right ) }{k!}\left ( x-t \right )^{k} \right) G(t)=f(x)−∑k=0n(k!f(k)(t)(x−t)k)和 H ( t ) = ( x − t ) n + 1 H\left ( t \right )=\left ( x-t \right )^{n+1} H(t)=(x−t)n+1,
不妨设 x < x 0 x<x_{0} x<x0,
G ( x ) = f ( x ) − ∑ k = 1 n ( f ( k ) ( t ) k ! ( x − x ) k ) − f ( t ) 0 ! ( x − t ) 0 = f ( x ) − f ( x ) = 0 G\left ( x \right )=f\left ( x \right )-\sum_{k=1}^{n}\left ( \frac{f^{\left ( k \right ) }\left (t \right ) }{k!}\left ( x-x \right )^{k} \right)-\frac{f\left ( t \right ) }{0!}\left ( x-t \right )^{0}=f\left ( x \right )-f\left ( x \right )=0 G(x)=f(x)−∑k=1n(k!f(k)(t)(x−x)k)−0!f(t)(x−t)0=f(x)−f(x)=0;
G ( x 0 ) = f ( x ) − ∑ k = 0 n ( f ( k ) ( x 0 ) k ! ( x − x 0 ) k ) G\left ( x_{0} \right )=f\left ( x \right )-\sum_{k=0}^{n}\left ( \frac{f^{\left ( k \right ) }\left (x_{0} \right ) }{k!}\left ( x-x_{0} \right )^{k} \right) G(x0)=f(x)−∑k=0n(k!f(k)(x0)(x−x0)k);
H ( x ) = ( x − x ) n + 1 = 0 H\left ( x \right )=\left ( x-x \right )^{n+1}=0 H(x)=(x−x)n+1=0;
H ( x 0 ) = ( x − x 0 ) n + 1 H\left ( x_{0} \right )=\left ( x-x_{0} \right )^{n+1} H(x0)=(x−x0)n+1;
G ′ ( t ) = − ∑ k = 0 n ( f ( k ) ( t ) ( x − t ) k k ! ) ′ = ∑ k = 1 n f ( k ) ( t ) ( x − t ) k − 1 ( k − 1 ) ! − ∑ k = 1 n + 1 f ( k ) ( t ) ( x − t ) ( k − 1 ) ( k − 1 ) ! = − f ( n + 1 ) ( t ) ( x − t ) n n ! \begin{array}{l} &G^{\prime } \left ( t \right ) \\ =&-\sum_{k=0}^{n}\left ( \frac{f^{\left ( k \right ) }\left (t \right )\left ( x-t \right )^{k}}{k!} \right)^{\prime } \\ =&\sum_{k=1}^{n}\frac{f^{\left ( k \right ) }\left ( t \right )\left ( x-t \right )^{k-1} }{\left ( k-1 \right ) !}- \sum_{k=1}^{n+1} \frac{f^{\left ( k \right ) }\left ( t \right )\left ( x-t \right )^{\left ( k-1 \right )} }{\left ( k-1 \right )!}\\ =&-\frac{f^{\left ( n+1 \right ) }\left ( t \right )\left ( x-t \right )^{n} }{n!} \end{array} \\ ===G′(t)−∑k=0n(k!f(k)(t)(x−t)k)′∑k=1n(k−1)!f(k)(t)(x−t)k−1−∑k=1n+1(k−1)!f(k)(t)(x−t)(k−1)−n!f(n+1)(t)(x−t)n
H ′ ( t ) = − ( n + 1 ) ( x − t ) n H^{\prime } \left ( t \right ) =-\left ( n+1 \right )\left ( x-t \right )^{n} H′(t)=−(n+1)(x−t)n;
引用Cauchy中值定理, ∃ ξ ∈ ( x , x 0 ) \exists \xi \in \left ( x ,x_{0} \right ) ∃ξ∈(x,x0), r n ( x ) ( x − x 0 ) n + 1 = G ( x 0 ) H ( x 0 ) = G ( x 0 ) − G ( x ) H ( x 0 ) − H ( x ) = G ′ ( ξ ) H ′ ( ξ ) = f ( n + 1 ) ( ξ ) ( n + 1 ) ! ⇒ r n ( x ) = f ( n + 1 ) ( ξ ) ( x − x 0 ) n + 1 ( n + 1 ) ! \frac{r_{n}\left ( x \right ) }{\left ( x-x_{0} \right )^{n+1} } =\frac{G\left ( x_{0} \right ) }{H\left ( x_{0} \right ) }=\frac{G\left ( x_{0} \right )-G\left ( x \right ) }{H\left ( x_{0} \right )-H\left ( x \right ) }=\frac{G^{\prime }\left ( \xi \right ) }{H^{\prime }\left ( \xi \right ) }=\frac{f^{\left ( n+1 \right ) }\left ( \xi \right )}{\left ( n+1 \right )! }\Rightarrow r_{n}\left ( x \right )=\frac{f^{\left ( n+1 \right ) }\left ( \xi \right )\left ( x-x_{0} \right )^{n+1} }{\left ( n+1 \right ) !} (x−x0)n+1rn(x)=H(x0)G(x0)=H(x0)−H(x)G(x0)−G(x)=H′(ξ)G′(ξ)=(n+1)!f(n+1)(ξ)⇒rn(x)=(n+1)!f(n+1)(ξ)(x−x0)n+1。
相关文章:
微分学<6>——Taylor公式
索引 Taylor公式Taylor公式的定性分析定理6.1 Taylor公式(Peano余项) Taylor公式的定量分析定理6.2 Taylor公式(Lagrange余项) Taylor公式 Taylor公式的定性分析 定理6.1 Taylor公式(Peano余项) 若函数 f ( x ) f\left ( x \right ) f(x)在 x 0 x_{0} x0处的 n n n阶导数均…...
检索增强生成(RAG)应用的构建:LangChain与LlamaIndex的比较与选择
对于我要做RAG应用,我应该使用两者中的哪一个。或者说还是都使用? 在人工智能领域,检索增强生成(RAG)应用正变得越来越受欢迎,因为它们能够结合大型语言模型(LLMs)的自然语言处理能力…...
免费PDF转换和编辑工具 PDFgear 2.1.4
PDFgear是一款功能强大的 PDF 阅读及转换软件。 它支持多种文件格式的转换和编辑,同时还提供了丰富的功能模块,如签名、表单填写等,方便用户进行多样化的操作。 该软件界面简洁美观,操作简单易懂,适合不同层次的用户…...
uniapp,导航栏(切换项)有多项,溢出采取左滑右滑的形式展示
一、实现效果 当有多项的导航,或者说切换项,超出页面的宽度,我们采取可滑动的方式比较好一些!并且在页面右边加个遮罩,模拟最右边有渐变效果! 二、实现代码 html代码: <!-- 头部导航栏 --…...
计算机网络面经-什么是IPv4和IPv6?
前言 Internet协议(IP)是为连接到Internet网络的每个设备分配的数字地址。它类似于电话号码,是一种独特的数字组合,允许用户与他人通信。IP地址主要有两个主要功能。首先,有了IP,用户能够在Internet上被识别…...
彻底讲透:如何写sql能够有效的使用到复合索引?
在MySQL中,有效的使用复合索引需要确保查询条件按照索引定义的列顺序进行。以下是一个具体的例子: 假设我们有一个sales表,它有四个字段:customer_id、product_category、sale_date和amount。为了优化包含这些字段查询的性能&…...
在Spring Boot中如何处理跨域请求(CORS)?
什么是跨域? 跨域(Cross-Origin Resource Sharing,CORS)是一种机制,它允许在 Web 页面上运行的脚本能够请求从不同源(域名、协议或端口)的资源。在浏览器安全策略中,有一条称为同源…...
好就业三种专业#信息安全#云计算#网络工程
一、信息安全专业 根据2021年网络安全宣传周白皮书的观察结果,网络安全产业对于人才的需求正以高速增长的趋势呈现,当前网络安全行业存在着巨大的人才缺口,平均供求比例约为1:2。这一现象导致了资深人才的储备不足,并且新人才的培…...
electron-builder打包
打包配置: "build": {"appId": "cc11001100.electron.example-001", // 程序包名"copyright": "CC11001100", // 版权相关信息"productName": "example-001", // 安装包文件名"direct…...
SQLiteC/C++接口详细介绍sqlite3_stmt类(四)
返回:SQLite—系列文章目录 上一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(三) 下一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(五) 7. sqlite3_bind_parameter_count函数 sqlite3_bind_param…...
微信小程序自定义组件
微信小程序中的自定义组件是指在微信小程序中创建的可重用的、可复用的组件,它可以被多个页面使用。自定义组件可以帮助我们提高开发效率,提高代码的可维护性和可重用性。以下是微信小程序中自定义组件的使用方法: 一. 创建自定义组件 首先…...
python练习3
用户登录注册案例 while True: print("\t\t\t英雄商城登录界面\n") print("~*"*38) print("\t\t\t1.用户登录\n") print("\t\t\t2.用户注册\n") print("\t\t\t3.退出系统\n") print("~*"*38) choice input("…...
docker离线安装并修改存储目录
docker下载 根据cpu选择不同版本,正常x86就选x86_64 下载地址:https://download.docker.com/linux/static/stable/ docker安装 tar -zxvf arm-docker-25.0.4.tgz sudo cp docker/* /usr/bin/ rm -rf docker/* mkdir /etc/docker vi /etc/docker/daemo…...
【云原生 • Kubernetes】认识 k8s、k8s 架构、核心实战
文章目录 Kubernetes基础概念1. 是什么2. 架构2.1 工作方式2.2 组件架构 3. k8s组件创建集群步骤一 基础环境步骤二 安装kubelet、kubeadm、kubectl步骤三 主节点使用kubeadm引导集群步骤四 副节点加入主节点步骤五 部署dashboard Kubernetes核心实战1. 资源创建方式2. Namespa…...
墨菲安全在软件供应链安全领域阶段性总结及思考
向外看:墨菲安全在软件供应链安全领域的一些洞察、思考、行动 洞察 现状&挑战: 过去开发安全体系是无法解决软件供应链安全问题的;一些过去专注开发安全领域的厂商正在错误的引导行业用开发安全思维解决软件供应链安全问题,治…...
智慧公厕:卫生、便捷、安全的新时代厕所变革
在城市快速发展的背景下,公共厕所的建设和管理变得越来越重要。智慧公厕作为厕所变革的一项全新举措,通过建立公共厕所全面感知监测系统,以物联网、互联网、大数据、云计算、自动化控制技术为支撑,实现对公共厕所的智能化管理和运…...
Idea 不能创建JDK1.8的spring boot项目
由于https://start.springboot.io/ 不支持JDK1.8,那么我们需要换idea的springboot创建源,需要换成 https://start.aliyun.com,这也是网上大部分教程说的,但是我这边会报这样的错误: Initialization failed for https:…...
【docker】Docker学习收集
写在前面 新公司开发使用docker来部署和统一大家的开发环境,故再次记录好用的学习链接和自己遇到的奇怪问题 实用链接 Docker教程详细 常用命令 个例问题 Q: docker在终端多开,A终端的修改会影响B吗 A: 会...
LoRa模块在野外科研与环境保护中的角色:科技守护自然之宝
随着科技的不断发展,LoRa(低功耗广域网)模块在野外科研与环境保护中正发挥着越来越重要的作用。其卓越的通信能力、低功耗特性以及良好的穿透能力,为科学家和环保人士提供了一种先进的技术手段,有助于更深入、更全面地…...
全国媒体公关服务资源分析,媒体邀约资源包括哪些?-51媒体网
传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 全国媒体公关服务资源分析是一个涵盖多方面的复杂议题,主要涉及到不同媒体类型、传播渠道、以及公关策略等多个维度。在当前媒体环境下,媒体公关服务资源主要包括…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
