LU分解(LU Factorization)计算方法(手算+MATLAB),关于置换矩阵(Permutation Matrix),部分主元消去法(Partial Pivoting)

2023-11-12

背景:

  求解一些列具有相同系数矩阵的线性方程,如: A x = b 1 Ax=b_1 Ax=b1 A x = b 2 Ax=b_2 Ax=b2,… A x = b p Ax=b_p Ax=bp等。当矩阵 A A A可逆时,可以先求出矩阵 A A A的逆 A − 1 A^{-1} A1,再计算 A − 1 b 1 A^{-1}b_1 A1b1 A − 1 b 2 A^{-1}b_2 A1b2等。

  但是,也可以用LU分解法来解这一系列方程:先使用初等行变换化简解出 A x = b 1 Ax=b_1 Ax=b1,并同时得到矩阵 A A A的LU分解,剩下的方程使用LU分解法求解即可。

方法:

  设矩阵 A A A m × n m \times n m×n的矩阵,它可以使用行变换(不进行行的交换)化简为阶梯阵,则矩阵 A A A可以写成 A = L U A=LU A=LU的形式。 L L L m × m m\times m m×m的单位下三角矩阵(即主对角线元素全为1的下三角矩阵); U U U m × n m\times n m×n的上三角阶梯形矩阵。

用途

  当 A = L U A=LU A=LU时,方程 A x = b Ax=b Ax=b可以写成 L ( U x ) = b L(Ux)=b L(Ux)=b,令 U x = y Ux=y Ux=y,则有:
L y = b U x = y Ly=b \qquad Ux=y Ly=bUx=y

  即先求解 L y = b Ly=b Ly=b得到 y y y,再求解 U x = y Ux=y Ux=y得到 x x x,因为矩阵 L L L U U U都是三角矩阵,所以求解上述两个方程比直接求解 A x = b Ax=b Ax=b要简单。

例题

(1)对矩阵 A = [ − 5 3 4 10 − 8 − 9 15 1 2 ] A=\begin{bmatrix}-5&3&4\\10&-8&-9\\15&1&2\end{bmatrix} A=51015381492进行LU分解。
解:
A = [ − 5 3 4 10 − 8 − 9 15 1 2 ] A=\begin{bmatrix}-5&3&4\\10&-8&-9\\15&1&2\end{bmatrix} A=51015381492有3行,所以, L L L矩阵应该为 3 × 3 3\times 3 3×3的矩阵。

先求 U U U矩阵:

先把矩阵 A A A一步步消成上三角矩阵就能得到 U U U矩阵:

A = [ − 5 3 4 10 − 8 − 9 15 1 2 ] → [ − 5 3 4 0 − 2 − 1 0 10 14 ] → [ − 5 3 4 0 − 2 − 1 0 0 9 ] = U A=\begin{bmatrix}-5&3&4\\10&-8&-9\\15&1&2\end{bmatrix}\rightarrow \begin{bmatrix}-5&3&4\\0&-2&-1\\0&10&14\end{bmatrix}\rightarrow \begin{bmatrix}-5&3&4\\0&-2&-1\\0&0&9\end{bmatrix}=U A=5101538149250032104114500320419=U

再求 L L L矩阵:

把上面消元过程中的主元列的主元及其下面的元素都放入一个矩阵,然后每列除以此列的主元即得到 L L L矩阵:

[ − 5 0 0 10 − 2 0 15 10 9 ] → [ 1 0 0 − 2 1 0 − 3 − 5 1 ] = L \begin{bmatrix}-5&0&0\\10&-2&0\\15&10&9\end{bmatrix}\rightarrow \begin{bmatrix}1&0&0\\-2&1&0\\-3&-5&1\end{bmatrix}=L 510150210009123015001=L

(-5, 10, 15这一列每个元素除以主元-5;-2,10这一列每个元素除以主元-2;9这一列每个元素除以主元9,即得到 L L L矩阵)

验算:
L U = [ 1 0 0 − 2 1 0 − 3 − 5 1 ] [ − 5 3 4 0 − 2 − 1 0 0 9 ] = [ − 5 3 4 10 − 8 − 9 15 1 2 ] = A LU=\begin{bmatrix}1&0&0\\-2&1&0\\-3&-5&1\end{bmatrix}\begin{bmatrix}-5&3&4\\0&-2&-1\\0&0&9\end{bmatrix}=\begin{bmatrix}-5&3&4\\10&-8&-9\\15&1&2\end{bmatrix}=A LU=123015001500320419=51015381492=A

