Proximal Distance Algorithm (近段距离算法)

文章目录

  • 第一篇
    • \section*{近端距离算法(Proximal Distance Algorithm)详解}
      • \subsection*{1. MM原理(Majorization-Minimization Principle)}
      • \subsection*{2. 近端距离算法(Proximal Distance Algorithm)}
      • \subsection*{3. 距离支配(Distance Majorization)}
      • \subsection*{4. 精确罚函数方法(Exact Penalty Method)}
      • \subsection*{6. 实验结果}
      • \section*{结论}
  • 第二篇
    • \section*{1. 论文介绍}
      • \section*{2. 基本思想}
      • \section*{3. 近端映射(Proximal Mapping)}
      • \section*{4. 罚函数方法(Penalty Method)}
      • \section*{5. 距离支配(Distance Majorization)}
      • \section*{6. 主要迭代更新公式}
      • \section*{7. 应用示例}
      • \section*{8. 总结}
  • 应用
    • \section*{1. 原始问题的非凸性}
    • \section*{2. PDA 推导过程}
    • \subsection*{2.2 距离支配与代理函数}
    • \subsection*{2.3 迭代更新公式}
    • \subsection*{2.4 逐步求解非凸问题}
    • \section*{3. 凸性的变化}
    • \section*{4. 结合论文中的问题}
    • \section*{5. PDA 收敛性与性能}
    • \section*{总结}

参考材料
arXiv:1507.07598v1 [math.OC] 27 Jul 2015

Proximal Distance Algorithms: Theory and Practice Kevin L. Keys Hua Zhou Kenneth Lange
Journal of Machine Learning Research

第一篇

\section*{近端距离算法(Proximal Distance Algorithm)详解}

这篇论文介绍了近端距离算法(Proximal Distance Algorithm,简称PDA),它是一种用于解决包含约束条件的优化问题的算法。该算法基于MM(Majorization-Minimization)原理,即通过使用较简单的代理函数来迭代优化复杂的目标函数。PDA在处理非光滑约束问题(例如线性规划、非负二次规划、矩阵补全等)时非常有效。

\subsection*{1. MM原理(Majorization-Minimization Principle)}

MM原理是构建优化算法的一种工具,通过将难以处理的目标函数 f ( x ) f(x) f(x) 替换为更简单的代理函数 g ( x ∣ x n ) g(x | x_n) g(xxn),在每次迭代中优化该代理函数,确保目标函数不断下降。具体地,对于目标函数 f ( x ) f(x) f(x),MM原理使用代理函数 g ( x ∣ x n ) g(x | x_n) g(xxn),并满足以下条件:

  • 切线条件 g ( x n ∣ x n ) = f ( x n ) g(x_n | x_n) = f(x_n) g(xnxn)=f(xn)
  • 支配条件 g ( x ∣ x n ) ≥ f ( x ) g(x | x_n) \geq f(x) g(xxn)f(x),适用于所有 x x x

这种构造确保每次迭代中,新的迭代点 x n + 1 x_{n+1} xn+1 能使目标函数 f ( x ) f(x) f(x) 减小。对于非光滑问题,PDA将此原理应用于多种情形,例如集合投影和近端映射(Proximal Mapping)。

\subsection*{2. 近端距离算法(Proximal Distance Algorithm)}

PDA结合了精确罚函数方法(Exact Penalty Method)和距离支配(Distance Majorization)来创建一种模块化的算法,适用于各种优化问题,特别是那些带有非光滑约束的场景。该算法的核心步骤包括:

  • 将约束问题转化为无约束问题,通过在目标函数 f ( y ) f(y) f(y) 上增加一个距离惩罚项 ρ ⋅ dist ( y , S ) \rho \cdot \text{dist}(y, S) ρdist(y,S),其中 S S S 是约束集, ρ \rho ρ 是惩罚参数。
  • 通过近端映射(Proximal Map)和投影运算,将每次迭代中的点投影到约束集 S S S 上。
  • 对于非凸集 S S S,采用光滑逼近 dist ϵ ( x , S ) \text{dist}_\epsilon(x, S) distϵ(x,S),使得问题的数值计算更为稳定。

