无约束动态矩阵控制(DMC)

0、前言

动态矩阵控制(Dynamic Matrix Control,DMC)是一种典型的模型预测控制方法,其不需要被控对象的数学模型,只需要获取被控对象的阶跃响应序列即可实现控制效果,但其需要被控对象是渐近稳定的。

1、稳定 SISO 系统的阶跃响应模型

考虑单输入单输出(Signal Input Signal Output,SISO)系统,其传递函数为
G ( s ) = y ( s ) u ( s ) (1) G(s)=\frac{y(s)}{u(s)}\tag{1} G(s)=u(s)y(s)(1)

首先考虑当输入不变时,系统的非零初始状态响应
如图所示(系统过渡过程时间为 N N N 个采样间隔)
在这里插入图片描述
系统在 k + N − 2 k+N-2 k+N2 以后进入稳态,输出保持不变,定义 k − 1 k-1 k1 时刻的未来 N N N 步输出为
Y ( k − 1 ) = { [ y ( k − 1 ) y ( k ) ⋯ y ( k + N − 3 ) y ( k + N − 2 ) ] T Δ u ( k + i ) = 0 , i = − 1 , 0 , ⋯ , N − 2 } (2) Y(k-1)=\Bigg\lbrace \begin{matrix} \left[ \begin{matrix} y(k-1) & y(k) & \cdots & y(k+N-3) & y(k+N-2)\\ \end{matrix} \right]^T\\[2ex] \Delta u(k+i)=0,\quad i=-1,0,\cdots,N-2 \end{matrix} \Bigg\rbrace\tag{2} Y(k1)={[y(k1)y(k)y(k+N3)y(k+N2)]TΔu(k+i)=0,i=1,0,,N2}(2)

我们称 Y ( k − 1 ) Y(k-1) Y(k1) 为系统在 k − 1 k-1 k1 时刻的 “ 状态 ”。它的物理意义为:在输入不变条件下系统的非零初始状态响应的 N N N 步输出,即系统无外部输入的 “ 自由响应 ” 的 N N N 步输出为状态变量的 N N N 个分量。

因此定义 k k k 时刻的状态变量为
Y ( k ) = { [ y ( k ) y ( k + 1 ) ⋯ y ( k + N − 2 ) y ( k + N − 1 ) ] T Δ u ( k + i ) = 0 , i = 0 , 1 , ⋯ , N − 1 } (3) Y(k)=\Bigg\lbrace \begin{matrix} \left[ \begin{matrix} y(k) & y(k+1) & \cdots & y(k+N-2) & y(k+N-1)\\ \end{matrix} \right]^T\\[2ex] \Delta u(k+i)=0,\quad i=0,1,\cdots,N-1 \end{matrix} \Bigg\rbrace\tag{3} Y(k)={[y(k)y(k+1)y(k+N2)y(k+N1)]TΔu(k+i)=0,i=0,1,,N1}(3)

Δ u ( k − 1 ) = 0 \Delta u(k-1)=0 Δu(k1)=0 Y ( k ) Y(k) Y(k) Y ( k − 1 ) Y(k-1) Y(k1) 之间的关系为
Y ( k ) = M s s Y ( k − 1 ) (4) Y(k)=M_{ss}Y(k-1)\tag{4} Y(k)=MssY(k1)(4)

其中
M s s = [ 0 1 0 ⋯ 0 0 0 0 1 ⋯ 0 0 ⋮ ⋮ ⋮ ⋮ ⋮ 0 0 0 ⋯ 0 1 0 0 0 ⋯ 0 1 ] (5) M_{ss}=\left[ \begin{matrix} 0 & 1 & 0 & \cdots & 0 & 0\\ 0 & 0 & 1 & \cdots & 0 & 0\\ \vdots & \vdots & \vdots & & \vdots & \vdots\\ 0 & 0 & 0 & \cdots & 0 & 1\\ 0 & 0 & 0 & \cdots & 0 & 1\\ \end{matrix} \right]\tag{5} Mss= 00001000010000000011 (5)

这就是稳定 SISO 系统的不变输入非零初始状态响应。

