视觉SLAM十四讲(高翔版本),ch4章节部分笔记

news2025/7/21 9:50:20

目标:理解slam的框架以及它的理论知识。供以后自己查阅。

这一章主要非常重要,也是理解后续优化的基础,它是将旋转矩阵和平移向量,转化为李代数的形式进行优化,因为它有很多好处。好处如下:
在这里插入图片描述

意思就是采用 R , t R,t R,t的矩阵表达形式,有冗余。因为旋转向量内部的 R R R的9个变量之间有约束,不利于优化。它可以转化为可以用三个无关变量表示的,转化为无约束的能量函数。这也是下面说的李代数。

1) 李代数:

这一章需要介绍一个基本的代数结构(大学的线性代数和离散数学里面有这方面的概念介绍):
集合: A A A, 运算为 ⋅ \cdot , 如果当运算满足以下性质时,称 ( A , ⋅ ) (A, \cdot) (A,)为群。
性质:
1:封闭性: ∀ a 1 , a 2 ∈ A , a 1 ⋅ a 2 ∈ A \forall a_1,a_2 \in A, a_1 \cdot a_2 \in A a1,a2A,a1a2A
2:结合律: ∀ a 1 , a 2 , a 3 ∈ A , ( a 1 ⋅ a 2 ) ⋅ a 3 = a 1 ⋅ ( a 2 ⋅ a 3 ) \forall a_1, a_2, a_3 \in A, (a_1 \cdot a_2) \cdot a_3=a_1 \cdot(a_2 \cdot a_3) a1,a2,a3A,(a1a2)a3=a1(a2a3)
3:幺元: ∃ a 0 ∈ A , s . t .    ∀ a ∈ A , a 0 ⋅ a = a ⋅ a 0 = a \exist a_0 \in A, s.t. \space \space \forall a\in A, a_0 \cdot a=a \cdot a_0 = a a0A,s.t.  aA,a0a=aa0=a
4:逆: ∀ a ∈ A , ∃ a − 1 ∈ A , s . t .    a ⋅ a − 1 = a 0 \forall a \in A, \exist a^{-1} \in A, s.t. \space \space a \cdot a^{-1}=a_0 aA,a1A,s.t.  aa1=a0

上一章节讲了旋转矩阵 R R R和平移向量 t t t,总结如下它们都满足群的性质,且是一些特殊群。是群的一部分,如下:

三维旋转矩阵构成特殊正交群 S O ( 3 ) SO(3) SO(3):

S O ( 3 ) = { R ∈ R 3 × 3 ∣ R R T = I , d e t ( R ) = 1 }      ( 1 ) SO(3)= \begin{Bmatrix} \bold{R} \in R^{3\times 3} | \bold{R} \bold{R} ^T=I,det(\bold{R} )=1 \end{Bmatrix} \space \space \space \space (1) SO(3)={RR3×3RRT=I,det(R)=1}    (1)

三维变换矩阵构成特殊特殊欧式群
S E ( 3 ) = { T = [ R t 0 T 1 ] ∈ R 4 × 4 ∣ R ∈ S O ( 3 ) , T ∈ R 3 }      ( 2 ) SE(3) = \begin{Bmatrix} \bold{T} = \begin{bmatrix} \bold{R} & t \\ 0^T & 1 \end{bmatrix} \in R^{4 \times 4} | \bold{R} \in SO(3), T \in R^3 \end{Bmatrix} \space \space \space \space (2) SE(3)={T=[R0Tt1]R4×4RSO(3),TR3}    (2)

可以验证:
旋转矩阵集合和矩阵乘法构成群。
变换矩阵和矩阵乘法构成群
可以统称旋转矩阵群,和变换矩阵群。
其它常见的群。
(私下可以验证上述4个性质)
在SLAM中, S O ( 2 ) , S O ( 3 ) ; S E ( 2 ) , S E ( 3 ) SO(2),SO(3); SE(2),SE(3) SO(2),SO(3);SE(2),SE(3)非常常见的群。
群论是一门课题,一般理论数学比较多。后续介绍其中的李群
李群(Lie Group)
具有连续的性质的群。
既有群也是流形
因为刚体运动中一般为空间连续运动,可以看到 S O ( 3 ) , S E ( 3 ) SO(3),SE(3) SO(3),SE(3)都是李群(连续性)。
群中的性质,只有乘法,没有加法,这个限制了很多运算。如求导和求极限。

