【雷达信号处理——导引】比例导引法推导全图:从平面几何到三维对抗的公式链

比例导引详解(Proportional navigation guidance,PNG)-及Python程序 介绍了比例引导制导律,并给出了python仿真程序 阅读详情

副标题:当我们把第 5 章所有公式串成一张依赖图,你会发现 N’ > 2 是唯一的通关密码

推导来源:N.A. 施耐德《导弹导引和追踪》第 5 章全部核心公式 (5.1)~(5.53)


开场:为什么要把推导单独拎出来?

上一篇我们一起逛了比例导引法的"展厅"——看了制导回路长什么样,TPN 和 PPN 怎么分岔,三维空间怎么实现。但展厅里的每件展品背后,都有一条数学生产线。如果我们把生产线也逛一遍,你会发现所有公式不是凭空掉下来的,它们像乐高积木一样一块一块咬合在一起。

别急,推导听起来很吓人对吧?我们这次不追求"从公理到定理"的教科书式严谨,而是追求**"从疑问到啊哈"的认知路径。每走一步,我们只问一个问题;每解决一个,就画一张小图。最后,我们会得到一张全章公式的依赖关系图**——就像深度学习里的计算图,你能清楚地看到:如果改动 N = 2 这个节点,哪些下游公式会跟着爆炸。


第一步:四大几何量——整个推导大厦的地基

在继续之前,我们必须先搞定四个符号。教材第 5 章几乎所有公式都从它们出生。

想象导弹 M 和目标 T 在一个平面上。连接两者的线段叫视线(LOS)。我们定义:

符号名称物理意义类比
r弹目距离LOS 的长度序列长度
λ视线角LOS 与参考方向的夹角注意力权重角度
γM导弹航向角速度矢量与参考方向的夹角RNN 隐藏状态
δ前置角速度矢量与 LOS 的夹角,δ = γM - λ状态偏差

如果画成图会是什么样子?想象一个三角形,顶点在导弹身上:

平面几何四元组

夹角 λ

夹角 γM

夹角 δ

参考方向
x 轴

视线 r
→ T

速度 vM
→

核心关系:
δ = γM - λ

这个关系 δ = γM - λ 是整个推导大厦的第一块砖。所有后续的微分方程,本质上都在对这个恒等式两边求导。


第二步:运动学方程组——状态转移的"前向传播"

现在我们已经了解了四大几何量。接下来要解决的认知疑点是:如果导弹匀速飞行、目标静止,这四个量怎么随时间演化?

教材式 (5.6) 给出了平面运动学的"前向传播"公式:

ṙ = -v<sub>M</sub> cos δ               (A)
r λ̇ = -v<sub>M</sub> sin δ              (B)
γ̇<sub>M</sub> = λ̇ + δ̇                 (C)

这三条方程的推导其实只用到高中物理:把导弹速度 vM 分解到视线方向(得到 ṙ)和视线垂直方向(得到 rλ̇)。第三条是 δ = γM - λ 的直接求导。

注意这里的结构——它像极了 RNN 的状态更新:

  • 输入:当前几何状态 {r, λ, γM, δ}
  • 参数:导弹速度 vM(常数)
  • 输出:状态变化率 {ṙ, λ̇, γ̇M, δ̇}

如果画成计算图会是什么样子?

投影到 LOS

投影到 ⊥ LOS

恒等式求导

距离缩短

视线转动

航向转动

当前状态
r, λ, γM, δ

ṙ = -vM cos δ

r λ̇ = -vM sin δ

γ̇M = λ̇ + δ̇

r(t+Δt)

λ(t+Δt)

γM(t+Δt)


第三步:代入 PN 律——从开环到闭环的关键一跃

现在我们已经了解了运动学的前向传播。接下来要解决的认知疑点是:比例导引律这个"反馈信号"是怎么插进运动学方程的?

教材式 (5.1) 定义了 PN 律:

γ̇<sub>Mc</sub> = N λ̇

假设导弹动力学理想(无时滞),则实际航向变化率等于指令:γ̇M = N λ̇。把它代入运动学方程 ©:

N λ̇ = λ̇ + δ̇
=> δ̇ = (N - 1) λ̇                    (D)

这就是闭环后的第一个关键结果。它告诉我们:在 PN 控制下,前置角 δ 的变化率与视线转动率成正比,比例系数是 (N-1)。

如果 N = 1,δ̇ = 0,前置角恒定——导弹始终对准目标,这就是纯追踪。
如果 N > 1,导弹在转弯时"提前量"不断积累,轨迹越来越直。


第四步:静止目标的闭式解——分离变量法的"啊哈"时刻

现在我们已经了解了闭环关系 δ̇ = (N-1)λ̇。接下来要解决的认知疑点是:能不能直接写出 r(λ) 的函数,而不必数值积分?

能。教材式 (5.7) 和 (5.8) 给出了静止目标下的闭式解。我们来看看这条生产线怎么运作。

第一步:从式 (B) 和式 (D) 消去时间 t。

由 (B):dλ/dt = -vM sin δ / r
由 (D):dδ/dt = (N-1) dλ/dt

两式相除,dt 被消掉:

dδ/dλ = N - 1
=> δ = δ<sub>0</sub> + (N-1)(λ - λ<sub>0</sub>)        (E)

第二步:把 δ(λ) 代回式 (B),分离变量。