所以上述分解是正确的。

(2)对矩阵 A = [ 2 4 − 1 5 − 2 − 4 − 5 3 − 8 1 2 − 5 − 4 1 8 − 6 0 7 − 3 1 ] A=\begin{bmatrix}2&4&-1&5&-2\\-4&-5&3&-8&1\\2&-5&-4&1&8\\-6&0&7&-3&1\end{bmatrix} A=24264550134758132181进行LU分解。

解:
A = [ 2 4 − 1 5 − 2 − 4 − 5 3 − 8 1 2 − 5 − 4 1 8 − 6 0 7 − 3 1 ] A=\begin{bmatrix}2&4&-1&5&-2\\-4&-5&3&-8&1\\2&-5&-4&1&8\\-6&0&7&-3&1\end{bmatrix} A=24264550134758132181有4行,所以, L L L矩阵应该为 4 × 4 4\times 4 4×4的矩阵, L L L矩阵的第一列应该是矩阵 A A A的第一列除以其主元元素(2)的结果:

L = [ 1 0 0 0 − 2 1 0 0 1   1 0 − 3     1 ] L=\begin{bmatrix}1&0&0&0\\-2&1&0&0\\1&\space&1&0\\-3&\space&\space&1\end{bmatrix} L=121301  001 0001

先求 U U U矩阵:

先把矩阵 A A A一步步消成上三角矩阵就能得到 U U U矩阵:

A = [ 2 4 − 1 5 − 2 − 4 − 5 3 − 8 1 2 − 5 − 4 1 8 − 6 0 7 − 3 1 ] → [ 2 4 − 1 5 − 2 0 3 1 2 − 3 0 − 9 − 3 − 4 10 0 12 4 12 − 5 ] → [ 2 4 − 1 5 − 2 0 3 1 2 − 3 0 0 0 2 1 0 0 0 4 7 ] → [ 2 4 − 1 5 − 2 0 3 1 2 − 3 0 0 0 2 1 0 0 0 0 5 ] = U A=\begin{bmatrix}2&4&-1&5&-2\\-4&-5&3&-8&1\\2&-5&-4&1&8\\-6&0&7&-3&1\end{bmatrix}\rightarrow \begin{bmatrix}2&4&-1&5&-2\\0&3&1&2&-3\\0&-9&-3&-4&10\\0&12&4&12&-5\end{bmatrix}\rightarrow \begin{bmatrix}2&4&-1&5&-2\\0&3&1&2&-3\\0&0&0&2&1\\0&0&0&4&7\end{bmatrix}\rightarrow \begin{bmatrix}2&4&-1&5&-2\\0&3&1&2&-3\\0&0&0&2&1\\0&0&0&0&5\end{bmatrix}=U A=24264550134758132181200043912113452412231052000430011005224231720004300110052202315=U

再求 L L L矩阵:

把上面消元过程中的主元列的主元及其下面的元素都放入一个矩阵,然后每列除以此列的主元就得到 L L L矩阵:

[ 2 0 0 0 − 4 3 0 0 2 − 9 2 0 − 6 12 4 5 ] → [ 1 0 0 0 − 2 1 0 0 1 − 3 1 0 − 3 4 2 1 ] = L \begin{bmatrix}2&0&0&0\\-4&3&0&0\\2&-9&2&0\\-6&12&4&5\end{bmatrix}\rightarrow \begin{bmatrix}1&0&0&0\\-2&1&0&0\\1&-3&1&0\\-3&4&2&1\end{bmatrix}=L 242603912002400051213013400120001=L

(2,-,4, 2, -6这一列每个元素除以主元2;3,-9,12这一列每个元素除以主元3;2,4这一列每个元素除以主元2,5这一列除以主元5,即得到 L L L矩阵)

验算:
L U = [ 1 0 0 0 − 2 1 0 0 1 − 3 1 0 − 3 4 2 1 ] [ 2 4 − 1 5 − 2 0 3 1 2 − 3 0 0 0 2 1 0 0 0 0 5 ] = [ 2 4 − 1 5 − 2 − 4 − 5 3 − 8 1 2 − 5 − 4 1 8 − 6 0 7 − 3 1 ] = A LU=\begin{bmatrix}1&0&0&0\\-2&1&0&0\\1&-3&1&0\\-3&4&2&1\end{bmatrix}\begin{bmatrix}2&4&-1&5&-2\\0&3&1&2&-3\\0&0&0&2&1\\0&0&0&0&5\end{bmatrix}=\begin{bmatrix}2&4&-1&5&-2\\-4&-5&3&-8&1\\2&-5&-4&1&8\\-6&0&7&-3&1\end{bmatrix}=A LU=121301340012000120004300110052202315=24264550134758132181=A

