线性变换概论

线性变换

定义

V V V W W W 都是在域 K K K上定义的向量空间, T : V → W T :V \rightarrow W T:VW 对任二向量 x , y ∈ V x,y \in V x,yV,与任何标量 a ∈ K a \in K aK,满足:

  • T ( x + y ) = T ( x ) + T ( y ) T(x+y)=T(x)+T(y) T(x+y)=T(x)+T(y)
  • T ( a x ) = a T ( x ) T(ax)=aT(x) T(ax)=aT(x)

T T T 被称为是线性变换

线性算子:从向量空间U映射到U的线性变换

0 0 0变换: 0 ( x ) = 0 0(x)=0 0(x)=0

自身算子: I ( x ) = x I(x)=x I(x)=x

对于 A ∈ R m × n , x ∈ R m × 1 A \in \mathcal{R}^{m \times n},x \in \mathcal{R}^{m \times 1} ARm×n,xRm×1,函数 T ( x ) = A x T(x)=Ax T(x)=Ax是一个从 R n \mathcal{R}^{n} Rn R m \mathcal{R}^{m} Rm线性变换,如果 A A A n × n n \times n n×n的话, T T T是一个线性算子。

B = { u 1 , u 2 , … , u n } \mathcal B =\{ u_1,u_2,\dots,u_n\} B={u1,u2,,un}是向量空间U的一组基,且 v = α 1 u 1 + α 2 u 2 + ⋯ + α n u n v=\alpha_1u_1+\alpha_2u_2+\dots+\alpha_nu_n v=α1u1+α2u2++αnun,则表示为 [ v ] B = ( α 1 , α 2 , … , α n ) T [v]_\mathcal{B}=(\alpha_1,\alpha_2,\dots,\alpha_n)^T [v]B=(α1,α2,,αn)T

A = { e 1 , e 2 , … , e n } \mathcal A =\{ e_1,e_2,\dots,e_n\} A={e1,e2,,en},则被称为向量空间的标准基

image-20231018203415535

image-20231018211846730

image-20231019094100687