r dλ = -v<sub>M</sub> sin[δ<sub>0</sub> + (N-1)(λ-λ<sub>0</sub>)] dt

但我们需要 r 作为 λ 的函数,而不是 t 的函数。利用式 (A) 消去 dt:

dr/dλ = (ṙ)/(λ̇) = [-v<sub>M</sub> cos δ] / [-v<sub>M</sub> sin δ / r] = r cot δ

第三步:分离变量并积分。

dr/r = cot δ dδ
∫(1/r)dr = ∫cot δ dδ
ln(r/r<sub>0</sub>) = (1/(N-1)) ln[ sin(δ<sub>0</sub>+(N-1)(λ-λ<sub>0</sub>)) / sin δ<sub>0</sub> ]

指数化后得到教材式 (5.7):

r/r<sub>0</sub> = [ sin(δ<sub>0</sub> + (N-1)(λ-λ<sub>0</sub>)) / sin δ<sub>0</sub> ]<sup>1/(N-1)</sup>

第四步:求加速度 aM。

由 PN 律 aM = N vM λ̇,再把式 (B) 的 λ̇ 和式 (5.7) 的 r/r0 代入,得到式 (5.8):

a<sub>M</sub> = [N v<sub>M</sub>² sin δ<sub>0</sub> / r<sub>0</sub>] (r/r<sub>0</sub>)<sup>N-2</sup>

如果画成推导依赖图会是什么样子?

÷

消去 dt

积分

代入

分离变量
∫dr/r = ∫cot δ dδ

指数化

代入 aM=NvMλ̇

ṙ = -vM cos δ

r λ̇ = -vM sin δ

dr/dλ = r cot δ

δ̇ = (N-1)λ̇

δ = δ0+(N-1)(λ-λ0)

ln(r/r0) = ...

r/r0 = [sin(...)/sin δ0]1/(N-1)
式 5.7

aM = const × (r/r0)N-2
式 5.8


第五步:N = 2 的临界奇迹——为什么这个点如此特殊?

现在我们已经了解了闭式解。接下来要解决的认知疑点是:当导弹接近目标(r → 0)时,加速度 aM 会爆炸还是归零?这完全取决于 N 的取值?

看式 (5.8) 的 (r/r₀)^(N-2) 项:

N 的范围r → 0 时 (r/r₀)^(N-2) 的行为aM 的极限物理意义
N < 2指数 < 0,项 → ∞aM → ∞不可能实现,导弹拉断也追不上
N = 2指数 = 0,项 = 1aM = 2vM²/r₀ sin δ₀ = 常数完美!全程匀速圆周
N > 2指数 > 0,项 → 0aM → 0越来越轻松,优雅收敛

这就是教材反复强调的:N = 2 是动力学临界点。它把参数空间切成了"可行区"和"不可行区"。

如果画成图会是什么样子?想象一个开关:

N 参数空间

跨越

跨越

N < 2
禁区
aM→∞
发散

N = 2
临界点
aM = const
圆轨迹

N > 2
安全区
aM→0
收敛


第六步:剩余时间变换——把时域方程变成 τ 域的"归一化"

现在我们已经了解了平面闭式解。接下来要解决的认知疑点是:如果目标也在动,或者我们想看看"距离碰撞还有多久"时的行为,怎么简化微分方程?

教材 5.4 节引入了一个神来之笔:剩余时间 τ = tf - t。同时假设接近速度 vC = -ṙ 为常数(NCC 假设),于是 r = vC τ。

把式 (A) 和 (B) 合并,并代入 PN 律,得到 TPN 的微分方程 (5.14):

r ω̇ + 2 ω ṙ + k ω = 0

其中 ω = λ̇。注意到 ṙ = -vC,且 d/dt = -d/dτ(因为 τ 随时间倒流),方程变为 (5.15):

v<sub>C</sub> τ dω/dτ + (2v<sub>C</sub> - k) ω = 0

这是可分离变量的一阶线性 ODE。把含 ω 的放一边,含 τ 的放一边:

dω/ω = [(k - 2v<sub>C</sub>) / (v<sub>C</sub> τ)] dτ

积分后得到教材式 (5.16):

ω(τ) = ω<sub>0</sub> (τ / t<sub>f</sub>)<sup>(k/v<sub>C</sub> - 2)</sup>

教材定义了有效导引常数 N’:

N' ≜ k / v<sub>C</sub> = N v<sub>M</sub> / v<sub>C</sub>

于是式 (5.16) 写成更简洁的幂律形式:

ω(τ) = ω<sub>0</sub> (τ / t<sub>f</sub>)<sup>N'-2</sup>

如果画成图会是什么样子?想象时间轴被"翻转"了:

变换
τ = tf - t

ODE 解
ω ∝ τN'-2

τ 域
剩余时间倒流

衰减

τ = tf

τ = 0
碰撞

时域 t
导弹飞向未来

流逝

t = 0

t = tf
碰撞

末端行为
N'>2: ω→0
N'=2: ω=const
N'<2: ω→∞


第七步:零控脱靶量——把几何直觉翻译成制导指令

现在我们已经了解了 τ 域的幂律解。接下来要解决的认知疑点是:能不能不用解微分方程,直接根据"如果现在撒手不管,会脱靶多远"来生成指令?

这就是教材式 (5.19) 和 (5.20) 的零控脱靶量(Zero Effort Miss, ZEM) 思想。

