数值计算笔记之数值积分(一)

2023-11-13

目录

0、引言

一、数值积分的积分思想

1、中矩形公式

2、梯形公式

3、辛普森公式

二、求积公式的余项和代数精度

三、插值型求积公式

四、牛顿--柯特斯公式 (N-C公式)

五、复化求积法

1、复化梯形公式

2、复化辛普森公式 (要求 n 为偶数)

六、代码实现


0、引言

在高数中,可以根据 \int_{a}^{b}f(x)dx = F(b)-F(a),求得积分。但是如果f(x)存在以下两种情况:

  1. f(x)是离散函数
  2. 无法求得原函数F(x)

那么对于这种情况,就可以利用数值积分

所谓数值积分,指利用被积函数f(x)在有限个点上的函数值来计算积分近似值的一种方法。

一、数值积分的积分思想

积分中值定理: \int_{a}^{b}f(x)dx = (b-a)f(\xi ),\xi \in [a,b]

一重积分可以理解为求面积,积分中值定理可以看成:在x\in [a,b]上,函数f(x)x轴的面积等于以(b-a)为长,\xi \in [a,b]中一点函数值f(\xi )为宽的矩形的面积。

1、中矩形公式

                 \int_{a}^{b}f(x)dx \approx (b-a)\cdot f(\frac{a+b}{2})

2、梯形公式

                \int_{a}^{b}f(x)dx\approx (b-a)\cdot \frac{f(a)+f(b)}{2}

3、辛普森公式

               \int_{a}^{b}f(x)dx\approx (b-a)\cdot \frac{1}{6}[f(a)+4f(\frac{a+b}{2})+f(b)]

一般情况下,可用: f(\xi )\approx \sum_{k=0}^{n}w_{k}\cdot f(x_{k})

\Rightarrow \int_{a}^{b}f(x)dx = (b-a)\cdot f(\xi )\approx (b-a)\cdot \sum_{k=0}^{n}w_{k}\cdot f(x_{k}) = \sum_{k=0}^{n}A_{k}f(x_{k})  ,其中 A_{k}=(b-1)w_{k} 。

上式称为数值积分的基本公式,x_{k}称为求积节点,A_{k}称为求积系数

二、求积公式的余项和代数精度

1、余项

R\begin{bmatrix} f \end{bmatrix}=\int_{a}^{b}f(x)dx-\sum_{k=0}^{n}A_{k}\cdot f(x_{k})

2、代数精度

若数值积分公式对任意的 \leq m 次的代数多项式都准确成立,而对于x^{m+1}却不能成立,则称该数值积分公式的代数精度为 m 。

举个例子理解一下: 求梯形公式的代数精度。

解: \int_{a}^{b}f(x)dx\approx (b-a)\cdot \frac{f(a)+f(b)}{2}

  1. f(x)=1left = b-a = right
  2. f(x)=x,  left = \frac{1}{2}(b^{2}-a^{2})= right
  3. F(x)=x^{2}left =\frac{1}{3}(b^{3}-a^{3})   ;right = \frac{b-a}{2}(a^2+b^{2})  \therefore left \neq right

\therefore梯形公式的代数精度为1。

定理:含有 n+1 个节点的插值型数值积分公式的代数精度至少为 n 。

三、插值型求积公式

已知

x x_{0} x_{1} \cdots x_{n}
f(x) f(x_{0}) f(x_{1}) \cdots f(x_{n})

拉格朗日插值可表示为: L_{n}(x)=\sum_{k=0}^{n}f(x_{k})\cdot l_{k}(x)   ,l_{k}(x) = \prod_{j=0;j\neq k}^{n}\frac{x-x_{j}}{x_{k}-x_{j}}  为 基函数。

\therefore \int_{a}^{b}f(x)dx \approx \int_{a}^{b}L_{n}(x)\cdot dx

= \int_{a}^{b}\sum_{k}^{n}f(x_{k})\cdot l_{k}(x)\cdot dx

= \sum f(x_{k})\cdot \int_{a}^{b}l_{k}(x)dx

= \sum A_{k}\cdot f(x_{k})

即为 插值型求积公式。其中 A_{k}=\int_{a}^{b}l_{k}(x)dx

四、牛顿--柯特斯公式 (N-C公式)

牛顿-柯斯特求积公式是插值型求积公式特殊形式,在插值型求积公式中所取节点是等距时称为牛顿-柯斯特公式。