B = { x 1 , x 2 , … , x n } \mathcal B=\{x_1,x_2,\dots,x_n\} B={x1,x2,,xn} B ′ = { y 1 , y 2 , … , y n } \mathcal B'=\{y_1,y_2,\dots,y_n\} B={y1,y2,,yn}分别为向量空间 V V V的两组基,其中存在一个变换 A A A在基 B \mathcal B B的表示,则 [ A ] B ′ = [ A [ x 1 ] B ′ , A [ x 2 ] B ′ , … , A [ x n ] B ′ ] [A]_\mathcal{B'}=[A[x_1]_{\mathcal{B'}},A[x_2]_\mathcal{B'},\dots,A[x_n]_\mathcal{B'}] [A]B=[A[x1]B,A[x2]B,,A[xn]B]表示

image-20231019095301042

其中 [ I ] B ′ B [I]_{\mathcal {B'B}} [I]BB为在向量空间上基向量 B ′ \mathcal B' B B \mathcal B B表示

image-20231019232927583

例题1

T T T R 3 R^3 R3 的一个线性算子,其定义为 T ( x , y , z ) = ( x − y , y − x , x − z ) T(x, y, z) = (x−y, y−x, x−z) T(x,y,z)=(xy,yx,xz) , B = { u 1 = ( 1 0 1 ) , u 2 = ( 0 1 1 ) , u 3 = ( 1 1 0 ) } \mathcal B=\left\{u_1=\begin{pmatrix}1\\0\\1\end{pmatrix},u_2=\begin{pmatrix}0\\1\\1\end{pmatrix},u_3=\begin{pmatrix}1\\1\\0\end{pmatrix} \right\} B= u1= 101 ,u2= 011 ,u3= 110 为其一组基, v = ( 1 1 0 ) v=\begin{pmatrix}1\\1\\0\end{pmatrix} v= 110 R 3 R^3 R3的一个向量。

1)分别计算 [ T ] B [T]_{\mathcal{B}} [T]B [ v ] B [v]_{\mathcal{B}} [v]B

2)计算 [ T ( v ) ] B [T(v)]_{\mathcal{B}} [T(v)]B,并验证 [ T ( v ) ] B = [ T ] B [ v ] B [T(v)]_{\mathcal{B}}=[T]_{\mathcal{B}}[v]_{\mathcal{B}} [T(v)]B=[T]B[v]B 成立。

1)

首先我们计算 [ T ] B [T]_{\mathcal{B}} [T]B,它是由 T T T作用在基向量上得到的各结果的坐标向量

[ T ( u i ) ] B [T(u_i)]_{\mathcal{B}} [T(ui)]B i = 1 , 2 , 3 i=1,2,3 i=1,2,3)组成。即 [ T ( u 1 ) ] B = [ T ( 1 , 0 , 1 ) ] B = [ ( 1 , − 1 , 0 ) ] B , [ T ( u 2 ) ] B = [ T ( 0 , 1 , 1 ) ] B = [ ( − 1 , 1 , − 1 ) ] B , [ T ( u 3 ) ] B = [ T ( 1 , 1 , 0 ) ] B = [ ( 0 , 0 , 1 ) ] B . \begin{align*} [T(u_1)]_{\mathcal{B}} &=[T(1,0,1)]_{\mathcal{B}}=[(1, -1, 0)]_{\mathcal{B}},\\ [T(u_2)]_{\mathcal{B}} &=[T(0,1,1)]_{\mathcal{B}}=[(-1, 1, -1)]_{\mathcal{B}},\\ [T(u_3)]_{\mathcal{B}} &=[T(1,1,0)]_{\mathcal{B}}=[(0, 0, 1)]_{\mathcal{B}}. \end{align*} [T(u1)]B[T(u2)]B[T(u3)]B=[T(1,0,1)]B=[(1,1,0)]B,=[T(0,1,1)]B=[(1,1,1)]B,=[T(1,1,0)]B=[(0,0,1)]B.

将以上各向量转化为 B \mathcal{B} B下的坐标向量需要解以下方程:

For [ T ( u 1 ) ] B [T(u_1)]_{\mathcal{B}} [T(u1)]B: ( 1 − 1 0 ) = a ( 1 0 1 ) + b ( 0 1 1 ) + c ( 1 1 0 ) . \begin{pmatrix}1\\-1\\0\end{pmatrix}=a\begin{pmatrix}1\\0\\1\end{pmatrix}+b\begin{pmatrix}0\\1\\1\end{pmatrix}+c\begin{pmatrix}1\\1\\0\end{pmatrix}. 110 =a 101 +b 011 +c 110 .

解得: a = 1 , b = − 1 , c = 0 a=1,b=-1,c=0 a=1,b=1,c=0

For [ T ( u 2 ) ] B [T(u_2)]_{\mathcal{B}} [T(u2)]B: ( − 1 1 − 1 ) = a ( 1 0 1 ) + b ( 0 1 1 ) + c ( 1 1 0 ) . \begin{pmatrix}-1\\1\\-1\end{pmatrix}=a\begin{pmatrix}1\\0\\1\end{pmatrix}+b\begin{pmatrix}0\\1\\1\end{pmatrix}+c\begin{pmatrix}1\\1\\0\end{pmatrix}. 111 =a 101 +b 011 +c 110 .

解得: a = − 3 2 , b = 1 2 , c = 1 2 a=-\frac{3}{2},b=\frac{1}{2},c=\frac{1}{2} a=23,b=21,c=21

For [ T ( u 3 ) ] B [T(u_3)]_{\mathcal{B}} [T(u3)]B: ( 0 0 1 ) = a ( 1 0 1 ) + b ( 0 1 1 ) + c ( 1 1 0 ) . \begin{pmatrix}0\\0\\1\end{pmatrix}=a\begin{pmatrix}1\\0\\1\end{pmatrix}+b\begin{pmatrix}0\\1\\1\end{pmatrix}+c\begin{pmatrix}1\\1\\0\end{pmatrix}. 001 =a 101 +b 011 +c 110 .

解得: a = 1 2 , b = 1 2 , c = − 1 2 a=\frac{1}{2},b=\frac{1}{2},c=-\frac{1}{2} a=21,b=21,c=21

解以上各方程,我们可以得到对应的坐标向量。

此外,我们还需要求 R 3 R^3 R3中的向量 v v v在基 B \mathcal{B} B上的坐标向量 [ v ] B [v]_{\mathcal{B}} [v]B, 它可通过解以下方程得出 ( 1 1 0 ) = a ( 1 0 1 ) + b ( 0 1 1 ) + c ( 1 1 0 ) = a u 1 + b u 2 + c u 3 \begin{pmatrix}1\\1\\0\end{pmatrix}=a\begin{pmatrix}1\\0\\1\end{pmatrix}+b\begin{pmatrix}0\\1\\1\end{pmatrix}+c\begin{pmatrix}1\\1\\0\end{pmatrix} = a u_1 + b u_2 + c u_3 110 =a 101 +b 011 +c 110 =au1+bu2+cu3

解得: a = 1 , b = 1 , c = 0 a=1,b=1,c=0 a=1,b=1,c=0

综上所述:

[ T ] B = [ 1 − 3 2 1 2 − 1 1 2 1 2 0 1 2 − 1 2 ] [T]_{\mathcal{B}}=\begin{bmatrix}1&-\frac{3}{2}& \frac{1}{2}\\-1&\frac{1}{2}&\frac{1}{2}\\0&\frac{1}{2}&-\frac{1}{2}\end{bmatrix} [T]B= 110232121212121

[ v ] B = [ 1 1 0 ] [v]_{\mathcal{B}}=\begin{bmatrix}1\\1\\0\end{bmatrix} [v]B= 110

2)