所以上述分解是正确的。

关于MATLAB中的LU分解函数

  MATLAB中提供了LU分解的函数lu( ),有两种用法,一种是返回三个矩阵(L,U和置换矩阵P),一种是只返回L和U矩阵。例如:

F =
     1     3     0
     4     4     8
     1     2     3

>> [L1 U1 P] = lu(F)  //使用MATLAB内置的lu( )函数求矩阵F的LU分解,返回三个矩阵L,U和P的用法
L1 =
    1.0000         0         0
    0.2500    1.0000         0
    0.2500    0.5000    1.0000

U1 =
     4     4     8
     0     2    -2
     0     0     2
P =
     0     1     0
     1     0     0
     0     0     1

>> [L2 U2] = lu(F) //使用MATLAB内置的lu( )函数求矩阵F的LU分解,返回2个矩阵L和U的用法
L2 =
    0.2500    1.0000         0
    1.0000         0         0
    0.2500    0.5000    1.0000
U2 =
     4     4     8
     0     2    -2
     0     0     2

对于上述矩阵 F = [ 1 3 0 4 4 8 1 2 3 ] F=\begin{bmatrix}1&3&0\\4&4&8\\1&2&3\end{bmatrix} F=141342083,手动LU分解为:

L U = [ 1 0 0 4 1 0 1 1 8 1 ] [ 1 3 0 0 − 8 8 0 0 2 ] = [ 1 3 0 4 4 8 1 2 3 ] = F LU=\begin{bmatrix}1&0&0\\4&1&0\\1&\frac{1}{8}&1\end{bmatrix}\begin{bmatrix}1&3&0\\0&-8&8\\0&0&2\end{bmatrix}=\begin{bmatrix}1&3&0\\4&4&8\\1&2&3\end{bmatrix}=F LU=1410181001100380082=141342083=F

上面MATLAB第一种方法(L1,U1和P三个矩阵)算出来的结果:

L 1 U 1 = [ 1 0 0 1 4 1 0 1 4 1 2 1 ] [ 4 4 8 0 2 − 2 0 0 2 ] = [ 4 4 8 1 3 0 1 2 3 ] ≠ F L_1U_1=\begin{bmatrix}1&0&0\\\frac{1}{4}&1&0\\\frac{1}{4}&\frac{1}{2}&1\end{bmatrix}\begin{bmatrix}4&4&8\\0&2&-2\\0&0&2\end{bmatrix}=\begin{bmatrix}4&4&8\\1&3&0\\1&2&3\end{bmatrix}\neq F L1U1=141410121001400420822=411432803=F

MATLAB第二种方法(L2和U2 两个矩阵)算出来的结果:

L 2 U 2 = [ 1 4 1 0 1 0 0 1 4 1 2 1 ] [ 4 4 8 0 2 − 2 0 0 2 ] = [ 1 3 0 4 4 8 1 2 3 ] = F L_2U_2=\begin{bmatrix}\frac{1}{4}&1&0\\1&0&0\\\frac{1}{4}&\frac{1}{2}&1\end{bmatrix}\begin{bmatrix}4&4&8\\0&2&-2\\0&0&2\end{bmatrix}=\begin{bmatrix}1&3&0\\4&4&8\\1&2&3\end{bmatrix}=F L2U2=411411021001400420822=141342083=F

  可见输出两个矩阵的方法得到LU矩阵是正确的,第一种方法得到的 L 1 U 1 ≠ F L_1U_1\neq F L1U1=F。两种方法得到的LU矩阵都和手动算的结果不一样。