接着考虑当初始状态为零时,系统的输入响应
在系统平衡状态下做一个单位阶跃响应实验,得到系统的输出响应如图所示。
在这里插入图片描述
采样得到系统零初始条件下单位阶跃响应序列为
{ 0 , s 1 , s 2 , ⋯ , s N , s N , ⋯ } (6) \lbrace 0,s_1,s_2,\cdots,s_N,s_N,\cdots\rbrace\tag{6} {0,s1,s2,,sN,sN,}(6)

由线性系统的齐次性,对任意的输入变化 Δ u ( k − 1 ) \Delta u(k-1) Δu(k1),系统的响应序列为
{ 0 , s 1 , s 2 , ⋯ , s N , s N , ⋯ } ⋅ Δ u ( k − 1 ) (6) \lbrace 0,s_1,s_2,\cdots,s_N,s_N,\cdots\rbrace\cdot\Delta u(k-1)\tag{6} {0,s1,s2,,sN,sN,}Δu(k1)(6)

记单位阶跃响应系数矩阵为
S = [ s 1 s 2 ⋮ s N ] N × 1 (7) S=\left[ \begin{matrix} s_1 \\[1ex] s_2 \\[1ex] \vdots \\[1ex] s_N \\ \end{matrix} \right]_{N\times 1}\tag{7} S= s1s2sN N×1(7)

则零初始状态下,系统对任意输入的响应可以描述为
Y ( k ) = S Δ u ( k − 1 ) (8) Y(k)=S\Delta u(k-1)\tag{8} Y(k)=SΔu(k1)(8)

由于线性系统满足叠加性,因此,由(4)和(8)得到,在非零初始状态下系统对任意输入变化的响应为
Y ( k ) = M s s Y ( k − 1 ) + S Δ u ( k − 1 ) (9) \boxed{Y(k)=M_{ss}Y(k-1)+S\Delta u(k-1)}\tag{9} Y(k)=MssY(k1)+SΔu(k1)(9)

其中初始条件为
Y ( 0 ) = [ y ( 0 ) ⋮ y ( 0 ) ] N × 1 (10) Y(0)=\left[ \begin{matrix} y(0) \\[1ex] \vdots \\[1ex] y(0) \\ \end{matrix} \right]_{N\times 1}\tag{10} Y(0)= y(0)y(0) N×1(10)

而系统在 k k k 时刻的输出为
y ( k ) = C Y ( k ) (11) \boxed{y(k)=CY(k)}\tag{11} y(k)=CY(k)(11)

其中
C = [ 1 0 ⋯ 0 ] 1 × N (12) C=\left[ \begin{matrix} 1 & 0 & \cdots & 0 \\ \end{matrix} \right]_{1\times N}\tag{12} C=[100]1×N(12)

综上,(9)和(11)就是系统的单位阶跃响应模型

2、SISO 系统的动态矩阵控制(DMC)

2.1、被控系统描述

在这里插入图片描述
如图所示为被控系统, u u u 为控制输入, y y y 为输出, d d d 为可以测量的外部干扰, w w w 为不能测量的外部干扰, P u P_u Pu 为输入 u u u 到输出 y y y 的传递函数, P d P_d Pd 为可测量干扰 d d d 到输出 y y y 的传递函数。设控制输入 u u u 和可测量干扰 d d d 对输出 y y y 的单位阶跃响应系数矩阵分别为
S u = [ s 1 u s 2 u ⋮ s N u ] , S d = [ s 1 d s 2 d ⋮ s N d ] , (13) S_u=\left[ \begin{matrix} s_1^u \\[1ex] s_2^u \\[1ex] \vdots \\[1ex] s_N^u \\ \end{matrix} \right],\quad S_d=\left[ \begin{matrix} s_1^d \\[1ex] s_2^d \\[1ex] \vdots \\[1ex] s_N^d \\ \end{matrix} \right], \tag{13} Su= s1us2usNu ,Sd= s1ds2dsNd ,(13)

由于线性系统满足齐次性和叠加性,因此,由(9)可以得出带可测干扰的单位阶跃响应模型为
Y ( k ) = M s s Y ( k − 1 ) + S u Δ u ( k − 1 ) + S d Δ d ( k − 1 ) y ( k ) = C Y ( k ) (14) \begin{aligned} Y(k)&=M_{ss}Y(k-1)+S_u\Delta u(k-1)+S_d\Delta d(k-1)\\[1ex] y(k)&=CY(k)\tag{14} \end{aligned} Y(k)y(k)=MssY(k1)+SuΔu(k1)+SdΔd(k1)=CY(k)(14)