T ( v ) = ( 0 0 − 1 ) T(v)=\begin{pmatrix}0\\0\\-1\end{pmatrix} T(v)= 001

[ T ( v ) ] B = a ( 1 0 1 ) + b ( 0 1 1 ) + c ( 1 1 0 ) [T(v)]_{\mathcal{B}}=a\begin{pmatrix}1\\0\\1\end{pmatrix}+b\begin{pmatrix}0\\1\\1\end{pmatrix}+c\begin{pmatrix}1\\1\\0\end{pmatrix} [T(v)]B=a 101 +b 011 +c 110

解得 [ T ( v ) ] b = ( − 1 2 − 1 2 1 2 ) [T(v)]_\mathcal{b}=\begin{pmatrix}-\frac{1}{2}\\-\frac{1}{2}\\\frac{1}{2}\end{pmatrix} [T(v)]b= 212121

所以 [ T ( v ) ] B = [ T ] B [ v ] B [T(v)]_{\mathcal{B}}=[T]_{\mathcal{B}}[v]_{\mathcal{B}} [T(v)]B=[T]B[v]B

例题2

A ( x , y , z ) = ( x + 2 y − z , − y , x + 7 z ) A(x,y,z)=(x+2y-z,-y,x+7z) A(x,y,z)=(x+2yz,y,x+7z) R 3 R^3 R3 的一个线性算子,其定义为 T ( x , y , z ) = ( x − y , y − x , x − z ) T(x, y, z) = (x−y, y−x, x−z) T(x,y,z)=(xy,yx,xz) , B = { ( 1 0 0 ) , ( 0 1 0 ) , ( 0 0 1 ) } , B ′ = { ( 1 0 0 ) , ( 1 1 0 ) , ( 1 1 1 ) } \mathcal B=\left\{\begin{pmatrix}1\\0\\0\end{pmatrix},\begin{pmatrix}0\\1\\0\end{pmatrix},\begin{pmatrix}0\\0\\1\end{pmatrix} \right\},\mathcal B'=\left\{\begin{pmatrix}1\\0\\0\end{pmatrix},\begin{pmatrix}1\\1\\0\end{pmatrix},\begin{pmatrix}1\\1\\1\end{pmatrix} \right\} B= 100 , 010 , 001 ,B= 100 , 110 , 111 为其一组基, v = ( 1 1 0 ) v=\begin{pmatrix}1\\1\\0\end{pmatrix} v= 110 R 3 R^3 R3的一个向量。

