人工智能数学基础---不定积分4:有理函数求积分的方法

article/2025/8/21 19:15:07

一、引言

在《人工智能数学基础–不定积分2:利用换元法求不定积分》、《人工智能数学基础—不定积分3:分部积分法》分别介绍了换元积分法和分步积分法。但有些函数表达式很复杂,如果直接用换元积分法和分步积分法不好计算积分,这时需要先对函数进行化简。本文介绍的有理函数求积分就是一种化繁为简的不定积分计算方法。

二、有理函数的概念

2.1、定义

两个多项式的商P(x)/Q(x)称为有理函数,又称为有理分式

2.2、补充说明

  1. 上述定义假设P(x)、Q(x)之间没有公因式,因为有就可以相约去除;
  2. 当分子多项式P(x)的次数(变量的最高幂次)小于分母多项式Q(x)的次数,则称有理函数为真分式,否则称为假分式
  3. 利用多项式的除法,总可以将一个假分式化为一个多项式和一个真分式的和;
  4. 对于真分式P(x)/Q(x),如果分母Q(x)可以分解为两个多项式的乘积Q1(x)Q2(x),即Q(x)=Q1(x)Q2(x),且Q1(x)、Q2(x)没有公因式,则真分式P(x)/Q(x)可以拆分成两个真分式之和,即:P(x)/Q(x) = P1(x)/Q1(x)+P2(x)/Q2(x)。这个过程称为把真分式化成部分分式之和。如果Q1(x)或Q2(x)还可以分解成两个公因式的多项式的乘积,那么可以再拆分成更简单的部分分式。
  5. 经过真分式化成部分分式之和的处理后,最后有理函数的分解式中只会出现多项式、P1(x)/(x-a)k、P2(x)/(x2+px+q)l等三类函数(这里p2 - 4q<0,P1(x)为小于k次的多项式,P2(x)为小于2l次的多项式)。多项式的积分利用不定积分的加法运算即可以化成每个项的积分,就可以比较容易求出。

思考:学这里时,老猿在想为什么有理函数就可以化为这三种类型的函数呢?仔细想了下,应该是如下理由:

  1. 多项式以及后面两个真分式的分子就不用说了,主要是后面两个真分式的分母为什么是那样的;
  2. 任何一个变量的n次多项式,其构成起决定作用的是其最高次数n,而任何一个整数n,都可以表示成一个整数和一个偶数的和,因此才有这两种形式的分母。

三、真分式的求解积分方法

先看2个例题:
在这里插入图片描述

在这里插入图片描述
从以上两个例题可以看到,老猿总结真分式求积分的步骤如下:

  1. 首先将分母化解为n个没有公因式的多项式的乘积;
  2. 将化解后的有理函数拆分成n个真分式的和,每个真分式的分母为上述n个多项式中的一个,分子为比分母低一次的带未知系数的完整多项式;
  3. 根据被积函数与上述n个真分式相等的关系,得到变量的每次系数之间的关系,通过这个关系求出所有未知系数,将其带入到步骤2中的n个真分式中,即将原有理函数求积分化为了n个真分式的和求积分;
  4. 利用积分加法运算针对每个真分式求积分,得到最后的积分结果。

四、部分非有理函数化为有理函数求积分

有理数函数求积分的方法,不只是能应用于有理函数,也可以应用于用换元法等方法可化为有理函数的的部分函数。

4.1、三角函数案例

在这里插入图片描述
小结:可以看到,通过将三角函数进行u=tan(x/2)的换元,就可以将由三角函数组成的类似有理式的积分计算转换成有理函数的方式来计算,最后结果再将变量x=2arctan u替换回来即可,这种处理方式对三角函数类似有理式的积分都可以应用。

注意:当变量x∈((2k-1)π,(2k+1)π)时,作变换u=tan((x-2kπ)/2)=tan(x/2),x=2kπ+2arctan u,一样可以应用有理分式求积分。

4.2、n次开方案例

案例1:

在这里插入图片描述

案例2:

在这里插入图片描述
小结:通过上面的案例可以看到,如果被积函数中含有简单根式,可以通过将简单根式设为u,从而将被积函数化为有理分式,用该有理分式求出积分,再用u到x的反变换将结果代换,就可以求得这种带根式的函数积分。

五、小结