2.2、状态估计

由于单位阶跃响应模型(14)的状态不是全部可以测量的(只有第一个分量是可以测量的)。因此,需要对状态进行估计,用估计的状态作为初始条件预测系统未来的动态。

k − 1 k-1 k1 时刻,由(14)计算 k k k 时刻的状态,记为 Y ( k ∣ k − 1 ) Y(k|k-1) Y(kk1),即
Y ( k ∣ k − 1 ) = M s s Y ^ ( k − 1 ) + S u Δ u ( k − 1 ) + S d Δ d ( k − 1 ) (15) Y(k|k-1)=M_{ss}\hat Y(k-1)+S_u\Delta u(k-1)+S_d\Delta d(k-1)\tag{15} Y(kk1)=MssY^(k1)+SuΔu(k1)+SdΔd(k1)(15)

其中, Y ^ ( k − 1 ) \hat Y(k-1) Y^(k1) k − 1 k-1 k1 时刻对状态的估计。计算 k k k 时刻的输出为
y ( k ∣ k − 1 ) = C Y ( k ∣ k − 1 ) (16) y(k|k-1) = CY(k|k-1)\tag{16} y(kk1)=CY(kk1)(16)

k k k 时刻的测量值为 y ( k ) y(k) y(k),与计算值之差为 y ( k ) − y ( k ∣ k − 1 ) y(k)-y(k|k-1) y(k)y(kk1)。以这个误差作为校正量,得到校正后的状态分量如下:
y ^ ( k ∣ k ) = y ( k ∣ k − 1 ) + [ y ( k ) − y ( k ∣ k − 1 ) ] , y ^ ( k + 1 ∣ k ) = y ( k + 1 ∣ k − 1 ) + [ y ( k ) − y ( k ∣ k − 1 ) ] , ⋮ , y ^ ( k + N − 1 ∣ k ) = y ( k + N − 1 ∣ k − 1 ) + [ y ( k ) − y ( k ∣ k − 1 ) ] . (17) \begin{aligned} \hat y(k|k) & = y(k|k-1) + [y(k)-y(k|k-1)],\\[1ex] \hat y(k+1|k) & = y(k+1|k-1) + [y(k)-y(k|k-1)],\\[1ex] \vdots,\\[1ex] \hat y(k+N-1|k) & = y(k+N-1|k-1) + [y(k)-y(k|k-1)]. \end{aligned}\tag{17} y^(kk)y^(k+1∣k),y^(k+N1∣k)=y(kk1)+[y(k)y(kk1)],=y(k+1∣k1)+[y(k)y(kk1)],=y(k+N1∣k1)+[y(k)y(kk1)].(17)


Y ^ ( k ) = [ y ^ ( k ∣ k ) y ^ ( k + 1 ∣ k ) ⋮ y ^ ( k + N − 1 ∣ k ) ] N × 1 (18) \hat Y(k)=\left[ \begin{matrix} \hat y(k|k)\\[1ex] \hat y(k+1|k)\\[1ex] \vdots\\[1ex] \hat y(k+N-1|k) \end{matrix} \right]_{N\times 1}\tag{18} Y^(k)= y^(kk)y^(k+1∣k)y^(k+N1∣k) N×1(18)

则上式变为
Y ^ ( k ) = Y ( k ∣ k − 1 ) + K I ( y ( k ) − y ( k ∣ k − 1 ) ) , 其中 K I = [ 1 ⋮ 1 ] N × 1 (19) \hat Y(k) = Y(k|k-1) + K_I\big(y(k)-y(k|k-1)\big),\quad 其中\quad K_I=\left[ \begin{matrix} 1\\ \vdots\\[1ex] 1\\ \end{matrix} \right]_{N\times 1}\tag{19} Y^(k)=Y(kk1)+KI(y(k)y(kk1)),其中KI= 11 N×1(19)