为了解决没有加法的问题,引出李代数的概念。
李代数:和李群对应的结构,位于向量空间。是李群单位处的正切空间。(见下图使用小写的 s o ( 3 ) so(3) so(3)表示)
在这里插入图片描述

后面介绍上述图像表示的意思为啥成立。
引出李代数:
任意的旋转矩阵 R R R,满足:
R R T = I      ( 3 ) RR^T=I \space \space \space \space (3) RRT=I    (3)

考虑到 R R R随着时间的变化,有:
R ( t ) R ( t ) T = I R(t)R(t)^T = I R(t)R(t)T=I

两侧对时间求导:
R ˙ ( t ) R ( t ) T + R ( t ) R ˙ ( t ) T = 0 = > R ˙ ( t ) R ( t ) T = − ( R ˙ ( t ) R ( t ) T ) T      ( 4 ) \dot{R}(t)R(t)^T +R(t) \dot{R}(t)^T=0 \\ => \dot{R}(t)R(t)^T = -(\dot{R}(t)R(t)^T)^T \space \space \space \space (4) R˙(t)R(t)T+R(t)R˙(t)T=0=>R˙(t)R(t)T=(R˙(t)R(t)T)T    (4)

通过上述的公式 ( 4 ) (4) (4)得到 R ˙ ( t ) R ( t ) T \dot{R}(t)R(t)^T R˙(t)R(t)T是反对称矩阵。可以写成一个符号( a a a为向量; A A A是矩阵):
a ∧ = A = [ 0 − a 3 a 2 a 3 0 − a 1 − a 2 a 1 0 ] ;    A ∨ = a a^{\land} = A =\begin{bmatrix} 0 & -a_3 & a_2 \\ a_3 & 0 & -a_1 \\ -a_2 & a_1 & 0 \end{bmatrix}; \space \space A^{\lor}=a a=A=0a3a2a30a1a2a10;  A=a

替换符号反对称矩阵(为了简便看):
R ˙ ( t ) R ( t ) T = ϕ ∧      ( 5 ) \dot{R}(t)R(t)^T=\phi^{\land} \space \space \space \space (5) R˙(t)R(t)T=ϕ    (5)

将公式 ( 5 ) (5) (5)左右乘 R ( t ) R(t) R(t)可以得到如下:

R ˙ ( t ) = ϕ ∧ R ( t )      ( 6 ) \dot{R}(t)=\phi^{\land}R(t) \space \space \space \space (6) R˙(t)=ϕR(t)    (6)

可以看到对 R ( t ) R(t) R(t)求导其实是左乘一个反对称矩阵。

公式 ( 6 ) (6) (6)是一个非常重要的公式,也是后续计算的基础。因为有泰勒展开这个法宝。假设在 t 0 t_0 t0时刻泰勒展开,得到如下:
R ( t ) = R ( t 0 ) + R ˙ ( t 0 ) ( t − t 0 ) + ⋅ ⋅ ⋅ R(t)=R(t_0)+\dot{R}(t_0)(t-t_0)+ \cdot \cdot \cdot R(t)=R(t0)+R˙(t0)(tt0)+

一般情况下是求得一节求导比较多,省略后面的高阶项。
R ( t ) = R ( t 0 ) + R ˙ ( t 0 ) ( t − t 0 ) = R ( t 0 ) + ϕ ( t 0 ) ∧ ( t )      ( 7 ) R(t)=R(t_0)+\dot{R}(t_0)(t-t_0) \\ =R(t_0)+ \phi(t_0)^{\land}(t) \space \space \space \space (7) R(t)=R(t0)+R˙(t0)(tt0)R(t0)+ϕ(t0)(t)    (7)
可以看到 ϕ ∧ \phi^{\land} ϕ它就是在 R ( t ) R(t) R(t)的正切空间上(见上图)。
因此在连续的空间中, t 0 t_0 t0附近, ϕ \phi ϕ不变情况下,有微分方程:

R ˙ ( t ) = ϕ ( t 0 ) ∧ R ( t ) = ϕ ( 0 ) ∧ R ( t )      ( 8 ) \dot{R}(t)=\phi(t_0)^{\land}R(t)=\phi(0)^{\land}R(t) \space \space \space \space (8) R˙(t)=ϕ(t0)R(t)=ϕ(0)R(t)    (8)