本文介绍了有理函数的概念及有理函数求积分的方法,并对于类似有理函数的三角函数形式的被积函数和带根式的被积函数,通过适当地换元变换化为有理函数求积分。

说明:

本文内容是老猿学习同济版高数的总结,有需要原教材电子版以及OpenCV、Python基础知识、、图像处理原理介绍相关电子资料,或对文章内有有疑问咨询的,请扫博客首页左边二维码加微信公号,根据加微信公号后的自动回复操作。

更多人工智能数学基础请参考专栏《人工智能数学基础》。

写博不易,敬请支持:

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

关于老猿的付费专栏

  1. 付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
  2. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
  3. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录 》
  4. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取CSDN文章信息、博主信息、给文章点赞、评论等实战内容。

前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

老猿Python,跟老猿学Python!

☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░


http://chatgpt.dhexx.cn/article/KZ3fgOnG.shtml

相关文章

求积分方法及积分知识点-----专升本

求积分 一般&#xff08;常见&#xff09;求不定积分方法 一般&#xff08;常见&#xff09;定积分方法 带三角函数的求积分 凑微分法&#xff0c;拆开&#xff0c;三角代换&#xff0c;分部积分&#xff0c;整体法&#xff0c; 倒三角变正三角&#xff0c;奇拆偶降 几分之一圆…

二维数组、指针详解

二维数组、指针详解&#xff1a; 目录 二维数组、指针详解&#xff1a; 1.研究二维数组的表示。 2.现在研究关于二维数组和指针的关系 1.研究二维数组的表示。 首先&#xff0c;用代码运行进行测试&#xff0c;验证的相关结果&#xff0c; // C.cpp : 定义控制台应用程序…

二维数组与指针

转载自&#xff1a;https://www.cnblogs.com/chenyangyao/p/5222696.html 声明&#xff1a;本文为原创博文&#xff0c;如有转载&#xff0c;请注明出处。若本文有编辑错误、概念错误或者逻辑错误&#xff0c;请予以指正&#xff0c;谢谢。 指针与数组是C/C编程中非常重要的元…

二维数组指针,指针数组与数组指针的区别,一看就懂

目录 一.二维数组基本概念 二.指针数组和数组指针的区别 1.数组指针 2.指针数组 3.总结 三.二维数组的首地址和数组名 四.二维数组如何运用指针&#xff1f; 五.代码分析,加深了解。 一.二维数组基本概念 二维数组在概念上是二维的&#xff0c;有行和列&#xff0c;但在…

二维数组与数组指针详解

二维数组 深入理解二维数组 首先定义一个二维数组 int a[2][3]{{1,2,3},{4,5,6}}; #or int a[2][2]{1,2,3,4};新的理解&#xff1a;我们可以这样认为&#xff0c;a可以看作是一个一维数组&#xff0c;包含2个元素&#xff0c;每个元素恰好是包含3个整型的元素&#xff0c;a这个…

c语言——二维指针数组

1 一维度数组与指针 1.1一维数组元素在内存分布 #include<stdio.h> #include<stdlib.h> #include<string.h>#define ARRAY_SIZE 8void main() {int data[ARRAY_SIZE]{0,1,2,3,4,5,6,7};int i;printf("data address:0x%-8x\r\n",data);for(i0; i&l…

c++二维数组指针

&#xff11;.定义指针指向二维数组 为了方便根据用户输入动态定义二维数组的行和列&#xff0c;引入变量rowsNum(行)&#xff0c;colsNum(列&#xff09;。 以定义&#xff15;行&#xff14;列的二维数组为例&#xff0c; int rowsNum 4;int colsNum 5;float** a new fl…

二维数组名是指针的指针吗?

我们知道一维数组名是常量指针&#xff0c;我们可以将一维数组名赋给一个指针类型再对一维数组进行相关的操作&#xff0c;那二维数组名又是什么&#xff1f; 我们这样初始化一个二维数组int A[3][3]{1,2,3,4,5,6,7,8}或者为int A[3][3]{ {1,2,3},{4,5,6}&#xff0c;{7,8,9}}…

c++二维数组中指针详解

二维数组 a[2][3]{{1,2,3},{4,5,6}};指针p有如下几种表达形式&#xff1a; 1 方式一&#xff1a;int (*p)[3]a (或&a[0]&#xff09;; 一定要加上括号&#xff0c;因为[]的优先级高于*&#xff1b;意思是定义一个指向3个int类型变量的指针。p代表二维数组中第一个…