将(15)和(16)代入(19),得
Y ^ ( k ) = Y ( k ∣ k − 1 ) + K I ( y ( k ) − y ( k ∣ k − 1 ) ) = ( I − K I C ) Y ( k ∣ k − 1 ) + K I y ( k ) = ( I − K I C ) M s s Y ^ ( k − 1 ) + K I y ( k ) + ( I − K I C ) S u Δ u ( k − 1 ) + ( I − K I C ) S d Δ d ( k − 1 ) (20) \begin{aligned} \hat Y(k) &= Y(k|k-1) + K_I\big(y(k)-y(k|k-1)\big)\\[1ex] &=(I-K_IC)Y(k|k-1) + K_Iy(k)\\[1ex] &=(I-K_IC)M_{ss}\hat Y(k-1) + K_Iy(k)+(I-K_IC)S_u\Delta u(k-1)+(I-K_IC)S_d\Delta d(k-1)\\[1ex] \end{aligned}\tag{20} Y^(k)=Y(kk1)+KI(y(k)y(kk1))=(IKIC)Y(kk1)+KIy(k)=(IKIC)MssY^(k1)+KIy(k)+(IKIC)SuΔu(k1)+(IKIC)SdΔd(k1)(20)

这是一个典型的状态估计器方程,其中
( I − K I C ) M s s = [ 0 0 0 0 ⋯ 0 0 − 1 1 0 ⋯ 0 0 − 1 0 1 ⋯ 0 ⋮ ⋮ ⋮ ⋮ ⋮ 0 − 1 0 0 ⋯ 1 0 − 1 0 0 ⋯ 1 ] N × N (21) (I-K_IC)M_{ss}=\left[ \begin{matrix} 0 & 0 & 0 & 0 & \cdots & 0\\[1ex] 0 & -1 & 1 & 0 & \cdots & 0\\[1ex] 0 & -1 & 0 & 1 & \cdots & 0\\[1ex] \vdots & \vdots & \vdots & \vdots & & \vdots\\[1ex] 0 & -1 & 0 & 0 & \cdots & 1\\[1ex] 0 & -1 & 0 & 0 & \cdots & 1\\ \end{matrix} \right]_{N\times N}\tag{21} (IKIC)Mss= 0000001111010000010000011 N×N(21)

可以证明, ( I − K I C ) M s s (I-K_IC)M_{ss} (IKIC)Mss 的所有特征值均位于单位圆内,因此,估计器(20)是名义渐近稳定的。

3、预测方程

采用 基于状态空间模型的无约束预测控制 相同的方法推导预测方程。

对系统未来 p p p 步输出的预测可以由下面的预测方程计算:
Y p ( k + 1 ∣ k ) = M Y ^ ( k ) + S u Δ U ( k ) + S d Δ d ( k ) Y_p(k+1|k)={\cal M}\hat Y(k)+{\cal S_u}\Delta U(k) + {\cal S_d}\Delta d(k) Yp(k+1∣k)=MY^(k)+SuΔU(k)+SdΔd(k)

其中,
M = [ 0 C c 0 0 0 ⋯ 0 ⋯ 0 0 0 C c 0 0 ⋯ 0 ⋯ 0 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ 0 0 ⋯ 0 C c ⋯ 0 ⋯ 0 ] p × N S d = [ C c S 1 d C c S 2 d ⋮ C c S p d ] p × 1 S u = [ C c S 1 u 0 0 ⋯ 0 C c S 2 u C c S 1 u 0 ⋯ 0 ⋮ ⋮ ⋮ ⋮ C c S m u C c S m − 1 u ⋯ ⋯ C c S 1 u ⋮ ⋮ ⋮ ⋮ C c S p u C c S p − 1 u ⋯ ⋯ C c S p − m + 1 u ] p × m \begin{aligned} &{\cal M}=\left[ \begin{matrix} \pmb 0 & \pmb C_c & \pmb 0 & \pmb 0 & \pmb 0 &\cdots & \pmb 0 &\cdots & \pmb 0\\[1ex] \pmb 0 & \pmb 0 & \pmb C_c & \pmb 0 & \pmb 0 &\cdots & \pmb 0 &\cdots & \pmb 0\\[1ex] \vdots & \vdots & \vdots &\vdots &\vdots &\vdots & \vdots & & \vdots\\[1ex] \pmb 0 & \pmb 0 & \cdots & \pmb 0 & \pmb C_c &\cdots & \pmb 0 &\cdots & \pmb 0\\ \end{matrix} \right]_{p\times N}\\ &{\cal S_d}=\left[ \begin{matrix} \pmb C_c\pmb S_1^d\\[1ex] \pmb C_c\pmb S_2^d\\[1ex] \vdots\\[1ex] \pmb C_c\pmb S_p^d\\ \end{matrix} \right]_{p\times1}\\ &{\cal S_u}=\left[ \begin{matrix} \pmb C_c\pmb S_1^u & \pmb 0 & \pmb 0 & \cdots & \pmb 0 \\[1ex] \pmb C_c\pmb S_2^u & \pmb C_c\pmb S_1^u & \pmb 0 & \cdots & \pmb 0 \\[1ex] \vdots & \vdots & \vdots & & \vdots \\[1ex] \pmb C_c\pmb S_m^u & \pmb C_c\pmb S_{m-1}^u & \cdots & \cdots & \pmb C_c\pmb S_{1}^u \\[1ex] \vdots & \vdots & \vdots & & \vdots \\[1ex] \pmb C_c\pmb S_p^u & \pmb C_c\pmb S_{p-1}^u & \cdots & \cdots & \pmb C_c\pmb S_{p-m+1}^u \\[1ex] \end{matrix} \right]_{p\times m} \end{aligned} M= 000Cc000Cc00000Cc000000 p×NSd= CcS1dCcS2dCcSpd p×1Su= CcS1uCcS2uCcSmuCcSpu0CcS1uCcSm1uCcSp1u0000CcS1uCcSpm+1u p×m

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SVN学习(002 svn冲突解决)