如果 R ( 0 ) = I R(0)=I R(0)=I,代入到公式 ( 8 ) (8) (8),解方程得到(因为 e x p ( x ) = e x p ( x ) exp(x)=exp(x) exp(x)=exp(x),其它为常数项,很容易得到):

R ( t ) = e x p ( ϕ 0 ∧ t )      ( 9 ) R(t)=exp(\phi_0^{\land}t)\space \space \space \space (9) R(t)=exp(ϕ0t)    (9)

上面的公式得到对于任意的 t t t,可以找到对应的关系 R R R ϕ \phi ϕ对应关系。这里称 ϕ \phi ϕ为李代数 s o ( 3 ) so(3) so(3)

它也有很多性质和定义:
李代数由一个集合 V V V,一个数域 F F F和一个二元运算 [ , ] [,] [,]组成,同事满足下列性质,称为 ( V , F , [ , ] ) (V,F,[,]) (V,F,[,])为李代数,即为 G G G
1:封闭性: ∀ X , Y ∈ V , [ X , Y ] ∈ V \forall X,Y \in V, [X,Y] \in V X,YV,[X,Y]V
2:双线性: ∀ X , Y , Z ∈ V ; a , b ∈ F \forall X,Y,Z \in V; a,b \in F X,Y,ZV;a,bF,有: [ a X + b Y , Z ] = a [ X , Y ] + b [ Y , Z ] , [ Z , a X + b Y ] = a [ Z , X ] + b [ Z , Y ] [aX+bY, Z]=a[X,Y]+b[Y,Z], [Z,aX+bY]=a[Z,X]+b[Z,Y] [aX+bY,Z]=a[X,Y]+b[Y,Z],[Z,aX+bY]=a[Z,X]+b[Z,Y]
3:自反性: ∀ X ∈ V , [ X , X ] = 0 \forall X \in V, [X,X]=0 XV,[X,X]=0
4:雅克比等价: ∀ X , Y , Z ∈ V , [ X , [ Y , Z ] ] + [ Z , [ Y , Z ] ] + [ Y , [ Z , X ] ] = 0 \forall X,Y,Z \in V, [X,[Y,Z]]+[Z,[Y,Z]]+[Y,[Z,X]]=0 X,Y,ZV,[X,[Y,Z]]+[Z,[Y,Z]]+[Y,[Z,X]]=0

其中二元运算 [ , ] 被 称 为 李 括 号 [,]被称为李括号 [,]
在日常的SLAM中,发现三维空间向量+差积的运算构成李代数。表示如下:
s o ( 3 ) = { ϕ ∈ R 3 , Φ = ϕ ∧ ∈ R 3 × 3 }      ( 10 ) so(3)=\begin{Bmatrix} \phi\in R^3, \Phi=\phi^{\land} \in R^{3 \times 3} \end{Bmatrix} \space \space \space \space (10) so(3)={ϕR3,Φ=ϕR3×3}    (10)

其中
Φ = ϕ ∧ = [ 0 − ϕ 3 ϕ 2 ϕ 3 0 − ϕ 1 − ϕ 2 ϕ 1 0 ] ∈ R 3 × 3 \Phi=\phi^{\land}=\begin{bmatrix} 0 & -\phi_3 & \phi_2 \\ \phi_3 & 0 & -\phi_1 \\ -\phi_2 & \phi_1 & 0 \end{bmatrix} \in R^{3 \times 3} Φ=ϕ=0ϕ3ϕ2ϕ30ϕ1ϕ2ϕ10R3×3

同理,对于李代数 s e ( 3 ) se(3) se(3):

s e ( 3 ) = { ξ = [ ρ ϕ ] ∈ R 6 , ρ ∈ R 3 , ϕ ∈ s o ( 3 ) , ξ ∧ = [ ϕ ∧ ρ 0 T 0 ] ∈ R 4 × 4 }      ( 11 ) se(3)=\begin{Bmatrix} \xi = \begin{bmatrix} \rho \\ \phi \end{bmatrix} \in R^6, \rho \in R^3, \phi \in so(3), \xi ^{\land} = \begin{bmatrix} \phi^{\land} & \rho \\ 0^T & 0 \end{bmatrix} \in R^{4 \times 4} \end{Bmatrix} \space \space \space \space (11) se(3)={ξ=[ρϕ]R6,ρR3,ϕso(3),ξ=[ϕ0Tρ0]R4×4}    (11)