假设在时刻 t,导弹突然关闭发动机,以当前状态惯性飞行剩余时间 τ。横向位移的线性外推是:

m(t, τ) = y(t) + ẏ(t) τ

这里 y = r λ 是垂直于参考视线的横向距离。如果 m = 0,说明导弹正沿着一条完美碰撞路线飞行。

教材把 TPN 的加速度指令表示为:

a<sub>Mc</sub>(t) = N' m(t, τ) / τ²

这个公式的美在于它的物理直觉:加速度正比于"预期脱靶量",反比于"剩余时间的平方"。就像你开车时发现要撞墙了,距离墙越远、时间越充裕,你打方向的力度就越小;但时间越紧迫,哪怕偏离一点点也需要极大的修正力。

如果画成图会是什么样子?

线性外推

脱靶量越大
指令越大

制导指令

aMc = N' m / τ²

τ 时刻后
如果撒手

脱靶点
m = y + ẏτ

当前时刻 t

当前横向位置 y

当前横向速度 ẏ

导弹

参考视线

趋势延长线


第八步:三维向量分解——从标量到矩阵的跃迁

现在我们已经了解了平面推导的全部链条。接下来要解决的认知疑点是:如果把战场扩展到三维,所有标量公式怎么升级成向量运算?

教材 5.6 节给出了三维 PN 的向量生产线。我们一步一步来。

第一步:定义视线角速度向量 w(式 5.36)

w = (r × ṙ) / r² = [r × (v<sub>T</sub> - v<sub>M</sub>)] / r² = [r × (-v<sub>C</sub>)] / r²

这里 r 和 vC 都是三维向量,× 是叉乘。w 的方向是视线转动的瞬时轴,大小是转动角速率。就像刚体动力学里的角速度矢量。

第二步:分解接近速度(式 5.38 的前置步骤)

把 vC 分解为平行于视线和垂直于视线的分量:

v<sub>C</sub> = v<sub>C∥</sub> + v<sub>C⊥</sub>
v<sub>C∥</sub> = (v<sub>C</sub> · l<sub>r</sub>) l<sub>r</sub>
v<sub>C⊥</sub> = v<sub>C</sub> - v<sub>C∥</sub>

其中 lr = r / ||r|| 是视线单位向量。vC⊥ 是"让视线转动"的罪魁祸首。

第三步:TPN 的三维形式(式 5.38)

a<sub>Mc,TPN</sub> = -(k / r) v<sub>C⊥</sub>

太漂亮了!加速度只与垂直于视线的接近速度分量成正比,方向恰好是消除这个分量。这就像注意力机制里的残差修正:看到目标偏离视线的速度有多大,就产生一个反向加速度把它拉回来。

第四步:PPN 的三维形式(式 5.34)

a<sub>Mc,PPN</sub> = N (w × v<sub>M</sub>)

PPN 的加速度垂直于导弹自身的速度 vM。教材证明了一个关键性质:aMc,PPN 始终与 r 和 vC 共面。这个平面被称为交会平面。也就是说,PPN 把三维问题约束在了一个二维流形上。

如果画成向量分解图会是什么样子?

三维空间

r

vM

vT

投影

投影

TPN 只对此反应
aM = -k/r vC⊥

PPN 反应
aM = N w×vM

导弹 M

目标 T

→

→

vC = vM - vT

vC∥
∥ r
负责靠近

vC⊥
⊥ r
负责转动

aM,TPN

w = r×vC/r²

aM,PPN


第九步:TPN vs PPN 的统一公式——Γ 角是唯一的差异源

现在我们已经了解了两种导引律的向量形式。接下来要解决的认知疑点是:能不能用一个公式统一 TPN 和 PPN,让我们一眼看出它们差在哪里?

教材式 (5.24) 给出了这个统一框架:

N' ≜ k cos Γ / v<sub>C</sub> = N v<sub>M</sub> cos Γ / v<sub>C</sub>

这里的 Γ 是加速度指令 aM 与视线法线之间的夹角。

  • 对 TPN:加速度垂直于视线,所以 Γ = 0,cos Γ = 1。N’ = N vM / vC。
  • 对 PPN:加速度垂直于 vM,而 vM 与视线的夹角是 δ,所以 Γ = δ。N’ = N vM cos δ / vC。

关键洞察:PPN 的有效增益会随着前置角 δ 增大而衰减(乘以 cos δ)。当 δ → 90° 时,PPN 几乎失去控制能力;而 TPN 始终保持满增益。这就像神经网络里的梯度消失——信号经过一层非对齐变换后被打折了。

如果画成统一公式图会是什么样子?

Γ = 0
cos Γ = 1

Γ = δ
cos Γ = cos δ

N' 恒定

N' 随 δ 变

统一有效导引常数
N' = N vM cos Γ / vC

TPN
N' = N vM/vC
满增益
解析简洁

PPN
N' = N vM cosδ / vC
增益衰减
鲁棒性强

容易分析
闭式解多

分析困难
但攻击区大


第十步:机动目标的对抗推导——末端需要多少过载?

现在我们已经了解了非机动目标的全部推导。接下来要解决的认知疑点是:如果目标突然横向机动(比如飞机急转弯),导弹的加速度需求会怎么变化?

教材 5.4.4 节的结论 (3) 和式 (5.27)~(5.28) 给出了答案。