\subsection*{3. 距离支配(Distance Majorization)}

在欧几里得空间上,距离函数 dist ( x , S ) \text{dist}(x, S) dist(x,S) 是一个利普希茨函数,且当 S S S 是凸集时, dist ( x , S ) \text{dist}(x, S) dist(x,S) 也是凸的。PDA利用了这个性质,通过支配函数 ∥ x − P S ( x n ) ∥ \|x - P_S(x_n)\| xPS(xn) 来支配距离函数 dist ( x , S ) \text{dist}(x, S) dist(x,S),其中 P S ( x n ) P_S(x_n) PS(xn) 是点 x n x_n xn 在集合 S S S 上的投影。

该方法通过以下主要公式构建:

g ( x ∣ x n ) = f ( x ) + w n 2 ∥ x − P S ( x n ) ∥ 2 g(x | x_n) = f(x) + \frac{w_n}{2} \|x - P_S(x_n)\|^2 g(xxn)=f(x)+2wnxPS(xn)2

其中 w n = ρ ∥ x n − P S ( x n ) ∥ 2 + ϵ w_n = \frac{\rho}{\sqrt{\|x_n - P_S(x_n)\|^2 + \epsilon}} wn=xnPS(xn)2+ϵ ρ 是动态更新的权重,确保目标函数 f ( x ) f(x) f(x) 在每次迭代中下降。

\subsection*{4. 精确罚函数方法(Exact Penalty Method)}

Clarke的精确罚函数方法用于处理非光滑约束。通过增加距离惩罚项,将约束问题转换为无约束问题:

F ρ ( y ) = f ( y ) + ρ ⋅ dist ( y , S ) F_\rho(y) = f(y) + \rho \cdot \text{dist}(y, S) Fρ(y)=f(y)+ρdist(y,S)

当惩罚参数 ρ \rho ρ 足够大时,该方法可以保证逼近原始约束问题的最优解。

对于多个闭集的交集约束问题,使用如下的综合距离惩罚项:

ϕ S ( y ) = ∑ i = 1 m dist ( y , S i ) 2 \phi_S(y) = \sqrt{\sum_{i=1}^{m} \text{dist}(y, S_i)^2} ϕS(y)=i=1mdist(y,Si)2

该公式确保在多个闭集的交集上施加约束,且具有良好的收敛性。

\subsection*{5. 算法的应用}

论文展示了PDA在多个领域中的应用,如:

  • 线性规划:通过自适应的障碍函数方法,PDA能够解决线性规划中的约束问题。具体方法使用Bregman主要化(Bregman Majorization),并结合牛顿法的第一步更新。
  • 矩阵补全:通过奇异值分解(SVD),PDA将部分观测的矩阵逼近为低秩矩阵。投影操作使用截断的奇异值分解:

P R k ( X ) = ∑ i = 1 k σ i u i v i T P_{R_k}(X) = \sum_{i=1}^{k} \sigma_i u_i v_i^T PRk(X)=i=1kσiuiviT

其中 σ i \sigma_i σi 是奇异值, u i u_i ui v i v_i vi 分别是左右奇异向量。

\subsection*{6. 实验结果}

论文通过实验验证了PDA在解决非负二次规划、二元分段线性函数优化、稀疏逆协方差估计等问题中的有效性。对比标准优化软件如CVX和MATLAB的quadprog,PDA在大规模问题上表现出更好的性能。

\section*{结论}

论文表明,PDA是一种灵活且强大的优化算法,特别是在高维和非凸约束问题中表现出色。它的主要优点是能够处理复杂的非光滑约束问题,且易于与现有的优化技术结合。




第二篇

\section*{1. 论文介绍}

本文介绍了结合经典约束优化中的罚函数方法和距离支配技术的优化算法——近端距离算法(Proximal Distance Algorithm,简称PDA)。该算法应用于高维非凸优化问题,尤其是在处理带有约束的优化问题时表现良好。