1)分别计算 [ A ] B [A]_{\mathcal{B}} [A]B [ A ] B ′ [A]_{\mathcal{B'}} [A]B

2)求矩阵 Q Q Q,使得 [ A ] B ′ = Q − 1 [ A ] B Q [A]_\mathcal {B'}=Q^{-1}[A]_\mathcal {B}Q [A]B=Q1[A]BQ成立。

首先,我们需要找出在 B \mathcal{B} B B ′ \mathcal{B'} B基下的矩阵 A A A的表示即 [ A ] B [A]_{\mathcal{B}} [A]B [ A ] B ′ [A]_{\mathcal{B'}} [A]B。这一步可以通过将线性变换应用于基向量并将结果写成列向量的形式完成。

线性算子 A A A B \mathcal B B为基的矩阵表示为: [ A ] B = [ A ( 1 , 0 , 0 ) A ( 0 , 1 , 0 ) A ( 0 , 0 , 1 ) ] B [A]_{\mathcal{B}} = \left[ \begin{array}{ccc} A(1,0,0) & A(0,1,0) & A(0,0,1) \\ \end{array} \right]_{\mathcal{B}} [A]B=[A(1,0,0)A(0,1,0)A(0,0,1)]B = [ A ( e 1 ) , A ( e 2 ) , A ( e 3 ) ] B =[A(e_1),A(e_2),A(e_3)]_\mathcal{B} =[A(e1),A(e2),A(e3)]B

计算得到 [ A ] B = [ A ( 1 , 0 , 0 ) A ( 0 , 1 , 0 ) A ( 0 , 0 , 1 ) ] B = [ 1 2 − 1 0 − 1 0 1 0 7 ] [A]_{\mathcal{B}} = \left[ \begin{array}{ccc} A(1,0,0) & A(0,1,0) & A(0,0,1) \\ \end{array} \right]_\mathcal B = \left[ \begin{array}{ccc} 1 & 2 & -1 \\ 0 & -1 & 0 \\ 1 & 0 & 7 \\ \end{array} \right] [A]B=[A(1,0,0)A(0,1,0)A(0,0,1)]B= 101210107

线性算子 A A A B ′ \mathcal B' B为基的矩阵表示为: [ A ] B ′ = [ A ( 1 , 0 , 0 ) A ( 1 , 1 , 0 ) A ( 1 , 1 , 1 ) ] B ′ [A]_{\mathcal{B'}} = \left[ \begin{array}{ccc} A(1,0,0) & A(1,1,0) & A(1,1,1) \\ \end{array} \right] _{\mathcal{B'}} [A]B=[A(1,0,0)A(1,1,0)A(1,1,1)]B = [ A ( e 1 ′ ) , A ( e 2 ′ ) , A ( e 3 ′ ) ] B ′ =[A(e_1'),A(e_2'),A(e_3')]_\mathcal{B'} =[A(e1),A(e2),A(e3)]B

计算得到 [ A ] B ′ = [ A ( 1 , 0 , 0 ) A ( 1 , 1 , 0 ) A ( 1 , 1 , 1 ) ] B ′ = [ 1 4 3 − 1 − 2 9 1 1 8 ] [A]_{\mathcal{B'}} = \left[ \begin{array}{ccc} A(1,0,0) & A(1,1,0) & A(1,1,1) \\ \end{array} \right]_\mathcal {B'} = \left[ \begin{array}{ccc} 1 & 4 & 3 \\ -1 & -2 & 9 \\ 1 & 1 & 8 \\ \end{array} \right] [A]B=[A(1,0,0)A(1,1,0)A(1,1,1)]B= 111421398

接下来求矩阵 Q Q Q,使得 [ A ] B ′ = Q − 1 [ A ] B Q [A]_\mathcal {B'}=Q^{-1}[A]_\mathcal {B}Q [A]B=Q1[A]BQ成立。

我们已经知道 B = { e 1 , e 2 , e 3 } \mathcal{B}=\{e_1,e_2,e_3\} B={e1,e2,e3} B ′ = { e 1 ′ , e 2 ′ , e 3 ′ } \mathcal{B'}=\{e_1',e_2',e_3'\} B={e1,e2,e3}

给出两个基 B \mathcal B B B ′ \mathcal B' B,要找出矩阵 I I I在基 B ′ \mathcal B' B B \mathcal B B之间的表示 [ I ] B ′ B [I]_{\mathcal B' \mathcal B} [I]BB。 第一个基 B \mathcal B B是标准基,我们考虑将 B ′ \mathcal B' B的基向量表示为 B \mathcal B B的线性组合。具体地:

第一个基向量在 B ′ \mathcal B' B中是 ( 1 0 0 ) \begin{pmatrix}1\\0\\0\end{pmatrix} 100 ,这就是 B \mathcal B B的第一个基向量,所以在 B \mathcal B B的基的表示下,首列是 ( 1 , 0 , 0 ) T (1,0,0)^T (1,0,0)T

第二个基向量在 B ′ \mathcal B' B中是 ( 1 1 0 ) \begin{pmatrix}1\\1\\0\end{pmatrix} 110 ,它可以被表示为 B \mathcal B B的第一个和第二个基向量的和,于是在 B \mathcal B B的基的表示下,第二列是 ( 1 , 1 , 0 ) T (1,1,0)^T (1,1,0)T

第三个基向量在 B ′ \mathcal B' B中是 ( 1 1 1 ) \begin{pmatrix}1\\1\\1\end{pmatrix} 111 ,它可以被表示为 B \mathcal B B所有三个基向量的和,所以在 B \mathcal B B的基的表示下,第三列是 ( 1 , 1 , 1 ) T (1,1,1)^T (1,1,1)T

B \mathcal B B的基表示,我们得到: [ I ] B ′ B = ( 1 1 1 0 1 1 0 0 1 ) [I]_{\mathcal B' \mathcal B}=\begin{pmatrix}1&1&1\\0&1&1\\0&0&1\end{pmatrix} [I]BB= 100110111 这就是矩阵 I I I B ′ \mathcal B' B B \mathcal B B之间的线性变换矩阵。

例题三

对于 R 2 × 2 R^{2\times2} R2×2 矩阵,$\mathcal B = \left{ \begin{bmatrix} 1 & 0 \ 0 & 0 \end{bmatrix}, \begin{bmatrix} 0 & 1 \ 0 & 0 \end{bmatrix}, \begin{bmatrix} 0 & 0 \ 1 & 0 \end{bmatrix}, \begin{bmatrix} 0 & 0 \ 0 & 1 \end{bmatrix} \right} $

对其中一组矩阵, 对于该运算中任意矩阵 A A A, 定义映射 T 定义如下:

$T(A) = \frac{A + A^T}{2} $

计算 [ T ] B [T]_\mathcal B [T]B.

首先我们需要了解一下所给出的映射 T T T如何作用于一个矩阵。给定矩阵 A = [ a b c d ] A=\begin{bmatrix} a & b \\ c & d \end{bmatrix} A=[acbd], 我们可以计算:

T ( A ) = A + A T 2 = [ a b c d ] + [ a c b d ] 2 = [ a b + c 2 b + c 2 d ] T(A) = \frac{A + A^T}{2} = \frac{\begin{bmatrix} a & b \\ c & d \end{bmatrix} + \begin{bmatrix} a & c \\ b & d \end{bmatrix}}{2} = \begin{bmatrix} a & \frac{b+c}{2} \\ \frac{b+c}{2} & d \end{bmatrix} T(A)=2A+AT=2[acbd]+[abcd]=[a2b+c2b+cd]

为了找到矩阵 [ T ] B [T]_B [T]B,我们需要将基 B B B中的每一个矩阵分别带入 T T T中,并表示其结果为 B B B基下的坐标。

对于 [ 1 0 0 0 ] \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} [1000]:

T ( [ 1 0 0 0 ] ) = [ 1 0 0 0 ] = 1 ⋅ [ 1 0 0 0 ] + 0 ⋅ [ 0 1 0 0 ] + 0 ⋅ [ 0 0 1 0 ] + 0 ⋅ [ 0 0 0 1 ] T\left( \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} \right) = \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} = 1 \cdot \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} + 0 \cdot \begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix} + 0 \cdot \begin{bmatrix} 0 & 0 \\ 1 & 0 \end{bmatrix} + 0 \cdot \begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix} T([1000])=[1000]=1[1000]+0[0010]+0[0100]+0[0001]

