MATLAB - MPC - 优化问题(Optimization Problem)

系列文章目录


前言

模型预测控制可在每个控制间隔内解决一个优化问题,具体来说就是二次规划(QP)。求解结果决定了被控对象在下一个控制间隔之前使用的操纵变量(MV)。

该 QP 问题具有以下特点:

  • 目标或 "成本 "函数 - 要最小化的控制器性能的非负标量。
  • 约束条件 - 解决方案必须满足的条件,如 MV 和被控对象输出变量的物理边界。
  • 决策 - 在满足约束条件的同时使成本函数最小化的 MV 调整。

下文将详细介绍这些功能。


一、标准代价函数

标准成本函数是四个项的总和,每个项都侧重于控制器性能的一个特定方面,如下所示:

$J(z k)=J_{y}(z k)+J_{u}(z k)+J_{\Delta u}(z k)+J_{e}(z k).$

这里,zk 是 QP 决策。如下所述,每个项都包含权重,可帮助您平衡相互竞争的目标。虽然 MPC 控制器提供了默认权重,但您通常需要对其进行调整,以适应您的应用。

1.1 输出参考跟踪


在大多数应用中,控制器必须将选定的被控对象输出保持在或接近指定的参考值。MPC 控制器使用以下标量性能指标进行输出参考跟踪:

$J_{y}(z k)=\sum_{​{j}=1}^{n_{y}}\ \sum_{​{i}=1}^p\left\{\frac{w_{​{i},{j}}^{y}}{s_{​{j}}^{y}}[r_{​{j}}(k+i\vert k)-y_{​{j}}(k+i\vert k)]\right\}^{​{2}}.$

此处

  • k - 当前控制间隔。
  • p - 预测范围(区间数)。
  • ny - 被控对象输出变量的个数。
  • zk - QP 决策,取值为  

                 $z_k^T=\left[u(k|k)^{T}\quad u(k+1|k)^{T}\ \ldots\ \ u(k+p-1|k)^{T}\quad\it\epsilon_{k}\right].$

  • yj(k+i|k) - 第 j 个被控对象在第 i 个预测水平步的输出预测值,单位为工程单位。
  • rj(k+i|k) - 第 j 个被控对象在第 i 个预测水平步的输出参考值,单位为工程单位。
  • s_{​{j}}^{y} - 第 j 个被控对象产量的比例因子,单位为工程单位。
  • w_{​{i},{j}}^{y} - 第 i 个预测水平步的第 j 个被控对象输出的调整权重(无量纲)。

值 ny、p、s_{​{j}}^{y}w_{​{i},{j}}^{y} 是恒定的控制器规格。控制器接收整个预测范围内的参考值 rj(k+i|k)。控制器使用状态观测器来预测被控对象的输出 yj(k+i|k),这些输出取决于受控变量调整 (zk)、测量干扰 (MD) 和状态估计值。在间隔 k 时,可获得控制器状态估计值和 MD 值。因此,Jy 仅是 zk 的函数。 

1.2 操纵变量跟踪


在某些应用中,例如当被控对象的输出多于操纵变量时,控制器必须将选定的操纵变量 (MV) 保持在或接近指定的目标值。MPC 控制器使用以下标量性能指标进行操纵变量跟踪: 

$J_{u}(z k)=\sum_{j=1}^{n_{u}}\sum_{i=0}^{p-1}\left\{\frac{w_{i,j}^{u}}{s_{j}^{u}}[u_{j}(k+i\vert k)-u_{j,l a r g e t}(k+i\vert k)]\right\}^{2}.$

此处

  • k - 当前控制间隔。
  • p - 预测范围(区间数)。
  • nu - 受控变量的数量。
  • zk - QP 决策,取值为
  • uj,target(k+i|k) - 第 j 个 MV 在第 i 个预测水平步的目标值,单位为工程单位。
  • s_{​{j}}^{u} - 第 j 个 MV 的比例因子,单位为工程单位。
  • w_{​{i},{j}}^{u} - 第 j 个 MV 在第 i 个预测水平步的调整权重(无量纲)。