C语言 二维数组和指针

二维数组可以看成是元素为一维数组的数组&#xff0c;假设有一个三行四列的二维数组a&#xff0c;它定义为&#xff1a; int a[3][4] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; a 是二维数组名。a 数组包含 3 行&#xff0c;即 3 个行元素&#xff1a;a[0]&#xff0c;a[1]…

C/C++指向二维数组的指针

1. 二维数组 设有整型二维数组a[3][4]如下&#xff1a;     0 1 2 3     4 5 6 7     8 9 10 11   它的定义为&#xff1a;       int a[3][4]{{0,1,2,3},{4,5,6,7},{8,9,10,11}}  设数组a的首地址为1000&#xff0c;各下标变量的首地址及其值如图所…

二维数组与二级指针

关于二维数组与二级指针那些你必须知道的事 首先,来看一个例子一个error嗯,我是解析指针数组与数组指针 首先,来看一个例子 #include <iostream>using namespace std;int main(void) {int **p;pnew int*[5];for(int i0;i<5;i){p[i]new int[5];}return 0; }不严格地说…

C语言二维数组指针用法

目录 题目 背景概念梳理 一维线性 数组指针 指针步长 数组名与指向其的指针变量名等价 数组的初始化与取元素 数组指针转换关系 解题过程 选项A&#xff1a;* (( * prt1)[2]) 选项B&#xff1a;* ( * (p5)) 选项C&#xff1a;( * prt1)2 选项D&#xff1a; * ( * (…

二维数组指针表示,C语言指针引用二维数组详解

指针变量可以指向一维数组中的元素&#xff0c;当然也就可以指向二维数组中的元素。但是在概念和使用方法上&#xff0c;二维数组的指针比一维数组的指针要复杂一些。要理解指针和二维数组的关系首先要记住一句话&#xff1a;二维数组就是一维数组&#xff0c;这句话该怎么理解…

C语言二维数组指针(指向二维数组的指针)详解

声明&#xff01;本文转载仅为方便学习使用&#xff01; 如有需要&#xff0c;请访问C语言指针数组&#xff08;数组每个元素都是指针&#xff09;详解C语言二维数组指针&#xff08;指向二维数组的指针&#xff09;详解 二维数组在概念上是二维的&#xff0c;有行和列&#x…

c语言 二维数组指针

文章目录 前言一、二维数组指针的定义&#xff1a;二、二维数组指针遍历数组元素&#xff1a;总结 前言 前面我们讲了一维数组指针&#xff0c;今天我们讲一下二维数组指针。 一、二维数组指针的定义&#xff1a; 概述&#xff1a; 二维数组指针的定义就是把一维数组换成二维…

关于二维数组,二维数组指针

最近学习指针&#xff0c;一不小心就掉进了二维数组指针的坑里面&#xff0c;在迷惑了接近一个星期后&#xff0c;我有了以下的总结。&#xff08;希望有大佬看见了能指点指点&#xff0c;我也不知道这么理解到底对不对&#xff0c;虽然我觉得是对的&#xff09; 这是我一开始…

二维数组与指针的关系详解

静态二维数组与指针 我们定义一个二维数组int a[4][3]。 二维数组实际是由多个一维数组组成&#xff0c;在这里&#xff0c;a[3][4]就是由3个长度为4的一维数组组成的二维数组。并且它们在空间上是连续的&#xff0c;相当于一个长为12的一维数组。 这里a&#xff0c;a[i]全部…

二维数组与指针(详解)

如果对字符串和二维数组有基本概念可以直接跳去看他们的关系及使用 于4.3 00:08修改&#xff0c;改正了之前文章中错误的观点&#xff0c;修改了一些低级错误 欢迎大家在文章下留言 于21-05-19 22:37再次更新,前几天有个同学问了我这么个问题&#xff0c;我觉得是一个非常好的…

C/C++二维数组指针(指向二维数组的指针)详解

多维数组与指针 用指针变量可以指向一维数组中的元素&#xff0c;也可以指向多维数组中的元素。1) 多维数组元素的地址 设有一个二维数组 a&#xff0c;它有 3 行 4 列。它的定义为&#xff1a; int a[3][4]{{1,3,5,7},{9,11,13,15},{17,18,21,23}}; a 是一个数组名。a 数…