原因:

  第一种方法:输入[L1 U1 P] = lu(F)命令的时候,MATLAB首先生成 P F = [ 4 4 8 1 3 0 1 2 3 ] PF=\begin{bmatrix}4&4&8\\1&3&0\\1&2&3\end{bmatrix} PF=411432803,其中 P P P为置换矩阵(Permutation Matrix), P = [ 0 1 0 1 0 0 0 0 1 ] P=\begin{bmatrix}0&1&0\\1&0&0\\0&0&1\end{bmatrix} P=010100001,所以,这种方法求得的分解是 L 1 U 1 = P F L_1U_1=PF L1U1=PF而不是 L 1 U 1 = F L_1U_1=F L1U1=F

  第二种方法:输入[L2 U2] = lu(F)命令的时候,算出来的 U 2 U_2 U2矩阵和第一种方法一样(但是和手算的不一样);算出来的 L 2 L_2 L2矩阵其实是 L 2 = P T L 1 L_2=P^TL_1 L2=PTL1,即:

L 2 = [ 1 4 1 0 1 0 0 1 4 1 2 1 ] = P T L 1 = [ 0 1 0 1 0 0 0 0 1 ] [ 1 0 0 1 4 1 0 1 4 1 2 1 ] L_2=\begin{bmatrix}\frac{1}{4}&1&0\\1&0&0\\\frac{1}{4}&\frac{1}{2}&1\end{bmatrix}=P^TL_1=\begin{bmatrix}0&1&0\\1&0&0\\0&0&1\end{bmatrix}\begin{bmatrix}1&0&0\\\frac{1}{4}&1&0\\\frac{1}{4}&\frac{1}{2}&1\end{bmatrix} L2=411411021001=PTL1=010100001141410121001

第二种方法算出来的 L 2 U 2 = F L_2U_2=F L2U2=F是成立的。

关于置换矩阵(Permutation Matrix)

  上MATLAB计算LU分解时,两种方法都用到了置换矩阵 P P P
  置换矩阵是(0,1)矩阵,即只有0和1两种元素的矩阵,其作用是让矩阵的行进交换的矩阵。置换矩阵 P P P是改变相应阶数的单位矩阵得到的,例如对单位矩阵 I I I交换第一第二行得到 P 21 = [ 0 1 0 1 0 0 0 0 1 ] P_{21}=\begin{bmatrix}0&1&0\\1&0&0\\0&0&1\end{bmatrix} P21=010100001,那么得到的置换矩阵 P 21 P_{21} P21的功能就是,使得和它相乘的矩阵也交换第一第二行。

  例如: P 21 = [ 0 1 0 1 0 0 0 0 1 ] P_{21}=\begin{bmatrix}0&1&0\\1&0&0\\0&0&1\end{bmatrix} P21=010100001对于上述矩阵 F = [ 1 3 0 4 4 8 1 2 3 ] F=\begin{bmatrix}1&3&0\\4&4&8\\1&2&3\end{bmatrix} F=141342083,让 P 21 P_{21} P21乘以 F F F就是把 F F F的第二行和第一行交换:
P 21 F = [ 0 1 0 1 0 0 0 0 1 ] [ 1 3 0 4 4 8 1 2 3 ] = [ 4 4 8 1 3 0 1 2 3 ] P_{21}F=\begin{bmatrix}0&1&0\\1&0&0\\0&0&1\end{bmatrix}\begin{bmatrix}1&3&0\\4&4&8\\1&2&3\end{bmatrix}=\begin{bmatrix}4&4&8\\1&3&0\\1&2&3\end{bmatrix} P21F=010100001141342083=411432803

  类似的,还有:

P 32 = [ 1 0 0 0 0 1 0 1 0 ] P_{32}=\begin{bmatrix}1&0&0\\0&0&1\\0&1&0\end{bmatrix} P32=100001010

P 31 = [ 0 0 1 0 1 0 1 0 0 ] P_{31}=\begin{bmatrix}0&0&1\\0&1&0\\1&0&0\end{bmatrix} P31=001010100

关于部分主元消去法(Partial Pivoting)

  部分主元消去法在求解线性系统时常被用到(如LU分解和使用A\b A x = b Ax=b Ax=b等),在计算机的浮点数计算中能提高精确度

  例如,上述第一种方法求LU分解时,对于矩阵 F = [ 1 3 0 4 4 8 1 2 3 ] F=\begin{bmatrix}1&3&0\\4&4&8\\1&2&3\end{bmatrix} F=141342083,MATLAB首先生成 P F = [ 4 4 8 1 3 0 1 2 3 ] PF=\begin{bmatrix}4&4&8\\1&3&0\\1&2&3\end{bmatrix} PF=411432803,把 F F F的第一第二行进行交换,让第一列最大的元素4放在主元位置。

  类似的,使用部分主元消去法时,每一行主元位置的元素与其下面的元素中最大的元素放在主元位置(使用行交换将最大的元素换到主元位置),后面使用高斯消元法,这就是部分主元消去法。所以,上面求解中MATLAB使用部分主元消去法时,先使用置换矩阵 P P P来调整主元使之最大,然后再求解。

  部分主元消去法就是多了一个把最大的值调到主元位置的操作,却能提高计算精度。

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