其中 s e ( 3 ) se(3) se(3)是由三个平移分量和三个旋转分量组成。
旋转和 s o ( 3 ) so(3) so(3)相同
平移是一个普通的向量
这个上尖尖不再是反对称矩阵。
ξ ∧ = [ ϕ ∧ ρ 0 T 0 ] ∈ R 4 × 4      ( 12 ) \xi ^{\land} = \begin{bmatrix} \phi^{\land} & \rho \\ 0^T & 0 \end{bmatrix} \in R^{4 \times 4} \space \space \space \space (12) ξ=[ϕ0Tρ0]R4×4    (12)

上面的公式是基本的概念,是后续优化的基础。

下面介绍优化的formulation

2)指数映射和对数映射

指数映射反映从李代数到李群的对应关系:
R = e x p ( ϕ ∧ ) R=exp(\phi^{\land}) R=exp(ϕ)

其中 ϕ ∧ \phi^{\land} ϕ为一个矩阵,怎么定义矩阵的运算?直接用Taylor展开。
e x p ( ϕ ∧ ) = ∑ n = 0 ∞ 1 n ! ( ϕ ∧ ) n exp(\phi^{\land}) = \sum^{\infin}_{n=0} \frac{1}{n!}(\phi^{\land})^n exp(ϕ)=n=0n!1(ϕ)n

需要化简上面的泰勒公式(因为 ϕ ∧ \phi^{\land} ϕ是矩阵)。
利用 ϕ \phi ϕ向量的一些性质来处理 ϕ ∧ \phi^{\land} ϕ矩阵。
分开 ϕ \phi ϕ向量为方向和模长: ϕ = θ a \phi=\theta a ϕ=θa
因为 a a a为单位向量,所以有以下性质:
a ∧ a ∧ = a a T − I      ( 13 ) a ∧ a ∧ a ∧ = − a ∧      ( 14 ) a^{\land}a^{\land}=aa^T-I \space \space \space \space (13) \\ a^{\land}a^{\land}a^{\land}=-a^{\land} \space \space \space \space (14) aa=aaTI    (13)aaa=a    (14)
利用上述的 ( 13 ) , ( 14 ) (13),(14) (13),(14)公式化解上面的泰勒公式。
泰勒展开后得到:
e x p ( ϕ ∧ ) = e x p ( θ a ∧ ) = ∑ n = 0 ∞ 1 n ! ( θ a ∧ ) n = I + θ a ∧ + 1 2 ! θ 2 ( a ∧ a ∧ ) + 1 3 ! θ 3 ( a ∧ a ∧ a ∧ ) + . . . = a a T − a ∧ a ∧ + θ a ∧ + 1 2 ! θ 2 ( a ∧ a ∧ ) − 1 3 ! θ 3 ( a ∧ ) + . . . = a a T + ( θ − 1 3 ! θ 3 + 1 5 ! θ 5 − . . . ) a ∧ − ( 1 − 1 2 ! θ 2 + 1 4 ! θ 4 − . . . ) a ∧ a ∧ = a ∧ a ∧ + I + s i n θ a ∧ − c o s θ a ∧ a ∧ = ( 1 − c o s θ ) a ∧ a ∧ + I + s i n θ a ∧ = c o s θ I + ( 1 − c o s θ ) a a T + s i n θ a ∧      ( 15 ) exp(\phi^{\land})=exp(\theta a^{\land})= \sum^{\infin}_{n=0} \frac{1}{n!}(\theta a^{\land})^n \\ = I + \theta a^{\land}+\frac{1}{2!}\theta^2(a^{\land}a^{\land}) + \frac{1}{3!}\theta^3(a^{\land}a^{\land}a^{\land})+ ... \\ =aa^T - a^{\land}a^{\land} + \theta a^{\land} + \frac{1}{2!}\theta^2(a^{\land}a^{\land})-\frac{1}{3!}\theta^3(a^{\land})+... \\ =aa^T + (\theta -\frac{1}{3!}\theta^3 + \frac{1}{5!}\theta^5- ... )a^{\land} - (1-\frac{1}{2!}\theta^2+ \frac{1}{4!}\theta^4- ...) a^{\land}a^{\land} \\ =a^{\land}a^{\land} + I + sin\theta a^{\land} - cos\theta a^{\land}a^{\land} \\ = (1-cos \theta)a^{\land}a^{\land} + I + sin\theta a^{\land} \\ =cos \theta I + (1- cos \theta) aa^T +sin\theta a^{\land} \space \space \space \space (15) exp(ϕ)=exp(θa)=n=0n!1(θa)n=I+θa+2!1θ2(aa)+3!1θ3(aaa)+...=aaTaa+θa+2!1θ2(aa)3!1θ3(a)+...=aaT+(θ3!1θ3+5!1θ5...)a(12!1θ2+4!1θ4...)aa=aa+I+sinθacosθaa=(1cosθ)aa+I+sinθa=cosθI+(1cosθ)aaT+sinθa    (15)