尚硅谷SVN高级教程(svn操作详解) 总时长 4:53:00 共72P 此文章包含第20p-第p29的内容 冲突 产生冲突的操作 (第一种 相互不影响的操作) 用户1修改第二行 用户2修改第四行 用户1提交 用户2提交,提交的时候会提示版本已过时 这时将用…

Hadoop 2.0 大家族(一)

目录 一、Hadoop 2.0大家族概述(一)分布式组件(二)部署概述 二、ZooKeeper(一)ZooKeeper简介(二)ZooKeeper 入门 一、Hadoop 2.0大家族概述 (一)分布式组件 …

不懂索引,简历上都不敢写自己熟悉SQL优化

大家好,我是考哥。 今天给大家带来MySQL索引相关核心知识。对MySQL索引的理解甚至比你掌握SQL优化还重要,索引是优化SQL的前提和基础,我们一步步来先打好地基。 当MySQL表数据量不大时,缺少索引对查询性能的影响不会太大&#x…

用电子表单替代纸质表格,签到报名、出入登记更轻松

用纸质表格收集信息时,常常会出现数据丢失、不易统计等问题。我们可以搭建电子表单来代替线下纸质表格,进行信息收集、记录数据。 这些数据会保存在账号下,可以导出Excel或PDF进行存档;也可以根据企业要求自定义PDF导出格式。 并…

Linux 6.10也引进了蓝屏机制

众所周知,win死机后会有个蓝屏死机的故障提示页面,Linux 6.10 开始也将引入这个机制。 Linux 6.10 引入了一个新的 DRM Panic 处理程序基础设施,以便于在致命错误(Panic)发生时显示相关信息。 Linux 6.10 还在开发之…

【产品面对面】deepin V23 RC 新体验,文件管理器全面升级!

内容来源:deepin(深度)社区 在日复一日的数据海洋遨游中,是否曾因文件杂乱无章而苦恼?是否渴望过有一种魔法,能让文件瞬间归位,触手可及? 今天,我们带着全新的文件管理工…

【Pandas驯化-10】一文搞懂Pandas中一列混合多种数据类型to_numeric、select_dtypes处理

【Pandas驯化-10】一文搞懂Pandas中一列混合多种数据类型to_numeric、select_dtypes处理 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 …

中文分词词云图

目录 一、分词1、分词方式方法2、分词优缺点 二、jieba使用示例1、引入库2、切分模式3、加载自定义字典 三、词的可视化1、读取数据2、数据处理3、统计词频4、去除停用词5、词云图1、pyecharts绘图2、WordCloud绘图 一、分词 1、分词方式方法 以构词规则为出发点的规则分词 全…

# 消息中间件 RocketMQ 高级功能和源码分析(七)