假设目标以恒定横向加速度 aT 机动,导弹需要以 aM 应对。在 PN 控制下,加速度比满足:

a<sub>M</sub>(τ) / a<sub>T</sub> = [N' / (N' - 2)] [1 - (τ/t<sub>f</sub>)<sup>N'-2</sup>]

当 τ → 0(即将碰撞)时,第二项趋于零,得到极限比值(式 5.28):

(a<sub>M</sub> / a<sub>T</sub>)<sub>f</sub> = N' / (N' - 2)

这就是著名的"3 倍过载法则"的来源:当 N’ = 3 时,导弹需要的末端横向加速度是目标的 3 倍。当 N’ = 4 时,是 2 倍;当 N’ → ∞ 时,比值趋于 1(理论上导弹只需和目标一样机动,但前面需要无穷大的初始过载)。

如果画成图会是什么样子?教材图 5.9 展示了不同 N’ 下 aM/aT 随时间的变化曲线:

最常用

更省能量

但初始过载大

加速度比 aM/aT
随时间演化

t=0
比值=0

t=tf/2
比值≈N'/(N'-2) × 0.5

t=tf
τ=0
比值=N'/(N'-2)

N'=3
末端比值=3

工程 sweet spot

N'=4
末端比值=2

N'=10
末端比值≈1.25


第十一步:全章公式依赖关系总图

好了,现在我们已经把第 5 章所有核心推导走了一遍。在继续之前,让我们停下来,把整条生产线画成一张计算图。如果你以后想修改某个假设(比如"如果 PN 律不是 γ̇ = Nλ̇ 而是别的形式"),你能立刻看到哪些下游公式会跟着变。

机动目标 式 5.27~5.28

统一公式 式 5.24

三维向量 式 5.34~5.38

零控脱靶量 式 5.19~5.20

非静止目标 / NCC 式 5.14~5.16

静止目标闭式解 式 5.7~5.8

闭环

PN 律 式 5.1

运动学 式 5.6

地基

平面几何四元组
r, λ, γM, δ
δ = γM - λ

ṙ = -vM cos δ

r λ̇ = -vM sin δ

γ̇M = λ̇ + δ̇

γ̇Mc = N λ̇

δ̇ = (N-1) λ̇

r/r0 = [sin(...)/sin δ0]1/(N-1)

aM = const × (r/r0)N-2

N=2 临界
aM = const

r ω̇ + 2ωṙ + kω = 0

τ = tf - t 变换

ω = ω0(τ/tf)N'-2

N' = k/vC
有效导引常数

m = y + ẏτ

aMc = N' m / τ²

w = r×vC/r²

vC = vC∥ + vC⊥

aM,TPN = -(k/r) vC⊥

aM,PPN = N w×vM

N' = N vM cos Γ / vC

TPN: Γ=0

PPN: Γ=δ

aM/aT = N'/(N'-2) [1-(τ/tf)N'-2]

(aM/aT)f = N'/(N'-2)

N'=3 → 3倍过载


第十二步:结构化伪代码——把推导流程算法化

如果你希望把上述全部推导写成一段可执行的"数学推导引擎",下面这段结构化伪代码把整个流程封装了起来。注意它不只是"计算加速度",而是复现了从几何假设到闭式解的完整推理链。

Algorithm: PN Derivation Engine (Reproduce Chap. 5 Core Results)
Input:  初始状态 {r<sub>0</sub>, λ<sub>0</sub>, δ<sub>0</sub>, v<sub>M</sub>},
        导引系数 N,
        目标模式 mode ∈ {Static, ConstantVelocity, Maneuvering},
        目标机动参数 {v<sub>T</sub>, a<sub>T</sub>}