所以,第一列为 [ 1 0 0 0 ] \begin{bmatrix} 1 \\ 0 \\ 0 \\ 0 \end{bmatrix} 1000

对于 [ 0 1 0 0 ] \begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix} [0010]:

T ( [ 0 1 0 0 ] ) = [ 0 0.5 0.5 0 ] = 0 ⋅ [ 1 0 0 0 ] + 0.5 ⋅ [ 0 1 0 0 ] + 0.5 ⋅ [ 0 0 1 0 ] + 0 ⋅ [ 0 0 0 1 ] T\left( \begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix} \right) = \begin{bmatrix} 0 & 0.5 \\ 0.5 & 0 \end{bmatrix} = 0 \cdot \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} + 0.5 \cdot \begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix} + 0.5 \cdot \begin{bmatrix} 0 & 0 \\ 1 & 0 \end{bmatrix} + 0 \cdot \begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix} T([0010])=[00.50.50]=0[1000]+0.5[0010]+0.5[0100]+0[0001]

所以,第二列为 [ 0 0.5 0.5 0 ] \begin{bmatrix} 0 \\ 0.5 \\ 0.5 \\ 0 \end{bmatrix} 00.50.50

对于 [ 0 0 1 0 ] \begin{bmatrix} 0 & 0 \\ 1 & 0 \end{bmatrix} [0100]:

这个矩阵和上一个矩阵相同,所以第三列也是 [ 0 0.5 0.5 0 ] \begin{bmatrix} 0 \\ 0.5 \\ 0.5 \\ 0 \end{bmatrix} 00.50.50

对于 [ 0 0 0 1 ] \begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix} [0001]:

T ( [ 0 0 0 1 ] ) = [ 0 0 0 1 ] = 0 ⋅ [ 1 0 0 0 ] + 0 ⋅ [ 0 1 0 0 ] + 0 ⋅ [ 0 0 1 0 ] + 1 ⋅ [ 0 0 0 1 ] T\left( \begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix} \right) = \begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix} = 0 \cdot \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} + 0 \cdot \begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix} + 0 \cdot \begin{bmatrix} 0 & 0 \\ 1 & 0 \end{bmatrix} + 1 \cdot \begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix} T([0001])=[0001]=0[1000]+0[0010]+0[0100]+1[0001]

所以,第四列为 [ 0 0 0 1 ] \begin{bmatrix} 0 \\ 0 \\ 0 \\ 1 \end{bmatrix} 0001

综上, [ T ] B [T]_\mathcal B [T]B为:

[ T ] B = [ 1 0 0 0 0 0.5 0.5 0 0 0.5 0.5 0 0 0 0 1 ] [T]_\mathcal B = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 0.5 & 0.5 & 0 \\ 0 & 0.5 & 0.5 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} [T]B= 100000.50.5000.50.500001

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

c语言:解决数组有关的删除,排序,合并等问题。

题目1&#xff1a;判断数组是否有序&#xff08;升序或者降序&#xff09; 思路和代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() {int a 0;scanf("%d", &a);int arr[50];int flag1 0;//是降序int flag2 0;//是升序…

系列十一、你平时工作用过的JVM常用基本配置参数有哪些?

一、常用参数 1.1、-Xms 功能&#xff1a;初始内存大小&#xff0c;默认为物理内存的1/64&#xff0c;等价于 -XX:InitialHeapSize 1.2、-Xmx 功能&#xff1a;最大分配内存&#xff0c;默认为物理内存的1/4&#xff0c;等价于 -XX:MaxHeapSize 1.3、-Xss 功能&#xff1a;设置…

解决在pycharm中使用matplotlib画图问题

第一&#xff0c;再导入包后直接绘图出现&#xff1a; AttributeError: module backend_interagg has no attribute FigureCanvas表明版本不兼容&#xff0c;我们需要加入&#xff1a;matplotlib.use(‘TkAgg’) 导入函数就变成了&#xff1a; import matplotlib matplotlib.…

项目点使用Redis作为缓存技术-自用

在spring boot项目中&#xff0c;使用缓存技术只需在项目中导入相关缓存技术的依赖包&#xff0c;并在启动类上使用EnableCaching开启缓存支持即可。 例如&#xff0c;使用Redis作为缓存技术&#xff0c;只需要导入Spring data Redis的maven坐标即可。 描述 使用Redis缓存高频数…

趣学python编程 (三、计算机基础知识)

如果不了解些计算机的基础知识上来就编程&#xff0c;往往容易“不识庐山真面目&#xff0c;只缘身在此山中”。因此对于计算机的一些基础知识&#xff0c;在开始编程前&#xff0c;需要理解和掌握。 计算机软件系统 计算机软件是控制计算机实现用户需求的计算机操作以及管理计…

Django 简单入门(一)

一、配置虚拟环境 1、安装虚拟环境库vitualenv 与vitualenvwrapper-win 2、创建虚拟环境 myenv 3、在此环境中安装django 二、创建一个Django项目 1、使用命令来创建&#xff1a;django-admin startproject Django2023 工程名为Django2023 2、 使用PyCharm专业版创建Django项…

【C++初阶】STL详解(四)vector的模拟实现

本专栏内容为&#xff1a;C学习专栏&#xff0c;分为初阶和进阶两部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握C。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&…