数值 nu、p、s_{​{j}}^{u}w_{​{i},{j}}^{u} 是恒定的控制器规格。控制器接收整个范围内的 uj,target(k+i|k) 值。控制器利用状态观测器预测被控对象的输出。因此,Ju 只是 zk 的函数。

1.3 操纵变量移动抑制


大多数应用都喜欢小的 MV 调整(移动)。MPC 常量使用以下标量性能指标来抑制操纵变量移动:

$J_{\Delta u}(z_{k})=\sum_{j=1}^{n_{u}}\sum_{i=0}^{p-1}\left\{\frac{\displaystyle w_{i,j}^{\Delta u}}{\displaystyle s_{j}^{​{u}}}[u_{j}(k+i\vert k)-u_{j}(k+i-1\vert k)]\right\}^{2}.$

此处

  • k - 当前控制间隔。
  • p - 预测范围(区间数)。
  • ny - 被控对象输出变量的个数。
  • zk - QP 决策,取值为  

                 $z_k^T=\left[u(k|k)^{T}\quad u(k+1|k)^{T}\ \ldots\ \ u(k+p-1|k)^{T}\quad\it\epsilon_{k}\right].$

  • s_{​{j}}^{u} - 第 j 个 MV 的比例因子,单位为工程单位。
  • w_{i,j}^{\Delta u} - 第 j 个 MV 运动在第 i 个预测水平步的调整权重(无量纲)。

$n_{u},\,p_{,}\,\,s_{j}^{u},w_{i,j}^{\Delta u}$的值是控制器的常数。u(k-1|k) = u(k-1),是上一个控制区间的已知 MV。JΔu 仅是 zk 的函数。

此外,控制区间 m < p(或 MV 阻塞)会限制某些 MV 移动为零。

1.4 违反约束

在实践中,违反约束可能是不可避免的。软约束允许在这种情况下获得可行的 QP 解决方案。MPC 控制器采用一个无量纲、非负的松弛变量 εk,它量化了最坏情况下的约束违规。(见约束条件)相应的性能指标为

$J_{\varepsilon}(z k)=\rho_{\varepsilon}\varepsilon_{k}^{2}.$

这里

zk - QP 决策,取值为

$z_{k}^{T}=\bigl[u(k|k)^{T}\ \ \ u(k+1|k)^{T}\ \ \ldots\ \ u(k+p-1|k)^{T}\ \ \epsilon_{k}\bigr].$

εk - 控制区间 k 的松弛变量(无量纲)。

ρε - 违反约束条件的惩罚权重(无量纲)。

二、 替代成本函数

您可以选择使用以下替代标准成本函数的方法:

$J(z_{k})=\sum_{i=0}^{p-1}\left\{\left[e_{y}^{T}(k+i)Q e_{y}(k+i)\right]+\left[e_{u}^{T}(k+i)R_{u}e_{u}(k+i)\right]+\left[\Delta u^{T}(k+i)R_{\Delta u}\Delta u(k+i)\right]\right\}+\rho_{\epsilon}\varepsilon_{k}^{2}.$

这里,Q(ny-by-ny)、Ru 和 RΔu(nu-by-nu)是正半无穷权重矩阵,并且: 

$\begin{array}{c}{​{e_{y}(i+k)=S_{y}^{-1}[r(k+i+1|k)-y(k+i+1|k)]}}\\ {​{e_{u}(i+k)=S_{u}^{-1}[u_{t a r g e t}(k+i|k)-u(k+i|k)]}}\\ {​{\Delta u(k+i)=S_{u}^{-1}[u(k+i]k)-u(k+i-1|k)].}}\end{array}$

也是、

Sy - 被控对象输出可变比例系数的对角矩阵,单位为工程单位。

Su - 以工程单位表示的 MV 比例因子对角矩阵。

r(k+1|k) - 第 i 个预测水平步的 ny 个被控对象输出参考值,单位为工程单位。

y(k+1|k) - 第 i 个预测水平步的 ny 个被控对象的工厂产出,单位为工程单位。

zk - QP 决策,取值为

$z_{k}^{T}=\bigl[u(k|k)^{T}\ \ \ u(k+1|k)^{T}\ \ \ldots\ \ u(k+p-1|k)^{T}\ \ \epsilon_{k}\bigr].$