LU分解(LU Factorization)计算方法(手算+MATLAB),关于置换矩阵(Permutation Matrix),部分主元消去法(Partial Pivoting) 的相关文章

  • matlab 中的 for 或 while 循环

    我刚刚开始在编程课的 matlab 中使用 for 循环 基本的东西对我来说很好 但是我被要求 使用循环创建一个 3 x 5 矩阵 其中每个元素的值是其行号其列号除以行号和列号之和的幂 例如元素 2 3 的值为 2 3 2 3 1 6 那么
  • 如何使用神经网络保存 Sift 特征向量进行分类

    SIFT 特征的 Matlab 实现发现于http www cs ubc ca lowe keypoints http www cs ubc ca lowe keypoints 在 stackoverflow 的帮助下 我想将功能保存到 m
  • 在每次迭代中使用 for 循环的索引命名图像

    我正在使用 MATLAB 进行图像处理项目 我使用 for 循环在每次循环迭代时生成某种图像数据 图像大小不同 我的问题是如何阻止它在下一次迭代中覆盖图像 Img i j data 理想情况下我希望它有 Img 1 data for 1st
  • 有没有办法在 MATLAB 中查看 pcode 文件 (.p) 的源代码?

    有没有办法在 MATLAB 中打开 pcode 文件 p 如果 开放 是指edit 那么当然不是 pcode 中的 p 代表 受保护 其主要设计目标是在保护其源代码的同时部署功能组件 如果 开放 是指run 那么当然是的 引用手册 http
  • 一次分配多个字段的聪明方法?

    由于遗留函数调用 我有时被迫编写像这样的丑陋的包装器 function return someWrapper someField a someField a b someField b and so on realistically it
  • Matlab-如何在曲线上绘制切线

    我在 matlab 中绘制了一个图表 plot x y 我的图表有不同的斜率 我如何在每个斜率上绘制切线并计算斜率的系数 如果您没有用于绘制点的显式函数 您可以使用有限差分 http en wikipedia org wiki Finite
  • 图像堆栈的最大强度投影

    我正在尝试重新创建该功能 max array 3 来自 MatLab 它可以获取 N 个图像的 300x300px 图像堆栈 我在这里说 图像 因为我正在处理图像 实际上这只是一个大的双数组 300x300xN 并创建一个 300x300
  • MATLAB 中最有效的矩阵求逆

    在 MATLAB 中计算某个方阵 A 的逆矩阵时 使用 Ai inv A should be the same as Ai A 1 MATLAB 通常会通知我这不是最有效的求逆方法 那么什么是更有效率的呢 如果我有一个方程系统 可能会使用
  • 在另一列中添加具有特定条件的一列,如 excel 的 sumif

    我有一个像这样的矩阵 A 1 2 2 3 3 4 4 5 5 6 6 8 7 9 8 5 9 4 现在我想添加第二列 条件是如果 limit 0 interval 3 且 limit limit interval 或者换句话说 当第 1 列
  • MATLAB - 如何将子图一起缩放?

    我在一张图中有多个子图 每个图的 X 轴是相同的变量 时间 每个图上的 Y 轴都不同 无论是它所代表的内容还是数据的大小 我想要一种同时放大所有图的时间尺度的方法 理想情况下 可以在其中一张图上使用矩形缩放工具 并让其他图相应地更改其 X
  • 在 MATLAB 中重命名文件

    我正在尝试以编程方式重命名工作目录中的文件a temp txt to b hello txt 您建议如何这样做 MATLAB中有一个简单的文件重命名函数吗 我认为您正在寻找 MOVEFILE
  • 如何在 Matlab 中将数组打印到 .txt 文件?

    我才刚刚开始学习Matlab 所以这个问题可能非常基本 我有一个变量 a 2 3 3 422 6 121 9 4 55 我希望将值输出到 txt 文件 如下所示 2 3 3 422 6 121 9 4 55 我怎样才能做到这一点 fid f
  • Matlab:如何更改矩阵的存储方式?从 1x1x3 到 1x3?

    我目前有 val 1 0 7216 val 2 0 7216 val 3 0 7216 但我想要 0 7216 0 716 0 721 我可以做什么样的操作来做到这一点 The reshape函数将在这里解决问题 Arrange the e
  • 如何告诉 mex 链接到 /usr/lib 中的 libstdc++.so.6 而不是 MATLAB 目录中的 libstdc++.so.6?

    现在 MATLAB 2012a 中的 mex 仅正式支持 gcc 4 4 6 但我想使用 gcc 4 7 风险自负 现在如果我直接用 mex 编译一些东西 它会抱怨 usr lib gcc i686 linux gnu 4 7 cc1plu
  • 括号中的波形符字符

    在 MATLAB 中 以下代码执行什么操作 m func returning matrix 波浪号运算符 的作用是什么 在 Matlab 中 这意味着不要将函数中相应的输出参数分配到赋值的右侧 因此 如果func returning mat
  • matlab中类库的全局变量

    我有一些matlab声明的类 我如何声明所有类中都可见的常量 例如 这些常量可以是在所有类的方法中使用的物理常量 首先想到的是使用全局变量 还有更好的办法吗 最好在单独的文件中声明这些常量 包含常量的类是执行此操作的一种很好的干净方法 请参
  • 黑白随机着色的六角格子

    我正在尝试绘制一个 10 000 x 10 000 随机半黑半白的六边形格子 我不知道如何将该格子的六边形随机填充为黑色和白色 这是我真正想要从这段代码中得到的示例 但我无法做到 https i stack imgur com RkdCw
  • matlab中的排列函数是如何工作的

    这是一个有点愚蠢的问题 但我似乎无法弄清楚排列在 matlab 中是如何工作的 以文档为例 A 1 2 3 4 permute A 2 1 ans 1 3 2 4 到底是怎么回事 这如何告诉 matlab 3 和 2 需要交换 哇 这是我迄
  • matlab中的正则逻辑回归代码

    我正在尝试正则化 LR 在 matlab 中使用以下公式很简单 成本函数 J theta 1 m sum y i log h x i 1 y i log 1 h x i lambda 2 m sum theta j 梯度 J theta t
  • 理解高斯混合模型的概念

    我试图通过阅读在线资源来理解 GMM 我已经使用 K 均值实现了聚类 并且正在了解 GMM 与 K 均值的比较 以下是我的理解 如有错误请指出 GMM 类似于 KNN 在这两种情况下都实现了聚类 但在 GMM 中 每个簇都有自己独立的均值和