\section*{2. 基本思想}

近端距离算法的基本思想是,将带有约束集 C C C 的优化问题通过引入惩罚项转化为无约束优化问题。设 f ( x ) f(x) f(x) 是损失函数, C C C 是约束集,则该问题可以表示为:

min ⁡ x f ( x ) , subject to  x ∈ C . \min_{x} f(x), \quad \text{subject to } x \in C. xminf(x),subject to xC.

通过引入惩罚项,该问题可以转化为:

min ⁡ x f ( x ) + ρ 2 dist ( x , C ) 2 , \min_{x} f(x) + \frac{\rho}{2} \text{dist}(x, C)^2, xminf(x)+2ρdist(x,C)2,

其中 dist ( x , C ) \text{dist}(x, C) dist(x,C) 是点 x x x 到集合 C C C 的欧几里得距离, ρ \rho ρ 是罚函数的参数。随着 ρ \rho ρ 增大,解将逐渐逼近约束集上的最优解。

\section*{3. 近端映射(Proximal Mapping)}

在每次迭代中,近端映射被用来更新当前的解。近端映射定义为:

prox f ( y ) = arg ⁡ min ⁡ x ( f ( x ) + 1 2 ∥ x − y ∥ 2 ) , \text{prox}_f(y) = \arg\min_x \left( f(x) + \frac{1}{2} \|x - y\|^2 \right), proxf(y)=argxmin(f(x)+21xy2),

其中 ∥ ⋅ ∥ \| \cdot \| 是欧几里得范数。

在PDA中,近端映射通过结合投影操作来实现。在每次迭代中,当前解 x k x_k xk 被投影到约束集 C C C 上,表示为 P C ( x k ) P_C(x_k) PC(xk),然后通过以下公式更新解:

x k + 1 = prox ρ − 1 f ( P C ( x k ) ) . x_{k+1} = \text{prox}_{\rho^{-1} f}(P_C(x_k)). xk+1=proxρ1f(PC(xk)).

\section*{4. 罚函数方法(Penalty Method)}

近端距离算法使用经典的罚函数方法,将带有约束的优化问题转化为无约束问题。罚函数的形式为:

F ρ ( x ) = f ( x ) + ρ 2 dist ( x , C ) 2 . F_\rho(x) = f(x) + \frac{\rho}{2} \text{dist}(x, C)^2. Fρ(x)=f(x)+2ρdist(x,C)2.

该罚函数会随着 ρ \rho ρ 的增大而逼近最优解。在每次迭代中,使用距离惩罚项将解投影到约束集 C C C 上。

\section*{5. 距离支配(Distance Majorization)}

在欧几里得空间中,距离函数 dist ( x , C ) \text{dist}(x, C) dist(x,C) 是一个利普希茨函数,且当 C C C 为凸集时,距离函数是凸的。PDA 利用了这一特性,通过支配函数近似距离函数。具体来说,支配函数为:

∥ x − P C ( x k ) ∥ , \|x - P_C(x_k)\|, xPC(xk),

其中 P C ( x k ) P_C(x_k) PC(xk) 是当前迭代点 x k x_k xk 在集合 C C C 上的投影。

该支配函数代替了距离惩罚项 dist ( x , C ) 2 \text{dist}(x, C)^2 dist(x,C)2,并通过以下代理函数进行迭代:

g ( x ∣ x k ) = f ( x ) + ρ 2 ∥ x − P C ( x k ) ∥ 2 . g(x | x_k) = f(x) + \frac{\rho}{2} \|x - P_C(x_k)\|^2. g(xxk)=f(x)+2ρxPC(xk)2.

在每次迭代中,通过最小化该代理函数来更新解。

\section*{6. 主要迭代更新公式}

结合近端映射和投影算子,PDA的主要迭代公式为:

x k + 1 = prox ρ − 1 f ( P C ( x k ) ) . x_{k+1} = \text{prox}_{\rho^{-1} f}(P_C(x_k)). xk+1=proxρ1f(PC(xk)).

对于每次迭代,罚函数的形式为:

f ( x ) + ρ 2 dist ( x , C ) 2 . f(x) + \frac{\rho}{2} \text{dist}(x, C)^2. f(x)+2ρdist(x,C)2.

在非凸优化问题中,通过以下更新公式来确保算法的收敛性:

x k + 1 = prox ρ − 1 f [ x k − ∇ q ( x k ) ] . x_{k+1} = \text{prox}_{\rho^{-1} f}[x_k - \nabla q(x_k)]. xk+1=proxρ1f[xkq(xk)].

其中 ∇ q ( x k ) \nabla q(x_k) q(xk) 是关于距离惩罚项的梯度。

\section*{7. 应用示例}

PDA在以下场景中具有广泛的应用:

  • 线性规划(Linear Programming):通过投影到线性约束集上,更新解的迭代过程。
  • 稀疏主成分分析(Sparse PCA):通过投影到稀疏约束集上,进行主成分的提取。
  • 二阶锥约束问题(Second-Order Cone Programming):在二阶锥约束问题中,利用近端映射和距离支配更新解。

\section*{8. 总结}

本文提出的近端距离算法(PDA)通过引入距离惩罚项,结合近端映射和投影操作,实现了对带有约束的优化问题的有效求解。该算法特别适用于高维和非凸问题,在多个实际问题中的应用中表现出色。尽管每次迭代的计算简单,PDA在处理复杂优化问题时表现出很强的竞争力。




应用

\documentclass{article}
\usepackage{amsmath, amssymb}

\begin{document}

\title{Proximal Distance Algorithm 推导过程}
\author{}
\date{}
\maketitle

\section*{1. 原始问题的非凸性}

在论文中,目标是最大化多用户隐蔽通信系统的总速率,该问题是非凸的,尤其是因为:
\begin{itemize}
\item \textbf{目标函数的非凸性}:速率最大化公式 log ⁡ 2 ( 1 + γ k ) \log_2(1 + \gamma_k) log2(1+γk) 涉及用户的 SINR(信干噪比),而 SINR 的形式为:
γ k = ∣ h k H ( T ) w k ∣ 2 ∑ i ≠ k ∣ h k H ( T ) w i ∣ 2 + σ 2 \gamma_k = \frac{|h_k^H(T)w_k|^2}{\sum_{i \neq k} |h_k^H(T)w_i|^2 + \sigma^2} γk=i=khkH(T)wi2+σ2hkH(T)wk2
由于信道和波束成形向量之间的非线性关系,导致该优化问题是非凸的。

\item \textbf{天线位置优化的非凸性}:天线位置的优化涉及移动天线与多用户信道之间的复杂几何关系,这种空间上的优化也是非凸的。
\end{itemize}

因此,直接求解该问题困难,PDA 提供了一个有效的方法来处理这些非凸性。

\section*{2. PDA 推导过程}

PDA 的基本思想是通过引入惩罚函数和距离支配技术,将非凸问题转化为可迭代求解的优化问题。具体步骤如下:

\subsection*{2.1 目标函数的重构}
给定一个非凸优化问题:
min ⁡ f ( x ) , subject to  x ∈ S \min f(x), \quad \text{subject to } x \in S minf(x),subject to xS

我们引入一个惩罚项,将约束优化问题转化为无约束问题:
F ρ ( x ) = f ( x ) + ρ 2 ⋅ dist ( x , S ) 2 F_\rho(x) = f(x) + \frac{\rho}{2} \cdot \text{dist}(x, S)^2 Fρ(x)=f(x)+2ρdist(x,S)2
其中, ρ \rho ρ 是惩罚参数, dist ( x , S ) \text{dist}(x, S) dist(x,S) 是点 x x x 到约束集 S S S 的欧几里得距离。

\subsection*{2.2 距离支配与代理函数}