Output: 闭式解集合 S = {r(λ), a<sub>M</sub>(τ), N', a<sub>M</sub>/a<sub>T</sub>}

// 第一步:建立几何地基
  assert δ<sub>0</sub> = γ<sub>M0</sub> - λ<sub>0</sub>

// 第二步:选择运动学分支
  if mode == Static then
    // 静止目标:使用式 (5.6) 平面运动学
    // 前向关系:ṙ = -v<sub>M</sub> cos δ,  rλ̇ = -v<sub>M</sub> sin δ

    // 第三步:闭环代入 PN 律
    // γ̇<sub>M</sub> = N λ̇ 代入 γ̇<sub>M</sub> = λ̇ + δ̇
    δ_dot ← (N - 1) * λ_dot

    // 第四步:消去时间变量,分离变量积分
    // dδ/dλ = N - 1  =>  δ = δ<sub>0</sub> + (N-1)(λ - λ<sub>0</sub>)
    δ_func ← λ ↦ δ<sub>0</sub> + (N-1)(λ - λ<sub>0</sub>)

    // dr/dλ = r cot δ(λ)
    // ∫ dr/r = ∫ cot(δ(λ)) dλ
    // 变量替换 u = δ(λ), du = (N-1) dλ
    // => ln(r/r<sub>0</sub>) = (1/(N-1)) ln[ sin(δ(λ)) / sin(δ<sub>0</sub>) ]
    r_sol ← λ ↦ r<sub>0</sub> * [ sin(δ(λ)) / sin(δ<sub>0</sub>) ]<sup>1/(N-1)</sup>

    // 第五步:求加速度
    // a<sub>M</sub> = N v<sub>M</sub> λ̇ = N v<sub>M</sub> (-v<sub>M</sub> sin δ / r)
    // 代入 r_sol 得
    a_sol ← λ ↦ [N v<sub>M</sub>² sin(δ<sub>0</sub>) / r<sub>0</sub>] * [r_sol(λ)/r<sub>0</sub>]<sup>N-2</sup>

    // 第六步:N = 2 临界分析
    if N == 2 then
      a_const ← 2 * v<sub>M</sub>² * sin(δ<sub>0</sub>) / r<sub>0</sub>
      print "临界状态:a<sub>M</sub> = ", a_const, " (常数)"
      print "轨迹为圆,半径 = r<sub>0</sub> / (2 sin δ<sub>0</sub>)"
    else if N < 2 then
      print "警告:N < 2,末端加速度发散,不可实现"
    end

    S ← S ∪ {r_sol, a_sol}

  else if mode == ConstantVelocity || mode == Maneuvering then
    // 非静止目标:使用 NCC 假设 + τ 变换
    v<sub>C</sub> ← v<sub>M</sub> - v<sub>T</sub>          // 接近速度向量
    v<sub>C_norm</sub> ← ||v<sub>C</sub>||

    // 第七步:定义有效导引常数
    k ← N * v<sub>M</sub>                   // 平面标量增益
    N_prime ← k / v<sub>C_norm</sub>      // 式 (5.17)

    // 第八步:τ 域 ODE 求解
    // v<sub>C</sub> τ dω/dτ + (2v<sub>C</sub> - k) ω = 0
    // => dω/ω = (k/v<sub>C</sub> - 2) dτ/τ = (N' - 2) dτ/τ
    // => ω(τ) = ω<sub>0</sub> (τ/t<sub>f</sub>)<sup>N'-2</sup>
    ω_sol ← τ ↦ ω<sub>0</sub> * (τ/t<sub>f</sub>)<sup>N_prime-2</sup>

    // 第九步:零控脱靶量形式(TPN 近似)
    // y = r λ,  m = y + ẏ τ
    // a<sub>Mc</sub> = N' m / τ²
    a_zem ← (y, y_dot, τ) ↦ N_prime * (y + y_dot * τ) / τ²

    // 第十步:机动目标加速度比
    if mode == Maneuvering then
      // a<sub>M</sub>/a<sub>T</sub> = [N'/(N'-2)] [1 - (τ/t<sub>f</sub>)<sup>N'-2</sup>]
      ratio ← τ ↦ [N_prime/(N_prime-2)] * [1 - (τ/t<sub>f</sub>)<sup>N_prime-2</sup>]
      ratio_f ← N_prime / (N_prime - 2)     // τ→0 极限

      print "末端加速度比 a<sub>M</sub>/a<sub>T</sub> = ", ratio_f
      if N_prime == 3 then
        print "经典 3 倍过载法则成立"
      end

      S ← S ∪ {ω_sol, a_zem, ratio, ratio_f}
    else
      S ← S ∪ {ω_sol, a_zem}
    end

    // 第十一步:稳定性校验
    if N_prime <= 2 then
      TriggerWarning("有效导引常数 N' ≤ 2,视线角速率 ω 在末端发散")
    end
  end

  // 第十二步:三维向量扩展(如果请求)
  if dim == 3 then
    l_r ← r_vec / ||r_vec||
    w_vec ← (r_vec × v<sub>C</sub>_vec) / ||r_vec||²

    // TPN:提取垂直分量
    v_C_parallel ← (v<sub>C</sub>_vec · l_r) * l_r
    v_C_perp ← v<sub>C</sub>_vec - v_C_parallel
    a_tpn ← -(k / ||r_vec||) * v_C_perp

    // PPN:叉乘导弹速度
    a_ppn ← N * (w_vec × v<sub>M</sub>_vec)

    // 共面校验(PPN 性质)
    scalar_triple ← v<sub>C</sub>_vec · (r_vec × a_ppn)
    if |scalar_triple| < ε then
      print "PPN 验证通过:a<sub>M</sub>, r, v<sub>C</sub> 共面"
    end

    S ← S ∪ {a_tpn, a_ppn}
  end

  return S

闭环:推导的物理边界与工程翻译

好了,我们已经把第 5 章的推导大厦一块砖一块砖地砌完了。在结束之前,让我们用工程师的视角回答:这些推导在实际中意味着什么?

1. N’ > 2 是硬边界,不是建议

从式 (5.16) 的幂律解 ω ∝ τ^(N'-2) 可以看出,N’ = 2 是奇点。小于 2 时,视线角速率在末端爆炸,导弹需要无限大的过载。这解释了为什么所有实战导弹的 N 都选 3~5——不是为了保守,而是为了保证数学收敛。

2. N’ = 3 是能量最优,不是巧合

式 (5.25) 的注指出:当 N’ = 3 时,控制能量 ∫ aM² dτ 达到最小。同时式 (5.28) 给出末端加速度比恰好是 3。这两个"3"的交汇不是偶然,而是最优控制理论在 PN 框架下的自然涌现。

3. TPN 是"理想模型",PPN 是"工程实现"

从统一公式 N’ = N vM cos Γ / vC 可以看出,TPN(Γ = 0)保持恒定有效增益,适合理论分析;PPN(Γ = δ)的增益随前置角衰减,但它在三维中天然约束在交会平面内,且对初始条件不敏感。因此论文里用 TPN,战场上用 PPN。

4. 零控脱靶量是现代制导的通用语言

式 (5.20) a = N' m / τ² 的思想早已超越 PN,被广泛应用于最优制导律(如 APN、IPN)和模型预测控制。它把"微分方程求解"翻译成"预测-修正"的直观逻辑,是工程上最友好的表达形式。


比例导引理想弹道仿真 参考文献:[1]高尚.比例导引理想弹道仿真[J].计算机工程与设计, 2003, 24(8):3.DOI:10.3969/j.issn.1000-7024.2003.08.023. ​ 本文主要写的是对《比例导引理想弹道仿真》的部分公式推导,以及对文章源码的一些改动。如有错误,恳请大家留言指点。 部分公式推导 ​ 比例导引法在导弹导向目标的过程中,弹道速度向量的旋转角速度的变化率dθ=dtd\theta=dtdθ=dt与目标视线的旋转角速度dq/dtdq/dtdq/dt成正比。导引方程为dθ=mdq 阅读详情

相关推荐

多无人机协同干扰组网雷达建模与实战要点

组网雷达作为现代防空体系的核心,其分布式架构带来抗毁性优势,也衍生出航迹融合一致性这一关键脆弱点;协同干扰的本质并非简单压制单点信号,而是通过空间-时间-频谱三维协同,破坏多源观测的几何自洽性与数据关联稳定性。技术价值体现在将电磁对抗从‘功率博弈’升维至‘系统级认知压制’,支撑反辐射无人机集群、电子战任务规划、雷达抗干扰设计等典型场景。本文聚焦多无人机对组网雷达实施有效协同干扰所需的物理建模、资源约束求解与效果闭环验证,深度融合雷达方程、JPDA航迹融合、TDOA定位误差敏感性等核心机制,为电子对抗系统工程

weixin_30435261的博客 444

脱靶量与实际角度差计算

脱靶量是指目标与中心点的距离差值。一般根据反馈回的脱靶量来计算目标位置与中心点的实际角度差值,根据角度差值来驱动电机移动设备,使设备中心点与目标位置重合,这样可以达到设备始终跟随目标位置移动的效果。一般用在砖塔或吊舱的物体跟踪模式上。

shijizai的博客 6826

集群的三维比例制导律、目标非线性探测跟踪滤波及其MATLAB/Python仿真代码

多源信息融合过程中,需要将探测值由传感器坐标系下的值转化为惯性坐标系下的值,同时为了便于表达,我们首先建立惯性坐标系下的传感器探测模型。其中,R表示传感器与目标的距离,phi表示目标相对于传感器的方位角,theta表示目标相对于传感器的俯仰角。v(t)是传感器的量测噪声,为零均值高斯白噪声,协方差矩阵为R。所谓比例导引法是指导弹在向目标接近的过程中,使导弹的速度向量V在空间的转动角速度正比于目标视线的转动角速度。其中,y为传感器的量测,f为在传感器坐标系下目标在t时刻的状态x(t)的理想量测,即。

BoilingHotPot的博客 2525

浅入深出的介绍比例导引法原理及分析

参考北理工《导弹飞行力学》,对比例导引进行分析~

weixin_47765522的博客 1万+

比例导引(PNG)-Matlab 程序

比例导引的matlab程序

Lyajpunov的博客 3936

【信息科学与工程学】【物理/化学科学和工程技术】知识体系081 磁学——系列二 电磁学01 计算电磁学

抽象函数在计算电磁学中提供了描述连续电磁问题的严格数学语言,并通过。

weixin_49199313的博客 783

弹道仿真路径动画演示:比例导引法、追踪法、平行接近法

由比例导引法中有个比例系数K,一般介于3~6之间。实际上:当K=1时,比例导引法就退化为追踪法,也即导引率为:控制导弹的速度方向始终指向目标物。缺点为,没有任何提前量,在即将命中前,目标物稍微做点机动,就脱靶了。当K趋于无穷大时,比例导引法就退化为平行接近法。弹道为直线(假设目标为匀速直线运动),也即导弹直接瞄准未来的碰撞点,然后匀速直线运动过去。优点为,理论最快击中,缺点为,为了在初始阶段直接瞄准未来碰撞点,所需的加速度为无穷大,动力系统根本提供不了。

野生猿-群号1025127672 2017

比例导引法

比例导引法计算程序,用来进行导弹的比例导引控制律

导引律原理介绍

导引律,英文为guidance law,是一种用来引导飞行器到目的点或与目标相遇的算法。它常用在导弹的控制,飞机进场着陆,交会对接过程中。 通常,制导系统包含三种类型,包括自主控制,自动寻的,以及遥控制导。其中,自动寻的制导是由导引头感受目标辐射或者反射的能量,自动形成制导指令,控制自身飞向目标的制导技术。这种方式无需人工干预,完全自主控制,因此有重要的应用价值。 本文将会介绍在自寻的制导中重要的三类导引律,分别为追踪法,平行接近法,以及比例导引法。 1 自寻的制导的相对运动方程 相对运动方程是描述导弹和目

西涯先生的博客 2万+

具有PWM控制VSC-HVDC链路的IEEE30总线传输系统(Simulink仿真实现)

内容概要:本文构建了一个包含PWM控制VSC-HVDC链路的IEEE30节点电力传输系统,并基于Simulink平台完成了系统的建模仿真。该模型聚焦于高压直流输电(HVDC)技术在区域电网互联中的应用,采用电压源型换流器(VSC)与脉宽调制(PWM)技术实现高效、灵活的电能传输。研究重点在于分析VSC-HVDC链路在复杂多节点电网中对潮流分布、系统稳定性及电能质量的调控能力,特别关注其在区域电网互联、新能源大规模接入以及跨区域电力交换等场景下的动态响应特性与控制性能,为现代智能电网的发展提供技术支撑与仿真验证手段。; 适合人群:具备电力系统、电气工程或自动化等相关专业背景的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于研究VSC-HVDC在多节点电网(如IEEE30节点)中的建模与仿真方法;②分析PWM控制策略下HVDC链路对电网潮流分布、电压稳定性和故障穿越能力的影响;③为区域电网互联、新能源并网及智能电网调度等课题提供仿真基础和技术验证。; 阅读建议:此资源以Simulink仿真实现为核心,建议读者在掌握电力电子技术和电力系统分析基础知识的前提下,结合仿真模型深入理解VSC-HVDC的工作原理与控制策略。在学习过程中,应着重关注模型参数设置、控制环路设计及仿真结果的分析,以达到理论与实践相结合的目的。

基于KDE-CDF置信带的不确定综合能源系统鲁棒调度优化研究(Matlab代码实现)

内容概要:本研究针对不确定综合能源系统中的鲁棒调度优化问题,提出一种基于核密度估计-累积分布函数(KDE-CDF)置信带的建模方法,用以精确刻画风能、光伏及负荷等不确定性因素的非正态概率分布特征。通过构建KDE-CDF模型,能够有效捕捉实际运行中新能源出力与负荷需求的波动性与随机性,并在此基础上设计鲁棒优化调度框架,提升系统在不确定性环境下的运行可靠性与经济性。该方法结合Matlab编程实现,综合考虑系统运行成本、峰谷差、碳排放等多重目标,实现多维度协调优化。研究还探讨了与智能优化算法(如粒子群算法)相结合的应用路径,增强了模型的求解效率与工程实用性,为含多种储能装置、电转气设备及碳捕集系统的复杂综合能源系统提供了科学的调度决策支持。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力的研究生、科研人员,以及从事综合能源系统规划、运行与调度工作的工程技术人员。; 使用场景及目标:①解决高比例可再生能源接入背景下综合能源系统调度中的不确定性建模难题;②提升调度方案在面对新能源强波动性时的鲁棒性与适应能力;③为融合多类型灵活性资源(如储能、电转气、碳捕集)的综合能源系统提供精细化、可落地的优化运行策略。; 阅读建议:建议读者在掌握概率统计、随机优化与电力系统运行基础知识的前提下,结合文中提供的Matlab代码进行实践操作,重点关注KDE-CDF置信带的构建流程及其在鲁棒优化模型中的嵌入机制,通过调整输入数据分布、参数设置与场景配置开展仿真对比实验,深入理解不确定性建模精度对调度决策质量的影响,进而掌握从数据驱动角度提升系统鲁棒性的关键技术路径。

论文复现:三维比例导引

1 论文 欧阳中辉, 刘家祺, 张龙杰,等. 基于矢量运算的三维真比例导引弹道仿真[J]. 弹箭与制导学报, 2013, 33(1):53-56. 三维比例导引,矢量动力学 2 程序 主函数 clear;close all; global N N=4; rt=[7000,10,20]'; rm=[0 0 0]'; vt=[-300 0 0]'; vm=[700 400 200]'; tf=10; ...

m0_46628178的博客 4556

两张 300I Duo 部署 Qwen3.5‑32B

开发者成功使用两张华为300IDuo(共4颗Ascend310P3芯片)部署Qwen3/Qwen3.5的30B/32B模型,并公开详细步骤。关键点包括:硬件需两张300IDuo(每芯片44GB显存),软件需CANN≥24.1和MindIE2.3.0专用镜像。部署流程涵盖驱动安装、模型下载(需修改为FP16格式)、容器启动、张量并行配置(TP=4)等环节。实测显示每芯片显存占用20-35GB,系统稳定运行。该方案已在知乎等平台验证可行,适用于Qwen3.5-32B等同类模型。

evering的博客 2257

【雷达信号处理——导引】比例导引法:从制导黑盒到三维向量空间的逐层拆解

先用N = 2, 静止目标的 toy example 复现图 5.3 的圆轨迹(验证你的运动学积分器是否正确)。再切换到N = 3, 非机动目标,复现图 5.7 的 TT 坐标系轨迹。最后加入三维非平面初始条件(教材 5.6.2 节的 χ = 40° 算例),对比 PPN 和 TPN 的轨迹差异。

VectorShift的博客 1077

工控上位机开发学习路线与核心技术解析

工控上位机开发是工业自动化领域的关键技术,通过计算机软件实现对工业设备的监控与控制。其核心在于掌握工业通信协议(如Modbus、OPC UA)、数据处理算法和可视化开发三大能力。上位机系统需要高效解析设备通信协议,处理实时数据,并提供直观的人机交互界面。在智能制造浪潮下,掌握C#语言和工业协议开发能力成为工程师的核心竞争力。典型应用场景包括生产线监控、设备远程运维等。本文基于工业现场实践经验,详解从协议解析到界面优化的全链路开发要点,特别针对Modbus协议调优、WPF性能优化等高频问题提供解决方案。

weixin_30376083的博客 552

libopus 实现pcm 编码到opus

opus 是一种音频格式,常用于语音通话、视频会议中。最近做了个pcm 到opus 的编码,踩了不少坑,特此记录一下。

sinat_27720649的博客 9478

【气动学】增量比例导引三维弹道Matlab仿真

摘要: 本文旨在利用Matlab软件平台,对增量比例导引(Proportional Navigation, PN)的三维弹道进行仿真研究。增量比例导引作为一种经典的制导律,具有结构简单、易于实现和鲁棒性强的优点,广泛应用于各种导弹制导系统中。本文将首先介绍增量比例导导引的基本原理及数学模型,随后构建三维弹道仿真模型,考虑目标机动、弹体气动特性以及地球自转的影响,最后通过Matlab仿真,分析不同参数对导引精度和命中率的影响,并验证增量比例导引的有效性。

Matlab_dashi的博客 1024

不用加速器!Google Earth Pro登录失败自救手册:从服务器连接到地图加载的完整排错流程

本文详细解析了Google Earth Pro登录失败的常见问题及解决方案,包括服务器连接失败、地图加载异常等。通过基础排查、内置修复工具使用和高级配置调整,帮助用户无需加速器即可解决启动问题、黑屏和转圈圈等困扰,提升软件使用体验。

weixin_29227425的博客 486

Zarchan弹道成型导引律(源代码)

参考文献:《几种增大空地导弹落角的制导方式比较》 仿真结果: QQ:2274579702

算法小站 1951

YOLOv8-Pose NCNN Android部署优化实践

本文探讨了在Android设备上高效部署YOLOv8-Pose姿态检测模型的优化实践。通过修改Pose头部导出逻辑,分离后处理到C++端实现,并替换SiLU激活函数为ReLU,显著提升了计算效率。具体步骤包括模型结构优化、ONNX导出、NCNN转换与算子融合,最终在Android端实现了30FPS的稳定推理性能。项目提供了完整的优化思路和实现方案,对移动端AI应用开发具有参考价值。

FJN110的博客 325

从零实现深度学习框架——理解正则化(一)

本文介绍解决过拟合与欠拟合的方法——正则化,主要介绍L1和L2正则化。

日积月累,天道酬勤 3394

【图像与信号处理】基于MFCC与DTW融合的声纹识别算法在移动支付中的优化研究

本研究针对移动支付中声纹识别面临的噪声干扰、设备差异与安全挑战,优化MFCC与DTW融合算法:引入小波降噪与自适应Mel滤波器提升特征鲁棒性,设计轻量化模型适配嵌入式平台;提出加权DTW路径约束、模板自适应更新及两步匹配策略,结合动态门限判决增强防攻击能力。实验表明,算法识别准确率显著提升,响应时间<3秒,具备高噪声鲁棒性、跨设备兼容性与实时性,为移动支付提供了高效安全的声纹认证方案。

汉斯出版社旗下编辑,定期更新计算机前沿论文 178

Claude桌面端安装失败?Retrying无限重试终极解决方案(亲测有效)

Claude桌面端安装卡在Retrying并非网络问题,而是安装器下载源异常导致。本文提供已验证方案:一条命令即可解决问题🚀

XiaoqiangClub的博客 2353

JFM9VU13P/XCVU13P+AD/DA信号处理板

UDPCIe-403P为高性能计算与信号处理专用模块,基于VU13P FPGA,支持4通道1.25G@14bit A/D与2通道12G@16bit D/A同步采样回放,配备双FMC接口、2组80bit DDR4(最大16GB)、PCIe3.0×16及多路万兆以太网,支持全国产化设计,适用于通信、雷达、卫星等场景,具备高可靠性与强扩展性。

universaldata的博客 192

EML 全面实践指南:把 SAP RAP 业务对象玩出工程化的稳定与优雅

本文面向掌握ABAP基础、正在实施RAP的开发者,深入讲解EML(Entity Manipulation Language)的核心用法。文章围绕READ ENTITIES、MODIFY ENTITIES、COMMIT ENTITIES三大语句,详细解析其语义、类型体系、事务机制及工程实践。重点内容包括:字段裁剪、派生类型、草稿控制、批量更新、事务缓冲与保存序列等关键技术点,并配合真实案例代码。旨在帮助开发者在SAP ABAP On-Premise和BTP环境中构建可维护、可演进的业务对象访问层,同时避免常见

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 332

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【即将截稿丨EI检索稳定】第五届信号处理、计算机网络与通信国际学术会议(SPCNC 2026)

第五届信号处理、计算机网络与通信国际学术会议(SPCNC 2026)检索类型:EI、Scopus、IEEE Xplore。截稿时间:2026年11月20日23:59。中国-重庆-重庆圣荷酒店(线上同步举办)点击官网 即可参会/投稿/了解会议详情。平均审核:投稿后5-7个工作日。2026年12月4-6日。

Paperthinker的博客 208

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: 【雷达信号处理——导引】比例导引法:从制导黑盒到三维向量空间的逐层拆解
下一篇: 【雷达信号处理——导引】导弹制导与追踪:从“追人直觉“到比例导引律的解剖
VectorShift
博客等级 码龄1年 1840粉丝 1109原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VectorShift

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值