消息中间件 RocketMQ 高级功能和源码分析(七) 一、 消息中间件 RocketMQ 源码分析:消息存储核心类介绍 1、消息存储在 store 模块中。消息存储核心类 DefaultMessageStore.java 2、消息存储核心类介绍 private final MessageStoreConfig me…

数据库 | 期末复习专题(HBUT 韩洪木)

总结: 考研数据库系统概论题目整理_若视图的属性来自聚集函数、表达式,则该视图是可以更新的。-CSDN博客 数据库系统概论 ---知识点大全(期末复习版)_数据库系统概论期末复习-CSDN博客 03数据库关系代数习题_关系代数例题-CSDN博客 【数据库…

select的奇葩操作总结

摘要&#xff1a; 世界奇葩事千千万&#xff0c;select操作占一半&#xff01;最近原生开发中遇到一些问题&#xff0c;特别是select&#xff01; select原生实现二级树&#xff1a; php的twig下实现占位符号错位实现 <select name"category_id" id"input-c…

珈和科技和比昂科技达成战略合作,共创智慧农业领域新篇章

6月14日&#xff0c;四川省水稻、茶叶病虫害监测预警与绿色防控培训班在成都蒲江举办。本次培训班由四川省农业农村厅植物保护站主办&#xff0c;蒲江县农业农村局、成都比昂科技筹办。四川省农业农村厅植物保护站及四川省14个市州36个县植保站负责人进行了观摩学习。 武汉珈…

R3CTF NinjaClub复现

R3CTF NinjaClub jinjia2沙箱 题目源码 from jinja2.sandbox import SandboxedEnvironment, is_internal_attribute from jinja2.exceptions import UndefinedError from fastapi import FastAPI, Form from fastapi.responses import HTMLResponse from pydantic import Bas…

商超便利店收银系统源码推荐

细节决定成败&#xff0c;无论是做什么事情都要注重细节&#xff0c;让我们来看看关于商超便利店陈列的“细节”有哪些需要注意的地方。 首先要注意商品不要摆太高&#xff0c;放在适当位置即可&#xff01; 商超便利店内&#xff0c;销量最佳的物品摆放位置依次为与顾客视线…

卡巴斯基安全卡片

卡巴斯基委托我们制作展示各种安全场景的插图卡片&#xff0c;这些卡片用于在欧洲委员会支持下开发的互动在线培训课程。我们的设计师为这个项目创造了一种独特的风格&#xff0c;既美观又实用。卡片展示了可能出现的潜在危险情况&#xff0c;例如在购物中心、公交车站或办公室…

2004年上半年软件设计师【下午题】试题及答案

文章目录 2004年上半年软件设计师下午题--试题2004年上半年软件设计师下午题--答案2004年上半年软件设计师下午题–试题

若依 Excel导入 字段值转换 字典自动匹配转换等

Excel表格数据截图&#xff1a; 数据库结构&#xff1a;需要将数据转换为数值或char类型存储 转换结果&#xff1a; 未使用Excel注解参数的效果&#xff1a; 断点数据 使用Excel注解参数的效果&#xff1a; 断点数据 最终入库&#xff1a; 参考&#xff1a; http://doc.ru…

华为Pocket 2,夏日达人的时尚新宠!

夏天炎炎&#xff0c;适合撒欢~但时尚与便利从不缺席&#xff01;我的时尚新宠华为Pocket 2跟我一起。 高颜值的外观一定是出行拍照和搭配单品的选项&#xff0c;这款小巧精致的手机&#xff0c;外屏设计超级时尚,轻松搭配出夏日潮流风。它的外屏还支持个性化设置&#xff0c;…

0613,基本数据类型,表达式

目录 第三章&#xff08;基本数据类型&#xff09;思维导图 题目1&#xff0c;选做&#xff1a;0xCAFE的各种位运算 答案代码/补&#xff1a; 参考答案&#xff1a; 题目二&#xff0c;必做&#xff1a;判断闰年&#xff0c;下一天&#xff0c;两天时差&#xff0c;星期几…

红队实战宝典之内网渗透测试

本文源自《红队实战宝典之内网渗透测试》一书前言。 近年来&#xff0c;随着计算机网络技术的发展和应用范围的扩大&#xff0c;不同结构、不同规模的局域网和广域网迅速遍及全球。 以互联网为代表的计算机网络技术在短短几十年内经历了从0到1、从简单到复杂的飞速发展&#…