为了使问题更易处理,我们使用距离支配(Distance Majorization)的技术。在欧几里得空间中,距离函数 dist ( x , S ) \text{dist}(x, S) dist(x,S) 是利普希茨连续的。当约束集 S S S 为凸时,距离函数是凸的。PDA 通过以下代理函数来支配距离函数:
g ( x ∣ x n ) = f ( x ) + w n 2 ⋅ ∥ x − P S ( x n ) ∥ 2 g(x | x_n) = f(x) + \frac{w_n}{2} \cdot \|x - P_S(x_n)\|^2 g(xxn)=f(x)+2wnxPS(xn)2
其中, P S ( x n ) P_S(x_n) PS(xn) 是点 x n x_n xn 在集合 S S S 上的投影, w n = ρ ∥ x n − P S ( x n ) ∥ 2 + ϵ w_n = \frac{\rho}{\sqrt{\|x_n - P_S(x_n)\|^2 + \epsilon}} wn=xnPS(xn)2+ϵ ρ 是动态权重, ϵ \epsilon ϵ 是一个小的正数,用于数值稳定性。

\subsection*{2.3 迭代更新公式}

通过迭代更新式来最小化 g ( x ∣ x n ) g(x | x_n) g(xxn),PDA 通过以下公式进行更新:
x n + 1 = prox ρ − 1 f ( P S ( x n ) ) x_{n+1} = \text{prox}_{\rho^{-1} f}(P_S(x_n)) xn+1=proxρ1f(PS(xn))

这里的 prox ρ − 1 f \text{prox}_{\rho^{-1} f} proxρ1f 是近端映射(Proximal Mapping),其作用是平滑地逼近目标函数。

\subsection*{2.4 逐步求解非凸问题}

PDA 的核心思想是每次迭代中,逐步逼近非凸问题的解,并通过距离惩罚项控制解向约束集的收敛。这种方法的优势在于,即使原始问题是非凸的,通过引入适当的惩罚项,PDA 可以将问题分解为多个更简单的子问题,每个子问题具有较好的收敛性。

\section*{3. 凸性的变化}

在 PDA 推导过程中,问题的凸性会随着不同的步骤而发生变化:
\begin{itemize}
\item \textbf{初始问题的非凸性}:原始问题是非凸的,包括速率最大化目标函数以及天线位置优化问题。
\item \textbf{引入惩罚项后的处理}:通过引入距离惩罚项 ρ 2 ⋅ dist ( x , S ) 2 \frac{\rho}{2} \cdot \text{dist}(x, S)^2 2ρdist(x,S)2,问题被转化为一种新的形式。虽然原始问题的非凸性依然存在,但通过迭代方法中的距离控制,优化的每一步逐渐将解约束到更小的范围内,逼近一个局部最优解。
\item \textbf{使用距离支配的凸化}:在每次迭代过程中,通过代理函数 g ( x ∣ x n ) g(x | x_n) g(xxn),PDA 实际上将复杂的非凸问题转化为了一个局部凸化的子问题。每个子问题相对简单,可以通过标准的凸优化方法求解。最终的迭代更新逐渐逼近全局问题的局部最优解。
\end{itemize}

\section*{4. 结合论文中的问题}

论文中的 PDA 推导过程涉及多用户的波束成形优化和天线位置优化,主要分为以下两部分:
\begin{itemize}
\item \textbf{波束成形优化}:通过 PDA 处理波束成形向量的优化问题,利用近端映射来迭代更新发射波束。这里的目标函数包括了用户之间的干扰项和隐蔽通信的总速率约束。
\item \textbf{天线位置优化}:使用逐步优化的方法来调整天线的位置。该问题涉及几何关系,通过 SCA(顺序凸近似)方法将非凸的天线位置优化转化为局部凸问题,进一步结合 PDA 来处理这些子问题。
\end{itemize}

\section*{5. PDA 收敛性与性能}

PDA 方法具有以下优点:
\begin{itemize}
\item \textbf{处理非凸问题的能力}:通过逐步将非凸问题转化为多个凸子问题,PDA 能够有效处理高维复杂优化问题。
\item \textbf{迭代收敛性}:尽管原始问题是非凸的,PDA 可以保证在每次迭代中收敛到一个局部最优解。该方法通过引入惩罚项和动态权重调整,逐步缩小解的搜索空间。
\end{itemize}