utarget(k+i|k) - u(k+i|k) 对应的 nu MV 目标值,单位为工程单位。

与标准成本函数一样,输出预测使用状态观测器。

替代成本函数允许非对角线加权,但要求每个预测水平步的权重相同。

如果满足以下条件,替代成本函数和标准成本函数是相同的:

  • 标准成本函数采用的权重 w , 和 w 相对于指数 i = 1:p 是常数。
  • 矩阵 Q、Ru 和 RΔu 是对角线,对角元素是这些权重的平方。

三、约束条件


某些约束条件是隐含的。例如,控制范围 m < p(或 MV 阻塞)会强制某些 MV 增量为零,而用于被控对象输出预测的状态观测器是一组隐式相等约束。您可以配置的显式约束如下所述。

3.1 被控对象输出、MV 和 MV 增量的界限

最常见的 MPC 约束是边界,如下所示。

$\frac{y j,m i n(i)}{s_{j}^{y}}-\epsilon_{k}V_{j,m i n}^{y}(i)\leq\frac{y j(k+i| k)}{s_{j}^{y}}\leq\frac{y j,m a x(i)}{s_{j}^{y}}+\epsilon_{k}V_{j,m a x}^{y}(i),\qquad i=1:p,\qquad j=1:n_{y}$

$\frac{u j,m i n(i)}{s_{j}^{u}}-\epsilon k V_{j,m i n}^{u}(i)\leq\frac{u j(k+i-1|k)}{s_{j}^{u}}\leq\frac{u j,m a x(i)}{s_{j}^{u}}+\epsilon k V_{j,m a x}^{u}(i),\quad i=1:p,\quad\quad j=1:n u\quad$

$\frac{\Delta u_{j,m i n}(i)}{s_{j}^{u}}-\epsilon k V_{j,m i n}^{\Delta u}(i)\leq\frac{\Delta u_{j}(k+i-1|k)}{s_{j}^{u}}\leq\frac{\Delta u_{j,m a x}(i)}{s_{j}^{u}}+\epsilon k V_{j,m a x}^{\Delta u}(i),\quad i=1:p,\quad\quad j=1:n u,$ 

这里的 V 参数(ECR 值)是无量纲控制器常数,类似于成本函数权重,但用于约束软化(参见约束软化)。此外还有

εk - 用于约束软化的标量 QP 松弛变量(无量纲)。

syj - 第 j 个被控对象输出的比例因子,单位为工程单位。

suj - 第 j 个 MV 的比例因子,单位为工程单位。

yj,min(i)、yj,max(i) - 第 j 个被控对象在第 i 个预测水平步的产量下限和上限,单位为工程单位。

uj,min(i)、uj,max(i) - 第 j 个 MV 在第 i 个预测水平步的下限和上限,单位为工程单位。

Δuj,min(i)、Δuj,max(i) - 第 i 个预测水平步的第 j 个 MV 增量的下限和上限,单位为工程单位。

除松弛变量非负条件外,上述所有约束条件都是可选的,默认为非活动状态(即初始化为无限极限值)。要包含约束条件,必须在设计控制器时指定有限极限值。

四、QP 矩阵

本节介绍与优化问题中描述的模型预测控制优化问题相关的矩阵。

4.1 预测

假设输入干扰模型中描述的干扰模型为单位增益,即 d(k) = nd(k) 为白高斯噪声。可以将此问题表示为

${x\leftarrow \begin{bmatrix} x\\ x_d \end{bmatrix},A\leftarrow \begin{bmatrix} A & B_d\bar{C} \\ 0 & \bar{A} \end{bmatrix},B_u\leftarrow \begin{bmatrix}B_u\\ 0\end{bmatrix},B_v\leftarrow \begin{bmatrix}B_v\\ 0\end{bmatrix},B_d \leftarrow \begin{bmatrix}B_d\bar{D}\\ \bar{B}\end{bmatrix},C\leftarrow \begin{bmatrix} C & D_d\bar{C} \end{bmatrix}}$

那么,预测模型就是

$x(k+1)=A x(k)+B_{u}u(k)+B_{\nu}\nu(k)+B_{d}n_{d}(k)$