OpenCV快速入门:图像形态学操作

文章目录 前言一、图像形态学基础1.1 背景介绍1.2 像素距离1.2.1 什么是像素距离&#xff1f;1.2.2 常见的像素距离度量方法1.2.3 计算像素距离的代码实现 1.3 图像连通性1.3.1 什么是图像连通性&#xff1f;1.3.2 连通类型1.3.3 连通组件标记1.3.4 连通性在图像处理中的应用 1…

【Linux】21、软中断、网络小包、SYN FLOOD 攻击、sar tcpdump

文章目录 一、通俗理解&#xff1a;从“取外卖”看中断二、软中断2.1 网卡收发数据包2.2 查看软中断和内核线程2.3 案例2.3.1 案例&#xff1a;动态库 sleep 导致软中断2.3.2 Nginx 进程的不可中断状态是系统的一种保护机制&#xff0c;可以保证硬件的交互过程不被意外打断。所…

【预处理详解】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 1. 预定义符号 2. #define定义常量 3. #define定义宏 4. 带有副作用的宏参数 5. 宏替换的规则 6. 宏函数的对比 7. #和## 7.1 #运算符 7.2 ## 运算符 8. 命名约定 …

【STL】string类 (上) <vector>和<list>的简单使用

目录 一&#xff0c;什么是 STL 二&#xff0c;STL 的六大组件 三&#xff0c;标准库中的 string 类 1&#xff0c;string 类 2&#xff0c;string 类的常用接口 1&#xff0c;string类对象的常见构造 2&#xff0c;string&#xff08;const string& str&#xff…

(数据结构)算法的时间复杂度

注意语句频度和时间复杂度的区别&#xff0c;语句频度是指语句执行的次数&#xff0c;不可以像时间复杂度一样近似次数和省略常数项

算法设计与分析复习--贪心(一)

文章目录 上一篇贪心的性质活动安排问题贪心背包问题最优装载哈夫曼编码下一篇 上一篇 算法设计与分析复习–动态规划 贪心的性质 贪心和动态规划都要求问题具有最优子结构&#xff1b; 可用贪心方法时&#xff0c;动态规划可能不适用 可用动态规划方法时&#xff0c;贪心方法…

【数据结构】栈

1.58.33 栈 栈栈的概念及基本结构栈的存储栈的基本操作栈的置空初始化---StackInit()栈的初始化2.0---给栈开辟一点空间StackInit1()栈的销毁---StackDestory()入栈----StackPush()出栈----StackPop()获取栈中元素的数量---StackSize()判断栈是否为空---StackEmpty()获取栈顶元…

Kali Linux:网络与安全专家的终极武器

文章目录 一、Kali Linux 简介二、Kali Linux 的优势三、使用 Kali Linux 进行安全任务推荐阅读 ——《Kali Linux高级渗透测试》适读人群内容简介作者简介目录 Kali Linux&#xff1a;网络与安全专家的终极武器 Kali Linux&#xff0c;对于许多网络和安全专业人士来说&#x…

Windows 的 WSL 中运行 EasyConnect

Windows 的 WSL 中运行 EasyConnect docker-easyconnect 安装 Docker Desktop 通过 Docker 的官网 Docker Desktop 下载并安装. 安装过程一直下一步即可, 默认推荐 WSL 模式 初始化过程需要梯子 安装完后在搜索框搜索 docker-easyconnect hagb/docker-easyconnect 就是需要…

在线ws/wss调试工具

具体前往&#xff1a;在线webSocket(ws)调试工具

nacos网关

目录 拉取docker镜像 环境配置 网关搭建架构 wemedia-gateway网关配置 依赖 启动类配置 网关yml配置 nacos配置中心配置网关 wdmedia服务配置 依赖 启动类配置 yml配置 nacos配置 nacos中的配置共享 nacos配置 wmedia模块中yml的配置 参考:https://blog.csdn.net/…

真心建议看看这个盈亏平衡点计算方法及要点解析!

说实话&#xff0c;进行产品动态盈亏平衡计算是非常考验人的&#xff0c;因为不是人人都具备评估不同产品组合的盈利能力和掌握风险的方法。 当然最简单的方式就是套用诸如单产品动态盈亏平衡表之类的现成模板进行测算&#xff0c;可以实现以下三点基本需求&#xff1a; 弹性输…