即,N-C公式为等距节点的插值型求积公式。

 

在[[a,b]区间内设置等距的插值节点a=x0<x<\cdots <x_{n}=b .

设节点步长为h=\frac{b-a}{n} 

则节点 x_{k}=a+k\cdot h ,(k=0,1,\cdots ,n)

\forall x\in [a,b] ,有 x = a+t\cdot h    (0\leq t\leq n)

则插值型求积系数:

A_{k}=\int_{a}^{b}l_{k}(x)dx =\int_{a}^{b}\prod_{j=0;j\neq k}^{n}\frac{x-x_{j}}{x_{k}-x_{j}}dx

= \int_{0}^{n}\prod_{j=0;j\neq k}^{n} \frac{(a+th)-(a+jh)}{(a+kh)-(a+jh)}\cdot hdt              变量由 x\rightarrow t ,所以变量范围由[a,b]\rightarrow [0,n]dx = h\cdot dt

=\int_{0}^{n}\prod_{j=0;j\neq k}^{n}\frac{t-j}{k-j}\cdot hdt

=\int_{0}^{n}\frac{1}{k(k-1)\cdots (k-(k-1))(k-(k+1))\cdots (k-n)}\prod_{j=0;j\neq k}^{n}(t-j)\cdot hdt    

=\int_{0}^{n}\frac{1}{k(k-1)\cdots 1(-1)(-2)\cdots (-(n-k))}\prod_{j=0;j\neq k}^{n}(t-j)\cdot hdt          ,与t无关的提到积分号之外

=\frac{h}{k(k-1)\cdots 1(-1)(-2)\cdots (-(n-k))}\int_{0}^{n}\prod_{j=0;j\neq k}^{n}(t-j)\cdot dt

=\frac{\frac{b-a}{n}}{k!(n-k)!}(-1)^{n-k}\int_{0}^{n}\prod_{j=0;j\neq k}^{n}(t-j)\cdot dt

=(b-a)\frac{(-1)^{n-k}}{k!(n-k)!\cdot n}\int_{0}^{n}\prod_{j=0;j\neq k}^{n}(t-j)\cdot dt

因为 \frac{(-1)^{n-k}}{k!(n-k)!\cdot n}\int_{0}^{n}\prod_{j=0;j\neq k}^{n}(t-j)\cdot dt 只与 k,n 有关,与 a,b,f(x),步长h均无关

而该表达式称之为柯斯特求积系数,记为

C_{k}^{(n)}=\frac{(-1)^{n-k}}{k!(n-k)!\cdot n}\int_{0}^{n}\prod_{j=0;j\neq k}^{n}(t-j)\cdot dt

\therefore 求积系数  A_{k} = (b-a)C_{k}^{(n)}

N-C公式为:\int_{a}^{b}f(x)dx = \sum_{k=0}^{n}A_{k}\cdot f(x_{k})=(b-a)\sum_{k=0}^{n}C_{k}^{(n)}\cdot f(x_{k})

1、n = 1 (梯形公式)

C_{k=0}^{(1)}=\frac{(-1)^{1-0}}{0!(1-0)!\cdot 1}\int_{0}^{1}(t-1)dt=\frac{1}{2}

C_{k=1}^{(1)}=\frac{(-1)^{1-1}}{1!(1-1)!\cdot 1}\int_{0}^{1}(t-0)dt=\frac{1}{2}

\therefore \int_{a}^{b}f(x)dx =(b-a)\cdot \frac{1}{2}\begin{bmatrix} f(a)+f(b) \end{bmatrix}       就变成了梯形公式

2、n = 2  (辛普森公式)

C_{k=0}^{2} = \frac{(-1)^{2-0}}{0!(2-0)!\cdot 2}\int_{0}^{2}(t-1)(t-2)dt = \frac{1}{6}   ,C_{k=1}^{2} = \frac{4}{6}   ,C_{k=2}^{2} = \frac{1}{6}

\therefore \int_{a}^{b}f(x)dx = (b-a)\begin{bmatrix} \frac{1}{6}f(x_{0}+\frac{4}{6}f(x_{1})+\frac{1}{6}f(x_{2}) \end{bmatrix}=\frac{(b-a)}{6} \begin{bmatrix} f(a)+4f(\frac{a+b}{2})+f(b) \end{bmatrix}          辛普森公式

3、n=4

\int_{a}^{b}f(x)dx = \frac{b-a}{90}[7f(x_{0})+ 32f(x_{1})+12f(x_{2})+32f(x_{3})+7(x_{4})]    ,其中 x_{k} = a+k\cdot \frac{b-a}{4}

五、复化求积法

        当积分区间较大时,C-N求积公式的误差会很大。为减少误差,可以考虑增加节点,但用高次多项式插值导出的公式稳定性不好。所以可以考虑用分段插值函数来代替被积函数。

       把[a,b]分成n 个区间[x_{k-1},x_{k}] (k=1,2,\cdots ,n),然后给每个区间上用低阶N-C公式求积(设为I_{k}),则

\int_{a}^{b}f(x)dx \approx \sum_{k=1}^{n}I_{k}

1、复化梯形公式

T_{n}= \frac{h}{2}[f(x_{0})+f(x_{1})] + \frac{h}{2}[f(x_{1})+f(x_{2})] + \cdots + \frac{h}{2}[f(x_{n-1})+f(x_{n})]

= \frac{h}{2}[f(a)+ 2\sum_{k=1}^{n-1}f(x_{k}) + f(b)]          ,其中h = \frac{b-a}{n}

拓展:变步长梯形公式

        定步长复化求积公式的一个明显缺点是:事先很难估计分划数n使结果达到预期精度。由于适当加密分点,精度会有所改善,为此采用自动加密分点的方法,并利用事后估计来控制加密次数,以判断是否达到预期精度,从而停止计算。

  1. 对所有已存在的子区间进行二分化,区间数由n变为2n
  2. 利用区间数为n时的积分值Tn以及新增的节点(即原来各子区间的中点)递推出区间数为2n时的积分值T2n
  3. 利用两次计算结果的差来估计误差,直到满足精度

公式如下:

T_{2n} = \frac{1}{2}(T_{n}(h) + H_{n}(h))     ,其中 H_{n}(h) = h\sum_{k=0}^{n-1}f(a+(k+\frac{1}{2})h)

2、复化辛普森公式 (要求 n 为偶数)

S_{n} = \frac{h}{3}[f(a) + 2\sum_{k=1}^{m-1}f(x_{2k}) + 4\sum_{k=1}^{m}f(x_{2k-1}) +f(b)]     ,其中m = \frac{n}{2}

六、代码实现

1、C++实现

先计算一个简单的,可以求原函数的。如  f(x) = \int_{1}^{2}\frac{1}{x} ,标准答案为 ln2 \approx 0.69314718  。程序运行结果为:

可以看出,复化公式的精度更高一些。

现在,如果要求原函数不可求的,如 f(x) = \int_{1}^{2}\frac{log(3+x^{2})}{1+x^{2}}      ,程序结果为:

C++代码:

main文件

#include<iostream>
#include"integral.h"
#include<iomanip>
using namespace std;

const double eps = 1e-8;

int main()
{
	double resultT = T(fun2,  1, 2);
	cout << "梯形公式计算结果" << "\t" << setprecision(8) << resultT << endl;

	double resultS = S(fun2, 1, 2);
	cout << "辛普森公式计算结果" << "\t" << setprecision(8) << resultS << endl;

	double resultTn = Tn(fun2, 1, 2, 100);
	cout << "复化梯形公式计算结果" << "\t" << setprecision(8) << resultTn << endl;

	double resultT2n = T2n(fun2, 1, 2, eps);
	cout << "变步长梯形公式计算结果" << "\t" << setprecision(8) << resultT2n << endl;

	cout << endl;
	double resultSn = Sn(fun2, 1, 2);
	cout << "复化辛普森公式计算结果" << "\t" << setprecision(8) << resultSn << endl;
}

.h头文件(积分实现部分)

#pragma once
#include<iostream>
using namespace std;
double fun1(double x) {
	double y = 1 / x;
	return y;
}
double fun2(double x) {
	double y = log(3 + pow(x,2)) / (1 + pow(x, 2));
	return y;
}


//梯形公式
double T(double(*f)(double), double a, double b) {
	double result = 0.0;
	result = 0.5 * (b - a) * (f(a) + f(b));
	return result;
}

//辛普森公式
double S(double(*f)(double), double a, double b) {
	double result = 0.0;
	result = 1 / 6.0 * (b - a) * ( f(a) + f(b) + 4 * f( (a + b) / 2.0) );
	return result;
}

//复化梯形公式
double Tn(double(*f)(double), double a, double b, int n) {
	double result = 0.0;
	double h = (b - a) / n;
	result = h / 2.0 * (f(a) + f(b));
	for (int k = 1; k < n; k++) {
		double x = a + k * h;
		result += h * f(x);
	}
	return result;
}

//变步长梯形积分
double T2n(double(*f)(double), double a, double b, double error) {
	int n = 1;   
	double h = (b - a) / n;
	double Tn = (f(a) + f(b)) * h / 2.0;  //计算 n=1 时的积分,粗略值
	double T2n;     //步长变为一半后的积分值
	bool key = false;
	do {    //至少循环一次
		double Hn = 0.0;
		for (int k = 0; k < n; k++) {
			double x = a + (k + 0.5) * h;
			Hn += h * f(x);
		}
		T2n = (Tn + Hn) / 2.0;
		//判断误差
		if (fabs(Tn - T2n) < error) {
			key = true;
		}
		else {
			Tn = T2n;
			n *= 2;
			h /= 2;
		}

	} while (!key);
	return T2n;
}

//复化辛普森公式
double Sn(double(*f)(double), double a, double b) {
	int n;
	cout << "正在使用复化辛普森公式,请输入分段个数n, 要求为偶数。 n =";
	cin >> n;
	/*cout << endl;*/
	while (n % 2) {
		cout << "输入n要求为偶数,请重新输入, n = ";
		cin >> n;
		cout << endl;
	}
	double result = 0.0;
	double h = (b - a) / n;
	result = h / 3.0 * (f(a) + f(b));
	for (int k = 1; k < n; k++) {
		double x = a + k * h;
		if (k % 2 == 0) {
			result += h / 3.0 * 2 * f(x);
		}
		else {
			result += h / 3.0 * 4 * f(x);
		}
	}
	return result;
}

2、matlab实现

matlab中自带了函数,例如, quadtx 函数、quadgui 函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数值计算笔记之数值积分(一) 的相关文章

  • 语言混合:模型和视图

    考虑开发一个应用程序 其中模型将使用 C 使用 Boost 编写 视图将使用 Objective C 使用 Cocoa Touch 编写 哪里有一些示例展示了如何集成 C 和 Objective C 来开发 iPhone 应用程序 直接从源
  • Dapper 强类型查询返回默认对象值

    刚刚开始使用 Dapper 并喜欢它 我遇到了问题 它返回正确数量的对象 但它们的属性都有默认值 using var dbConnection Connection await dbConnection OpenAsync const st
  • boost::interprocess 准备好迎接黄金时间了吗? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在开发一个由内存映射文件支持的线
  • 实体框架中的重复键异常?

    我试图捕获当我将具有给定用户名的现有用户插入数据库时 引发的异常 正如标题所说 我正在使用 EF 当我尝试将用户插入数据库时 引发的唯一异常是 UpdateException 如何提取此异常以识别其是否是重复异常或其他异常 catch Up
  • C/C++ 中随机数生成器的实现[重复]

    这个问题在这里已经有答案了 我对 C 中随机数生成器的实现有点困惑 它也与 C 中的明显不同 如果我理解正确 对 srand seed 的调用会以某种方式初始化可通过 rand 访问的隐藏变量 种子 该变量又将函数指向预先生成的序列 例如例
  • TestMethod:异步任务 TestSth() 不适用于 .NET 4.0

    我正在尝试使用 NET 4 0 BCL Async 和 MsTest 运行异步测试方法 看来这个设置不能处理 测试方法 异步Task测试Sth 由于测试用例资源管理器中缺少条目 将签名更改为异步后void 我可以运行测试用例 但结果错误 根
  • 如何在 C++ 的子目录中创建文件?

    这是我的代码 如何在子目录联系人中创建文件 每次创建该文件时 它都会出现在与我的程序相同的目录中 int main ofstream myfile contacts myfile open a myfile close 在构造函数中指定完整
  • C++ 模板参数类型推断

    我有一个这样的C 模板 template
  • initializer_list 和默认构造函数重载决策

    include
  • Type_traits *_v 变量模板实用程序顺序无法编译

    看过了这个答案 https stackoverflow com a 31763111 7151494 我试图想出一个变量模板从中获取代码的实用程序 template
  • 我们应该使用 Eval 还是 Databind 事件?

    当使用 Asp Net 并使用 ListView 等控件创建网站时 使用 Eval 命令是一个好习惯吗 还是应该在 databind 事件中填充文字和数据 取决于您是否想在更新事件上写回数据 在这种情况下数据绑定 如果您只想读取该数据 可以
  • 使用对象列表构建树

    我有一个带有属性 id 和parent id 的对象列表 我想建造一棵树来连接那些孩子和父母 1 个父对象可以有多个子对象 并且有一个对象将成为所有对象的祖先 实现该功能最快的算法是什么 我使用 C 作为编程语言 但其他语言也可以 像这样的
  • IEnumerable.比带中断的 for 循环更快吗?

    我们的代码打开表单时遇到了一些缓慢的情况 这可能是由于for循环与break这需要很长时间才能执行 我把它切换到IEnumerable Any 并看到表格很快打开 我现在试图弄清楚是否单独进行此更改会提高性能 或者是否正在访问Product
  • 如何使用eclipse构建C++应用程序

    我已经从以下位置下载了 Eclipse Juno for C here http www eclipse org downloads download php file technology epp downloads release ju
  • 如何在Linux上构建GLFW3项目?

    我已经使用 cmake 和 make 编译了 glfw3 和包含的示例 没有出现任何问题 开始编写我的第一个项目 作为 opengl 和 glfw 的新手 并且对 C 和 CMake 没有经验 我正在努力理解示例构建文件 甚至要链接哪些库和
  • 获取大于某个数字的元素个数

    我正在尝试解决以下问题 数字被插入到容器中 每次插入数字时 我需要知道容器中有多少元素大于或等于当前插入的数字 我相信这两个操作都可以以对数复杂度完成 我的问题 C 库中有标准容器可以解决这个问题吗 我知道std multiset可以在对数
  • Visual Studio 2015默认附加库

    当我在 VS 2015 中创建一个空项目时 它会自动将这些库放入 附加依赖项 中 kernel32 lib user32 lib gdi32 lib winspool lib comdlg32 lib advapi32 lib shell3
  • Crypto++ 和压缩 EC 密钥

    如何在 Crypto 中生成压缩的 ECDSA 密钥 AutoSeededRandomPool prng ECDSA
  • 编译器什么时候内联函数?

    在 C 中 函数仅在显式声明时才内联inline 或在头文件中定义 或者编译器是否允许内联函数 因为他们认为合适 The inline关键字实际上只是告诉链接器 或告诉编译器告诉链接器 同一函数的多个相同定义不是错误 如果您想在标头中定义函
  • 请解释为什么Java和C对此代码给出不同的答案

    public class Test public static void main String args int i 10 i i System out println value of i is i 输出是 10 当我在中执行类似的代码

随机推荐

  • C++初探 5-1(for循环)

    目录 注 for循环 for循环的组成部分 1 表达式和语句 2 非表达式和语句 3 修改规则 for循环的使用例 阶乘的计算与存储 修改循环更新的步长 使用for循环访问字符串 递增运算符 和 递减运算符 副作用和顺序点 前缀格式和后缀格
  • NoSQL简介和兴起的原因

    NoSQL简介和兴起的原因 NoSQL数据库具有以下几个特点 1 灵活的可扩展性 2 灵活的数据模型 3 与云计算紧密融合 怎么理解横向扩展和纵向扩展 纵向扩展 传统思想 把电脑的CPU配到顶配 内存扩展 硬盘扩大 就可以让单机更高效率地处
  • 用字节数截取字符串

    昨天去参加中科软的笔试 编程题有一道是关于字符串的 用字节数来截取字符串 如果出现中文被截断了 应该丢去中文的那个字节 如 String a 中aaa国ccc 截取6个字节的字符串 即 中aaa 国 的前一部分 设计一个函数 把截到的中文的
  • 电路设计中发光二极管用作指示灯时的限流电阻如何选择

    在设计电路时经常要用到发光二极管作为指示灯 按照网上所查到的限流电阻计算方法一般得到的限流电阻阻止在几十到一百多欧姆 电源为5V或者3 3V 但是在实际使用中我们一般使用的限流电阻不会这么小 下面是限流电阻的计算公式 R VCC VF IF
  • 表格单元格td设置宽度无效的解决办法

    http zzstudy offcn com archives 11366 在做table页面时 有时对td设置的宽度是无效的 td的宽度始终有内部的内容撑开 可以设置padding 但直接设置width却无效 下面我们来具体看下这个示例
  • 如何更好的理解PFC(功率因数校正)

    功率因数补偿 在上世纪五十年代 已经针对具有感性负载的交流用电器具的电压和电流不同相 图1 从而引起的供电效率低下提出了改进方法 由于感性负载的电流滞后所加电压 由于电压和电流的相位不同使供电线路的负担加重导致供电线路效率下降 这就要求在感
  • redis面试题(转)

    转自 https blog csdn net xiaozhegaa article details 80692017 1 什么是Redis Redis本质上是一个Key Value类型的内存数据库 很像memcached 整个数据库统统加载
  • CSerialPort教程4.3.x (5) - CSerialPort在cmake中的使用

    CSerialPort教程4 3 x 5 CSerialPort在cmake中的使用 环境 系统 windows 10 64位 QT 5 12 9 5 9及以上版本支持cmake构建 MFC vs2008 前言 CSerialPort项目是
  • Vsftp安装与配置

    在linux环境下 使用最多的FTP服务端软件就是Vsftpd 系统用户模式虽然可以控制访问 但是如果用户过多 就会影响服务器系统的管理 对服务器安全造成威胁 而且我们需要的仅仅是可以使用搭建在服务器的FTP服务而已 那么就需要我们设置虚拟
  • Elasticsearch实战(六)---高级搜索 boost控制权重实现搜索结果排名

    Elasticsearch实战 Boost 搜索结果排名 文章目录 Elasticsearch实战 Boost 搜索结果排名 1 Boost权重控制 1 1 准备数据 1 2 默认查询 1 3 boost控制修改权重 2 多Shard Bo
  • 十七、定时任务

    一 为什么需要定时任务 相关业务场景多 例如 1 凌晨一点进行相关数据同步 2 定时发送文章 3 半小时全量推送某些数据给用户 二 单机定时任务 Timer java util Timer是 JDK 1 3 开始就已经支持的一种定时任务的实
  • 多线程面试手撕题

    按序打印 我们提供了一个类 public class Foo public void one print one public void two print two public void three print three 三个不同的线程
  • 【雕爷学编程】Arduino动手做(93)--- 有关OLED屏的两个非常重要的知识点:像素点点阵和坐标系

    37款传感器与执行器的提法 在网络上广泛流传 其实Arduino能够兼容的传感器模块肯定是不止这37种的 鉴于本人手头积累了一些传感器和执行器模块 依照实践出真知 一定要动手做 的理念 以学习和交流为目的 这里准备逐一动手尝试系列实验 不管
  • Redis(一)单实例部署配置

    一 下载 安装 安装环境 CentOS 7 下载地址 http download redis io releases redis 4 0 11 tar gz 下载后通过FTP工具上传到服务器 app redis package 或者使用命令
  • 如何在Windows PowerShell中获取当前的用户名?

    本文翻译自 How do I get the current username in Windows PowerShell 如何在Windows PowerShell中获取当前的用户名 1楼 参考 https stackoom com qu
  • 第一章 Centos7.5介绍与安装部署-centos7.5知识

    一 历史发展 Linux 操作系统的鼻祖Unix 肯 汤姆逊和丹尼斯 里 奇于1969年在贝尔实验室建立了Unix操作系统 一款同时支持多人登录的操作系统 为了开发此系统他们发明了C语言 并于1983年俩人获得了图灵奖 GNU社区的建立 1
  • docker(二)基础命令

    一 docker命令 镜像 1 查看docker版本 docker v docker version decker info 可以查看所有运行容器的镜像数量 运行容器的版本 可以分配的CPU 总的内存等信息 docker的工作目录 var
  • 计算机网络期末复习总结大全(持续更新中)

    计算机网络知识点总结大全 第一章 概述 知识点1 第一次理论课 互联网的两个基本特点 联通性和资源共享 互联网 多个网络通过一些路由器相互连接起来 构成一个覆盖范围更大的计算机网络 即互联网 互联网不等于互连网 1969年ARPANET诞生
  • robot framework 使用四:分层设计和截图以及注意事项

    再说一下目前的主要环境信息和版本 操作系统 win7 64位 python版本 2 7 6 RIDE版本 1 2 3 selenium2library 1 5 0 selenium 2 40 0 pip 1 5 4 setuptools 0
  • 数值计算笔记之数值积分(一)

    目录 0 引言 一 数值积分的积分思想 1 中矩形公式 2 梯形公式 3 辛普森公式 二 求积公式的余项和代数精度 三 插值型求积公式 四 牛顿 柯特斯公式 N C公式 五 复化求积法 1 复化梯形公式 2 复化辛普森公式 要求 n 为偶数