\section*{总结}

Proximal Distance Algorithm 是处理非凸优化问题的一个强有力工具,特别是在论文中的隐蔽通信系统中,通过联合波束成形和天线位置优化来提高总速率。通过引入惩罚项和距离控制,PDA 将复杂的非凸问题分解为多个更易处理的局部凸问题,从而实现有效的迭代求解。

\end{document}

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

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

相关文章

JAVA——IO流(2)

目录 1.缓冲流 a.字节缓冲流 1.构造方法 2.常见方法 3.底层原理 b.字符缓冲流 1.构造方法 2.特有方法 2.转换流 a.概述 b.编码问题 c.InputStreamReader类 1.概述 2.构造方法 d.OutputStreamWrite类 1.概述 2.构造方法 3.序列化流 a.概述 b.ObjectOutputStr…

TCP的建立与终止——三次握手、四次挥手

目录 1. UDP和TCP的区别 2. TCP概述 3. TCP连接的建立(三次握手) 3.1 为什么TCP客户端最后还要发送一次确认? 3.2 什么是半连接队列? 3.3 半连接队列被填满或遇到SYN洪泛攻击是如何处理? 3.4 三次握手过程中可以…

力扣 简单 746.使用最小花费爬楼梯

文章目录 题目介绍题解 题目介绍 题解 思路分析: 确定dp数组以及下标的含义:dp[i]的定义为到达第i台阶所花费的最少体力。确定递推公式:可以有两个途径得到dp[i],一个是dp[i-1] 一个是dp[i-2]。dp[i - 1] 跳到 dp[i] 需要花费 d…

Linux修改npm的镜像源为淘宝镜像

起因:使用官方镜像源下载软件包速度太慢 1.查看npm当前镜像源命令 npm get registry 执行结果 2.还原为官方镜像源命令 npm config set registry https://registry.npmjs.org/ 3.修改为淘宝镜像命令 npm config set registry https://registry.npmmirror.com …

神经网络激活函数定义速查

一、概述 老猿记心不太好,虽然最近写了两篇博文介绍激活函数:神经网络激活函数列表大全及keras中的激活函数定义:https://blog.csdn.net/LaoYuanPython/article/details/142731106》、《神经网络高级激活函数大全及keras中的函数定义 https:…

安装jianmu

一说明 1建木可以代替jkenis进行自动化部署**二安装 2.1登录官网,查看命令** 官网地址:https://docs.jianmu.dev/guide/how-to-deploy.html#%E9%83%A8%E7%BD%B2%E6%96%B9%E5%BC%8F%E4%B8%80%EF%BC%9Adocker-compose%E9%83%A8%E7%BD%B2 2.2拉取yml文件…

OpenStack将运行的系统导出 QCOW2 镜像并导入阿里云

项目背景 OpenStack,作为一个开源的云计算平台,经常被用于构建私有云和公有云服务。然而,随着业务的发展和扩展,企业可能会面临将在OpenStack上运行的虚拟机迁移到其他云服务供应商的需求 需求 因为运营团队在本地机房有一台 O…

技术成神之路:设计模式(二十二)命令模式

介绍 命令模式(Command Pattern)是一种行为设计模式,允许将请求(命令)封装为对象,从而使您可以使用不同的请求、队列或记录请求日志,以及支持可撤销操作。 1. 定义 命令模式将一个请求封装为一个…

【人工智能】探索自然语言处理中的语音识别技术:基于Recurrent Neural Networks (RNN) 和长短期记忆网络(LSTM)模型的深入剖析

语音识别作为自然语言处理中的一项核心任务,近年来取得了长足的进展,尤其是在深度学习技术的推动下。在语音识别任务中,Recurrent Neural Networks (RNN) 尤其是其变体——长短期记忆网络(LSTM),展现出了卓…

python之电影天堂爬取下载链接