$y(k)=C x(k)+D_{\nu}\nu(k)+D_{d}n_{d}(k)$

接下来,考虑预测模型在时间 k=0 时的未来轨迹问题。对所有预测时刻 i 设置 nd(i)=0,得到 

$y(i|0)=C\left[A^{i}x(0)+\sum_{h=0}^{i-1}A^{i-1}\left(B_{u}\left({​{u(-1)+\sum_{j=0}^{h}}{\Delta u(j)}}\right)+B_{\nu}v(h)\right)\right]+D_{\nu}v(i)$

 该方程给出的解是

$\left[\begin{array}{l}{​{y(1)}}\\ {​{\cdots}}\\ {​{y(p)}}\end{array}\right]=S_{x}x(0)+S_{u1}u(-1)+S_{u}\left[\begin{array}{c}{​{\Delta u(0)}}\\ {​{\cdots}}\\ {​{\Delta u(p-1)}}\end{array}\right]+H_{v}\left[\begin{array}{l}{​{\nu(0)}}\\ {​{\cdots}}\\ {​{\nu(p)}}\end{array}\right]$

其中

$S_{x}=\left(\begin{array}{l}{​{C A}}\\ {​{C A^{2}}}\\ {​{\dots}}\\ {​{C A^{p}}}\end{array}\right)\left.\in\mathfrak{R}^{p n_{y}\times n_{x}},S_{u1}=\left[\begin{array}{l}{​{C B_{u}}}\\ {​{C B_{u}+C A B_{u}}}\\ {​{\dots}}\\ {​{\sum_{h=0}^{p-1}C A^{h}B_{u}}}\end{array}\right]\right.\in\mathfrak{R}^{p n_{y}\times n_{u}}$

S_{u}=\begin{bmatrix} {C B_{u}} & 0 & \cdots & 0 \\ {C B_{u}+C A B_{u}} & {C B_{u}} & \cdots & 0 \\ \cdots&\cdots & \cdots&\cdots \\\sum_{h=0}^{p-1}C A^{h}B_{u} & \sum_{h=0}^{p-2}C A^{h}B_{u}&\cdots &{C B_{u}} \end{bmatrix}\in\mathfrak{R}^{p n_{y}\times n_{u}}

${H_{v}=\begin{bmatrix} {C B_{v}} & D_v & 0 & \cdots & 0 \\ {CA B_{v}} & {C B_{v}} &D_v& \cdots & 0 \\ \cdots&\cdots & \cdots&\cdots&\cdots \\\sum_{h=0}^{p-1}C A^{h}B_{v} & \sum_{h=0}^{p-2}C A^{h}B_{v}&\sum_{h=0}^{p-3}C A^{h}B_{v}&\cdots &{D_v} \end{bmatrix}\in\mathfrak{R}^{p n_{y}\times (p+1)n}}$

4.2 优化变量

设 m 为自由控制移动的次数,设 z= [z0; ...; zm-1]。那么 

$\left[\begin{array}{c}{​{\Delta u(0)}}\\ {​{\ldots}}\\ {​{\Delta u(p-1)}}\end{array}\right]=J M\left[\begin{array}{c}{​{z0}}\\ {​{z m-1}}\end{array}\right]$

其中,JM 取决于阻塞动作的选择。z0、......、zm-1 与松弛变量ɛ 一起构成了优化问题的自由优化变量。在系统只有一个操纵变量的情况下,z0、......、zm-1 是标量。

考虑下图中描述的阻塞动作。

阻塞移动: 移动 = [2 3 2] 的输入和输入增量

这个图形对应于选择 moves=[2 3 2],或者等价于 u(0)=u(1),u(2)=u(3)=u(4),u(5)=u(6),Δ u(0)=z0,Δ u(2)=z1,Δ u(5)=z2,Δ u(1)=Δ u(3)=Δ u(4)=Δ u(6)=0.

那么,相应的矩阵 JM 为

$J_M=\begin{array}{r}{\left[{\begin{array}{r r r}{I}&{0}&{0}\\ {0}&{0}&{0}\\ {0}&{I}&{0}\\ {0}&{0}&{0}\\ {0}&{0}&{0}\\ {0}&{0}&{I}\\ {0}&{0}&{0}\end{array}}\right]}\end{array}$