随机推荐

  • ERP系统

    ERP系统是企业资源计划 Enterprise Resource Planning 的简称 是指建立在信息技术基础上 集信息技术与先进管理思想于一身 以系统化的管理思想 为企业员工及决策层提供决策手段的管理平台 它是从MRP 物料需求计划
  • linux如何解压.zip文件

    安装zip yum y install unzip zip 1 解压shop zip unzip shop zip 2 将shop文件夹压缩为old shop zip zip old shop zip shop
  • 数据可视化作业-使用RMarkdown撰写实验报告

    US Stock data visualization 研究背景 近年来 M股市场的重要性和影响力不断增加 成为全球投资者关注的焦点之一 美股市场的发展和表现对全球经济和金融市场产生了深远的影响 作为全球最大的股票市场之一 M国股市为投资者
  • centos7开启关闭3306端口

    背景 闲来想着用navicat访问下centos上的数据库 发现连接不上 尴尬 如图 一直在连接 然后报了一个unknown error 解决 1 查看一下防火墙状态 root VM 0 15 centos systemctl status
  • 看完这篇 教你玩转渗透测试靶机Vulnhub——HarryPotter:Nagini

    Vulnhub靶机HarryPotter Nagini渗透测试详解 Vulnhub靶机介绍 Vulnhub靶机下载 Vulnhub靶机安装 Vulnhub靶机漏洞详解 信息收集 漏洞发现 SSRF漏洞利用 网站后台GetShell SSH公
  • 通过HttpClient以post方式发送https/http请求,请求及返回参数格式为json和xml两种方式,解决https加ip直接访问的ssl签名认证问题

    最近项目中需要向外部服务发送https请求 但是外部服务测试环境提供的访问地址为https加ip 端口的访问方式 由于SSL签名认证问题 网上搜索大多说是因为https后面设计为跟域名绑定访问 无法访问 后来尝试网上各大神的解决方案 完美解
  • Java获取当天,本周,本月,本季度,本年起始时间工具类

    import java time import java time format DateTimeFormatter import java util Date import java util Locale jdk8 获取当天 本周 本月
  • Linux静默安装Oracle12c过程笔记

    Linux静默安装Oracle12c过程笔记 1 关闭防火墙 禁止防火墙开机自启 关闭防火墙 systemctl stop firewalld service 禁止防火墙开机启动 systemctl disable firewalld se
  • 订单、支付、退款、发货、退货等编号自动生成类

    在商城网站中 订单编号的自动生成 ERP中各个单据的编号自动生成 都可以按照一下的方式来自动生成 第一步 定义常量订单编号前缀 订单编号起始数 订单编号步长 public static final String ORDER SN PREFI
  • 固定资产批导程序

    Responsibility Program Name ZFIC001 Date written Author s name SongQiong Last update Program title 固定资产期初批量导入程序 Project
  • 【基础知识】5、相机内外参矩阵和坐标变换

    文章目录 1 世界坐标系和相机坐标系的关系 从世界坐标系到相机坐标系 涉及到物体的旋转和平移 绕着不同的坐标轴旋转不同的角度 得到相应的旋转矩阵 如下图所示 于是 从世界坐标系到相机坐标系 涉及到旋转和平移 其实所有的运动也可以用旋转矩阵和
  • npcap关闭_npcap是什么软件

    npcap是一个网络数据包抓包工具 是WinPcap的改进版 它支持NDIS 6技术 只允许管理员Administrator 访问Npcap 与WinPcap兼容或并存两种模式 支持Windows平台的回环数据包采集和发送 本教程操作环境
  • 性能测试_JMeter中你可能会忽略的细节点-2

    目录 CSV参数化有什么缺陷 在哪里可以体验到 JDBC请求报错Variable Name must not be null in JDBC Request 助攻机tar包和zip包要注意的事项 文件夹的执行权限 JMeter分布式主机假死
  • ACLR指标

    文章目录 一 ACLR含义 二 ACLR来源 一 ACLR含义 ACLR Adjacent Channel Leakage Power Ratio 测试目的 避免对邻近信道产生干扰 LTE和ACLR测试除了需要测试自身带宽相同的邻信道泄漏功
  • okGo详细使用步骤(一)

    OkGo的使用 一 详细使用方式可以直接观看源文档wiki 这里不再说明 本文档也是依赖于源文档进行代码测试和理解写的 写此文档时okgo版本 compile com lzy net okgo 3 0 4 几个库的介绍 library名 简
  • basler相机pylon安装及API调用

    1 官网下载basler相机的pylon 2 安装pylon 2 1选择pylon的模式 二次开发选择development模式 2 2选择接口 看相机的接口类型 选择相机的接口类型一般为GitE和USB类型 3 完后安装就打开Pylon
  • AUBO机械臂常用函数和指令详解(C/C#版本)

    我是厂妹 扩充一下上一篇内容 C 引用的C生成的DLL 所以直接一起介绍 部分不同会写出来 目录 头文件和引用部分 初始化和主要参数 根据基础坐标系运动操作 机械臂轴动 运动函数 设置基于基座系运动偏移量 获取机械臂当前位置信息 获取机械臂
  • FlowJo 10.4.0(流式细胞分析器工具)

    FlowJo mac是一款流式细胞仪数据分析软件 广泛用于生物医学研究领域 它提供了强大的功能和直观的用户界面 使用户能够对流式细胞仪收集的数据进行高级分析和可视化 FlowJo for mac具有以下主要特点 数据导入和预处理 FlowJ
  • oracle连接mysql详解linux_Linux平台Oracle连接MySQL

    前言 Windows平台Oracle连接MySQL的方法已经给大家介绍过了 现在大部分的Oracle和MySQL都是在Linux平台上面 刚好最近也有这种需求 顺手把整个搭建过程记录起来和大家分享 原理 通过ODBC连接MySQL的原理图
  • LU分解(LU Factorization)计算方法(手算+MATLAB),关于置换矩阵(Permutation Matrix),部分主元消去法(Partial Pivoting)

    背景 求解一些列具有相同系数矩阵的线性方程 如 A x b 1 Ax b 1 Ax b1