最后得到如下:
e x p ( θ a ∧ ) = c o s θ I + ( 1 − c o s θ ) a a T + s i n θ a ∧      ( 16 ) exp(\theta a^{\land})=cos \theta I + (1- cos \theta) aa^T +sin\theta a^{\land} \space \space \space \space (16) exp(θa)=cosθI+(1cosθ)aaT+sinθa    (16)

上述就是罗德里公式,可以看到 s o ( 3 ) so(3) so(3)的物理意义为旋转向量。
ϕ = I n ( R ) ∨ = ( ∑ n = 0 ∞ ( − 1 ) n n + 1 ( R − I ) n + 1 ) ∨      ( 17 ) \phi = In(R)^{\lor}=(\sum^{\infin}_{n=0} \frac{(-1)^n}{n+1}(R-I)^{n+1})^{\lor} \space \space \space \space (17) ϕ=In(R)=(n=0n+1(1)n(RI)n+1)    (17)

上面就介绍了从 S O ( 3 ) SO(3) SO(3) s o ( 3 ) so(3) so(3)的对应关系。

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

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

相关文章

Linux硬盘垃圾清理心得

最近有台系统盘才10G的服务器咔咔报警,一共才10G的空间,运维还设置了80%的报警阈值,实在难顶。为了清理硬盘里的垃圾,敲了不少命令,怕以后忘了,记录一下。 首先输入df -h查看一下硬盘空间占用情况&#xf…

呼叫中心中间件(mod_cti基于FreeSWITCH)-通话记录(CDR)接口

支持把FreeSWITCH的通话记录写入mysql,sqlserver,oracle等数据库,也可以写入redis的list,或者PUBLISH到redis的channel,方便业务程序实时获取通话记录。 使用说明 如果一个通话是A呼叫B,那么就有2个通话记录,一个叫aleg,一个叫b…

Vue3 - 全局指令(详细教程)

前言 咱们在真实项目开发中,其实有很多指令都是通用的。我们绝对不可能去每个页面都定义一次,这样不仅写起来困难,维护起来更是困难,你想一下,假设稍微变点逻辑,你就需要翻阅好几个文件去改。 其实用法和局…

家用吸尘器的总体结构设计

目 录 摘 要 i Abstract ii 1 引言 1 2 家用吸尘器的历史及发展 2 2.1 家用吸尘器的历史 2 2.2 业界的发展情况 3 3 家用吸尘器的分类 5 3.1 卧式(Canister) 5 3.2 立式(Upright) 5 3.3 手持式 (Handy) 6 3…

ON1 NoNoise AI 2023:AI智能摄影降噪工具

ON1 NoNoise AI 2023中文版是一款强大的AI智能摄影降噪工具!使用 AI 驱动的 NoNoise AI 快速去除噪点并获得照片中最清晰的细节。 更快地获得绝对最佳结果! ON1 NoNoise 比其他领先的图像去噪产品快十倍,结果会让您大吃一惊! 基于…

HI3516DV300 图像输入

HI3516DV300 图像输入 易百纳的一个开发板,以及GC2053的摄像头。 硬件 海思 海思sensor接口如下,用的是差分信号,共4对数据线(或者说4条lane),两对差分时钟。 连接器 海思核心板和扩展板之间通过板件连…

小啊呜产品读书笔记001:《邱岳的产品手记-06》11讲 如何借鉴灵感 12讲 产品案例分析:LabRdr的设计实验

小啊呜产品读书笔记001:《邱岳的产品手记-06》11讲 如何借鉴灵感 & 12讲 产品案例分析:LabRdr的设计实验一、今日阅读计划二、泛读&知识摘录1、11讲 如何借鉴灵感?2、12讲 产品案例分析:LabRdr的设计实验三、头脑风暴叮嘟…

【计算机毕业设计】外卖点餐源码