有关操纵变量阻塞的更多信息,请参阅操纵变量阻塞。

4.3 成本函数

标准形式。 要优化的函数是

$J(z,\varepsilon)=\left ({\begin{bmatrix}u(0)\\ \dots\\ u(p-1)\end{bmatrix} } - {\begin{bmatrix}u_{target}(0)\\ \dots\\ u_{target}(p-1)\end{bmatrix} }\right )^T W_u^2 \left ({\begin{bmatrix}u(0)\\ \dots\\ u(p-1)\end{bmatrix} } - {\begin{bmatrix}u_{target}(0)\\ \dots\\ u_{target}(p-1)\end{bmatrix} }\right ) + {\begin{bmatrix}\Delta u(0)\\ \dots\\ \Delta u(p-1)\end{bmatrix}^T { W}_{\Delta u}^{2} {\begin{bmatrix}\Delta u(0)\\ \dots\\ \Delta u(p-1)\end{bmatrix}} }$

${+ \left ({\begin{bmatrix}y(1)\\ \dots\\ y(p)\end{bmatrix} }-{\begin{bmatrix}r(1)\\ \dots\\ r(p)\end{bmatrix} } \right )^T{ W}_{y}^{2} \left ({\begin{bmatrix}y(1)\\ \dots\\ y(p)\end{bmatrix} }-{\begin{bmatrix}r(1)\\ \dots\\ r(p)\end{bmatrix} } \right ) + \rho_{\mathcal{E}}{\mathcal{E}}^{2}}$ 

其中

$W_{u}=\mathrm{diag}\!\left({w}_{0,1}^{u},{w}_{0,2}^{u},...,{w}_{0,n}^{u},...,{w}_{p-1,1}^{u}\!,{w}_{p-1,2}^{u}\!,{w}_{p-1,2}^{u}\!,\dots,{w}_{p-1,n}^{u}\!\right)$

$W\Delta u=\mathrm{diag}\biggl(w_{0,1}^{\Delta u},w_{0,2}^{\Delta u},...,w_{0,n_{u}}^{\Delta u},...,w_{p-1,1}^{\Delta u},w_{p}^{\Delta u},...,w_{p-1,n_{u}}^{\Delta u}\biggr)$ 

$W_{y}=\mathrm{diag}\!\left(w_{1,1}^{y},w_{1,2}^{y}\!\cdot\!...,w_{1,n_{y}}^{y},...,w_{p,1}^{y},w_{p,2}^{y}\!....,w_{p,n_{y}}^{y}\right)$ 

最后,在代入 u(k)、Δu(k)、y(k)之后,J(z) 可重写为

$J(z,\varepsilon)=\rho_{\mathcal{E}}\varepsilon^{2}+z^{T}K\Delta u z+ 2\left ( {\begin{bmatrix}r(1)\\ \dots\\ r(p)\end{bmatrix} }^T K_r + {\begin{bmatrix}v(0)\\ \dots\\ v(p)\end{bmatrix} }^T K_v + u(-1)^{T}K_u + {\begin{bmatrix}u_{target}(0)\\ \dots\\ u_{target}(p-1)\end{bmatrix} }^T K_{ut} + +\;x(0)^{T}K x\right )z+{C}_{y}W_{y} c {y}++{C}_{u}W_{u} c {u}$其中

$c_{y}=S_{X}x(0)+S_{u}1u(-1)+H_{v}\left[\begin{array}{l}{​{v(1)}}\\ {​{\cdots}}\\ {​{v(p)}}\end{array}\right]-\left[\begin{array}{l}{​{r(1)}}\\ {​{\cdots}}\\ {​{r(p)}}\end{array}\right]$ 

注意事项

您可能希望 QP 问题保持严格的凸性。如果 Hessian 矩阵 KΔU 的条件数大于 1012,请在每个对角项上添加 10*sqrt(eps)。只有当所有输入率都未受惩罚(WΔu=0)时,才能使用此解决方案(请参阅 mpc 对象的权重属性)。

替代成本函数。  如果使用 "替代成本函数 "中所示的替代成本函数,则等式 1 由以下公式代替:

$\begin{array}{l}{​{W_{u}={\mathrm{blkdiag}}(R_{u},\ldots,R_{u})}}\\ {​{W_{\Delta u}={\mathrm{blkdiag}}(R_{\Delta u,\ldots,R_{\Delta u})}}}\\ {​{W_{y}={\mathrm{blkdiag}}(Q,\ldots,Q)}}\end{array}$

在这种情况下,分块对角矩阵重复 p 次,例如,预测范围内每一步重复一次。

您也可以选择使用标准形式和替代形式的组合。更多信息,请参阅 mpc 对象的权重属性。

约束条件 接下来,考虑输入、输入增量和输出的限制以及约束条件 ɛ≥ 0。

 

注释

为减少计算量,控制器会自动消除无关的约束条件,如无限边界。因此,实时使用的约束集可能远小于本节建议的约束集。

与计算成本函数类似,可以将 u(k)、Δu(k)、y(k) 代入,得到

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

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

相关文章

数据结构(JS实现)

目录 链表链表的特点链表中的常见操作单链表append(data)尾部追加新节点toString()输出链表的节点数据插入节点insert(position,data)get(position)获取链表指定位置节点的数据indexOf(data)查找对应数据节点的位置update(position, newData)更新指定位置节点数据removeAt(posi…

【STM32】STM32学习笔记-ADC单通道 ADC多通道(22)

00. 目录 文章目录 00. 目录01. ADC简介02. ADC相关API2.1 RCC_ADCCLKConfig2.2 ADC_RegularChannelConfig2.3 ADC_Init2.4 ADC_InitTypeDef2.5 ADC_Cmd2.6 ADC_ResetCalibration2.7 ADC_GetResetCalibrationStatus2.8 ADC_StartCalibration2.9 ADC_GetCalibrationStatus2.10 A…

197.【2023年华为OD机试真题(C卷)】执行时长(模拟题-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-执行时长二.解题思路三.题解代码Python题解代码…

前端接收后端传的文件流并下载解决乱码问题

因项目需求手写了一个导出&#xff0c;但是前端获取时出现了乱码&#xff0c;搜到一下解决方案&#xff1a; 两种情况&#xff1a; 1.如果这个接口是get的请求&#xff1a; 后端返回文件流&#xff0c;前端可能会导出txt或者excel的时候&#xff0c;里面的中文会出现乱码文章…

java 音乐会售票平台系统Myeclipse开发mysql数据库struts2结构java编程计算机网页项目

一、源码特点 java 音乐会售票平台系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助struts2框架开发mvc模式&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发 环境为TOCAT7.0,Myeclipse8.5开发&#xff0c;数据…

【投稿优惠|优质会议】2024年材料化学与清洁能源国际学术会议(IACMCCE 2024)

【投稿优惠|优质会议】2024年材料化学与清洁能源国际学术会议(IACMCCE 2024) 2024 International Conference Environmental Engineering and Mechatronics Integration(ICEEMI 2024) 一、【会议简介】 随着全球能源需求的不断增长&#xff0c;清洁能源的研究与应用成为了国际…

三叠云流程制造ERP:构建智慧工厂,实现高效生产管理

在数字化经济的浪潮下&#xff0c;新一代信息技术快速发展&#xff0c;深度整合&#xff0c;引领了工业的创新和变革&#xff0c;推动了企业向智能化发展。解决生产管理、销售管理和技术管理等难题的关键&#xff0c;在于管理者能否及时准确地掌握企业运营信息。三叠云流程制造…

读书之深入理解ffmpeg_简单笔记2(初步)

再回看第一遍通读后的笔记&#xff0c;感觉还有很多的细节需要一一攻克,。 mp4的封装格式&#xff0c;解析方式。 flv的封装格式&#xff0c;解析方式。 ts的封装格式&#xff0c;解析方式。 第四章 封装和解封装 4.2 视频文件转flv &#xff08;头文件和文件内容&#xff0…

Django发送QQ邮件

创建一个表单&#xff0c;供用户填写他们的姓名和电子邮件、电子邮件收件人和可选的注释 创建blog/forms.py from django import formsclass EmailPostForm(forms.Form):name forms.CharField(max_length25)email forms.EmailField()to forms.EmailField()comments forms.…

【ARMv8架构系统安装PySide2】

ARMv8架构系统安装PySide2 Step1. 下载Qt资源包Step2. 配置和安装Qt5Step3. 检查Qt-5.15.2安装情况Step4. 安装PySide2所需的依赖库Step5. 下载和配置PySide2Step6. 检验PySide2是否安装成功 Step1. 下载Qt资源包 if you need the whole Qt5 (~900MB): wget http://master.qt…

密码学(一)

文章目录 前言一、Cryptographic Primitives二、Cryptographic Keys2.1 Symmetric key cryptography2.2 asymmetric key cryptography 三、Confidentiality3.1 Symmetric key encryption algorithms3.2 asymmetric key block ciphers3.3 其他 四、Integrity4.1 symmetric key s…

【C程序设计】C数组

C 语言支持数组数据结构&#xff0c;它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据&#xff0c;但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量&#xff0c;比如 runoob0、runoob1、...、runoob99&#xff0c;而…

Python从入门到网络爬虫(文件I/O详解)

Python提供了强大而灵活的文件I/O&#xff08;输入/输出&#xff09;工具&#xff0c;能够读取、写入和处理各种文件类型。本文将深入介绍Python文件I/O的技巧和示例代码&#xff0c;帮助大家更好地理解如何在Python中处理文件。 打开文件 在Python中&#xff0c;可以使用open…

【安全篇 / FortiGuard】(7.4) ❀ 01. FortiGuard服务到期后会怎么样?❀ FortiGate 防火墙

【简介】很多企业为了网络的安全&#xff0c;都会购买FortiGuard服务&#xff0c;但是FortiGuard服务都是有期限的&#xff0c;由于各种原因&#xff0c;企业在超过服务期限后没有继续购买FortiGuard服务&#xff0c;那么会出现什么情况&#xff1f;防火墙还能继续工作吗&#…

61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析

内容来源于&#xff1a;易道云信息技术研究院VIP课 上一节内容&#xff1a;游戏公告功能的逆向分析与测试-CSDN博客 码云地址&#xff08;master分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;63e04cc40f649d10ba2f4f…

【卡梅德生物】制备兔单抗常见问题及解决方法

在制备兔单抗的过程中&#xff0c;可能会遇到一些常见问题&#xff0c;以下是一些可能的问题和相应的解决方法&#xff1a; 1、低抗体产量&#xff1a; 问题原因&#xff1a;免疫兔子后&#xff0c;可能出现抗体产量较低的情况。 解决方法&#xff1a;提高抗原免疫方案、增加…

参加CTF比赛不会这些技术点,过去也是当炮灰!【CTF要掌握哪些技术点】

文章目录 0.前言1. Web技术2. 逆向工程3. 密码学4. 网络分析5. 系统编程6. 二进制分析7. 密码破解8. 隐写术9. 社会工程学10. 日志分析 0.前言 很多人学了很久网络安全方面的技术出来还是找不到工作&#xff0c;这到底是为什么&#xff1f;其实是没弄清楚现在企业在网络安全方…

伦茨科技Apple Find My认证芯片-ST17H6x芯片

深圳市伦茨科技有限公司&#xff08;以下简称“伦茨科技”&#xff09;发布ST17H6x Soc平台。成为继Nordic之后全球第二家取得Apple Find My「查找」认证的芯片厂家&#xff0c;该平台提供可通过Apple Find My认证的Apple查找&#xff08;Find My&#xff09;功能集成解决方案。…

Docker网络相关操作

文章目录 网络相关操作1 网络模式1.1 bridge模式1.2 host模式1.3 Container网络模式1.4 none模式1.5 overlay网络模式1.6 macvlan网络模式 2 bridge网络2.1 通过link的方式2.2 新建bridge网络 3 none网络4 host网络5 网络命令汇总5.1 查看网络5.2 创建网络5.3 删除网络5.4 查看…

(适趣AI)Vue笔试题

&#x1f4d1;前言 本文主要是【Vue】——&#xff08;适趣AI&#xff09;Vue笔试题的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 …