电影天堂_电影下载_高清首发 示例仅供参考&#xff0c;如有违权请联系删除&#xff01; 比如我们想要获取“2024必看影片” 鼠标右键&#xff0c;查看源文件 找到这里 匹配正则表达式 obj1 re.compile(r"2024必看热片.*?<ul>(?P<ul>.*?)</ul>&q…

每天练打字8:今日状况——常用字后五百击键4.5第1遍进行中,赛文速度105.75

今日跟打&#xff1a;738字 总跟打&#xff1a;125701字 记录天数&#xff1a;2459天 &#xff08;实际没有这么多天&#xff0c;这个是注册账号的天数&#xff09; 平均每天&#xff1a;50字 本周目标完成进度&#xff1a; 练习常用单字后500&#xff0c;击键3.5&#xff0c;…

springboot048校园资料分享平台(论文+源码)_kaic

校园资料分享平台 摘要 随着信息互联网购物的飞速发展&#xff0c;国内放开了自媒体的政策&#xff0c;一般企业都开始开发属于自己内容分发平台的网站。本文介绍了校园资料分享平台的开发全过程。通过分析企业对于校园资料分享平台的需求&#xff0c;创建了一个计算机管理校园…

vue查缺补漏

之前学习过vue基础&#xff0c;在工作上使用的时候也没有什么问题。最近在看30分钟学会Vue之核心语法,发现有一些不常用的、但挺重要的都快忘掉了&#xff0c;在此补漏一下。 搭建演示环境 创建index.html 导入 vue.min.js文件 <!DOCTYPE html> <html lang"en&…

【WSL2】Ubuntu20.04从零开搭PX4MavrosGazebo环境并测试

参考&#xff1a; 仿真平台基础配置&#xff08;对应PX4 1.13版&#xff09; 语雀 不需要卸载原来的gazebo&#xff0c;语雀对gazebo的插件做了修改&#xff0c;才需要那些步骤 “我们对Gazebo的ROS插件做了修改&#xff0c;因此需要源码编译。” mkdir -p ~/catkin_ws/src …

88.合并两个有序数组

目录 题目解法原地插入的函数如何使用sort()如何删除其中含0的数&#xff1f; 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合…

uniapp学习(007-3 壁纸项目:系统高度等信息的操作)

零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战&#xff0c;开发打包微信小程序、抖音小程序、H5、安卓APP客户端等 总时长 23:40:00 共116P 此文章包含第79p-第p82的内容 文章目录 自定义头部通屏我们自定义一个头部导航小程序的bug代码设计 获取系统的一些高度信…

CSS 设置网页的背景图片

背景 最近正好在写一个个人博客网站“小石潭记”&#xff0c;需要一张有水&#xff0c;有鱼的图片。正好玩原神遇到了类似场景&#xff0c;于是截图保存&#xff0c;添加到网站里面。以下是效果图&#xff1a; css 写个class&#xff0c;加到整个网页的body上 .bodyBg {ba…

【数据结构与算法】队列——数据世界中的“有序使者”

大家好&#xff0c;我是小卡皮巴拉 文章目录 目录 引言 一.队列的基本概念 1.1 队列的定义 1.2 队列的特性 1.3 队列的基本操作 二.队列的实现方式 2.1 基于链表的队列 2.2 基于数组的队列 三.基于链表的队列实现 定义链表队列的结构 初始化 入队列——向队列中插…

Yocto构建i.MX处理器目标镜像

1. 初始化构建环境 首先&#xff0c;通过运行imx-setup-release.sh脚本来初始化Yocto构建环境。此脚本的标准语法如下&#xff1a; $ DISTRO<distro name> MACHINE<machine name> source imx-setup-release.sh -b <build dir>DISTRO<distro configurati…

10-15个工作站用Pr处理25个4K视频 性能要求

在4K非编环境里&#xff0c;10-15台工作站运行Adobe Premiere&#xff0c;工作站跑25个4K ProRes 422 视频流。要求存储至少提供5GB/s的&#xff0c;2GB/s的读&#xff0c;并且提供650TB的空间。只有达到这样的要求&#xff0c;才能保证文件快速访问&#xff0c;以及编辑时做到…