一、系统截图(需要演示视频可以私聊) 摘 要 民以食为天,外卖点餐系统餐饮业一直是与人们日常生活息息相关的产业。传统的电话外卖点餐或者到店消费已经不能适应市场发展的需求。随着网络的迅速崛起,互联网日益成为提供信息的最佳…

电话机器人详解,电销机器人获客的正确姿势是什么?

电话机器人详解,电销机器人获客的正确姿势是什么? 相信很多没接触过电话机器人的人都会好奇。 首先是预设Q&A问答主流程 通过关键词辅助指导,终端在与客户互动时,会智能地获取相应的关键词库,逐一回答客户的问题…

ISACA证书维持| 内附QA

Q如何维持证书 A证书的维持主要由两部分组成,即维持费以及CPE(继续职业教育)学时。ISACA会在每个日历年的第三季度以电子邮件及印刷版的方式向所有持证人员发送次年费用清单通知。年度维护费支付可在 https://www.isaca.org/renewals 上在线…

完全背包问题的解决方法______闫氏 DP 分析法

完全背包问题的解决方法: 闫氏 DP\ DPDP 分析法: 通过集合划分,我们可以得到第 i\ ii 个物品有两种状态:  1.选 1−T\ 1 - T1−T 个,最优解为前 i−1\ i− 1i−1 个物品的所有选择中,还能选取当前 k\ kk 个第i\ ii 个…

模式识别与机器学习 第一章:绪论

一、基础概念 样本: 所研究对象的单个个体、实例。样本集: 若干样本的集合。类或类别: 在所有样本上定义的一个子集,处于同一类的样本具有相似的性质,即具有相同的模式。特征: 用于表征样本的观测,也称属性。通常是数值表示的某些量化特征&a…

基于帧间差分法的视频目标检测研究-含Matlab代码

⭕⭕ 目 录 ⭕⭕✳️ 一、引言✳️ 二、帧间差分算法原理✳️ 三、视频目标检测系统✳️ 四、参考文献✳️ 五、Matlab代码获取✳️ 一、引言 随着科技的发展、社会的进步、人民生活水平的提高,团体和个人的安防意识都在不断增强,视频监控系统也就得到了…

深入浅出 C++ 11 右值引用

彻底搞清楚:右值引用/移动语义/拷贝省略/通用引用/完美转发 —— 以最短的篇幅,介绍常见误解(什么时候要用 move?什么时候不能 move?为什么 move 失败?)和基础知识(为什么右值引用变…

魔性洗脑神曲掀起模仿热潮,品牌为何热衷“打歌”?

【潮汐商业评论/ 原创】 抖音、快手、B站等社交媒介是品牌推广绕不开的阵地,围绕这些平台,一些品牌在“打歌”路上越走越远——通过几何级增长的播放量,使品牌定制曲迅速蹿红,成为“神曲”。这些定制曲仿佛自带魔力,不…

甘露糖-聚乙二醇-叠氮,mannose-PEG-N3,叠氮-PEG-甘露糖

甘露糖-聚乙二醇-叠氮,mannose-PEG-N3,叠氮-PEG-甘露糖 叠氮化合物是一类含有三个氮相连结构的化合物,一般用RN3表示。叠氮化合物是电子传递系统的抑制剂,能与细胞色素形成配位化合物,阻止细胞色素氧化酶氧化型a3组分…

【附源码】Python计算机毕业设计双笙映画

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

四则运算Java版

数据结构之栈的应用之四则运算_文丑颜不良啊的博客-CSDN博客 之前有写过一篇关于栈的应用之四则运算的文章,是用 C 写的,涉及到一些指针的操作,同时,那篇文章有一个致命的错误,就是只支持 10 以内的混合运算&#xff…

STM32微控制 -STM32命名规则-STM32寄存器缩写列表-STM32存储器和总线架构

STM32使用说明第一篇【1】STM32微控制器【2】STM32命名规则【3】STM32寄存器缩写列表【4】STM32存储器和总线架构【1】STM32微控制器 STM32是一个微控制器产品系列的总称,目前这个系列中已经包含了多个子系列,分别是: 【1】STM32小容量产品 【…

操作系统基础教程——第五章课后作业答案

1.思考题 (3)什么是文件的逻辑结构?它有哪几种组织方式? 文件的逻辑结构(逻辑文件):独立于物理环境的,用户概念中的抽象信息组织方式,用户能观察到的,并加以处理的数据…