DeepSORT(目标跟踪算法)卡尔曼滤波中的贝叶斯定理

DeepSORT(目标跟踪算法)卡尔曼滤波中的贝叶斯定理

flyfish

从例子中介绍名词

假设我们有一个袋子,里面有5个红球和3个蓝球。我们从袋子里随机抽取一个球。

概率 (Probability)

我们想计算从袋子里抽到红球的概率 P ( R ) P(R) P(R)

红球的数量是5,球的总数量是8,所以抽到红球的概率是:
P ( R ) = 5 8 P(R) = \frac{5}{8} P(R)=85

条件概率 (Conditional Probability)

条件概率是指在已知某事件 B B B 发生的情况下,另一个事件 A A A 发生的概率。用符号 P ( A ∣ B ) P(A \mid B) P(AB) 表示。

公式

条件概率的公式为:
P ( A ∣ B ) = P ( A ∩ B ) P ( B ) P(A \mid B) = \frac{P(A \cap B)}{P(B)} P(AB)=P(B)P(AB)
前提是 P ( B ) > 0 P(B)> 0 P(B)>0

这里:

  • P ( A ∣ B ) P(A \mid B) P(AB) 是在 B B B 发生的情况下 A A A 发生的概率。
  • P ( A ∩ B ) P(A \cap B) P(AB) 是事件 A A A B B B 同时发生的概率。
  • P ( B ) P(B) P(B) 是事件 B B B 发生的概率。

联合概率 (Joint Probability)

联合概率是指两个或多个事件同时发生的概率。用符号 P ( A ∩ B ) P(A \cap B) P(AB) P ( A , B ) P(A, B) P(A,B) 表示。

公式

联合概率可以用条件概率和边缘概率的乘积表示:
P ( A ∩ B ) = P ( A ∣ B ) ⋅ P ( B ) P(A \cap B) = P(A \mid B) \cdot P(B) P(AB)=P(AB)P(B)

P ( A ∩ B ) = P ( B ∣ A ) ⋅ P ( A ) P(A \cap B) = P(B \mid A) \cdot P(A) P(AB)=P(BA)P(A)

示例

假设我们有一个包含红球和蓝球的袋子。已知袋子中有5个红球和3个蓝球。我们从袋子里随机抽取两个球,并且不放回。

联合概率

我们要计算第一次抽到红球 A A A 和第二次也抽到红球 B B B 的联合概率。

  1. 第一次抽到红球 P ( A ) P(A) P(A)
    P ( A ) = 5 8 P(A) = \frac{5}{8} P(A)=85
  2. 在第一次已经抽到红球的情况下,第二次再抽到红球的条件概率 P ( B ∣ A ) P(B \mid A) P(BA)
    P ( B ∣ A ) = 4 7 P(B \mid A) = \frac{4}{7} P(BA)=74
    因此,联合概率 P ( A ∩ B ) P(A \cap B) P(AB) 为:
    P ( A ∩ B ) = P ( A ) ⋅ P ( B ∣ A ) = 5 8 ⋅ 4 7 = 20 56 = 5 14 P(A \cap B) = P(A) \cdot P(B \mid A) = \frac{5}{8} \cdot \frac{4}{7} = \frac{20}{56} = \frac{5}{14} P(AB)=P(A)P(BA)=8574=5620=145
条件概率

假设我们知道第一次抽到了红球 A A A,我们想知道在这种情况下第二次也抽到红球 B B B 的概率:
P ( B ∣ A ) = P ( A ∩ B ) P ( A ) = 5 14 5 8 = 4 7 P(B \mid A) = \frac{P(A \cap B)}{P(A)} = \frac{\frac{5}{14}}{\frac{5}{8}} = \frac{4}{7} P(BA)=P(A)P(AB)=85145=74

似然 (Likelihood)

假设我们做了一次试验,从袋子里抽到了一个红球。我们想知道这个观察结果在给定红球数量为5、蓝球数量为3的情况下的似然。

在这个简单例子中,似然实际上就是红球的概率,即:
L ( θ ∣ Red observed ) = P ( Red observed ∣ θ ) = P ( R ) = 5 8 L(\theta \mid \text{Red observed}) = P(\text{Red observed} \mid \theta) = P(R) = \frac{5}{8} L(θRed observed)=P(Red observedθ)=P(R)=85
在这个例子中,观测数据是 “抽到红球”,模型参数是 θ = { 5 个红球 , 3 个蓝球 } \theta = \{5 \text{个红球}, 3 \text{个蓝球}\} θ={5个红球,3个蓝球}。因此:
L ( θ ∣ Red observed ) = P ( Red ∣ θ ) = 5 8 L(\theta \mid \text{Red observed}) = P(\text{Red} \mid \theta) = \frac{5}{8} L(θRed observed)=P(Redθ)=85

所以,似然函数的值在这个具体例子中等于抽到红球的概率。直观地讲,我们在已知袋子里球的分布情况下,观测到红球的可能性就是从袋子里抽到红球的概率。这个例子中的似然实际上就是红球的概率,因为我们已经知道袋子里球的数量和类型。

更复杂的情况

在更复杂的情况下,似然函数用于评估不同模型参数的好坏。例如,如果我们不知道袋子里红球和蓝球的数量,通过多次抽取球的结果(观测数据),我们可以估计袋子里红球和蓝球的比例。在这种情况下,似然函数帮助我们找到最适合观测数据的模型参数。
通过一个具体的例子来演示如何使用似然函数来估计模型参数。

示例场景

假设我们有一个袋子,但不知道里面红球和蓝球的具体数量。我们随机从袋子里抽取了10次球,并记录了结果。假设我们观察到以下数据:

  • 红球:7次
  • 蓝球:3次
    我们的目标是估计袋子里红球的比例 p p p(红球占总球数的比例)。

似然函数

设袋子中红球的比例为 p p p,蓝球的比例为 1 − p 1 - p 1p。根据二项分布,抽到 k k k 次红球的概率为:
P ( Red = k ∣ p ) = ( n k ) p k ( 1 − p ) n − k P(\text{Red}=k \mid p) = \binom{n}{k} p^k (1-p)^{n-k} P(Red=kp)=(kn)pk(1p)nk

其中:

  • n n n 是抽取的总次数(这里 n = 10 n = 10 n=10
  • k k k 是红球的次数(这里 k = 7 k = 7 k=7

计算似然

我们要计算在不同 p p p 值下观测到7次红球的似然。

似然函数 L ( p ∣ data ) L(p \mid \text{data}) L(pdata) 定义为:
L ( p ∣ data ) = P ( data ∣ p ) = ( 10 7 ) p 7 ( 1 − p ) 3 L(p \mid \text{data}) = P(\text{data} \mid p) = \binom{10}{7} p^7 (1-p)^3 L(pdata)=P(datap)=(710)p7(1p)3

具体计算

  1. 计算组合数:
    ( 10 7 ) = 10 ! 7 ! ( 10 − 7 ) ! = 10 × 9 × 8 3 × 2 × 1 = 120 \binom{10}{7} = \frac{10!}{7!(10-7)!} = \frac{10 \times 9 \times 8}{3 \times 2 \times 1} = 120 (710)=7!(107)!10!=3×2×110×9×8=120
  2. 似然函数:
    L ( p ∣ data ) = 120 ⋅ p 7 ⋅ ( 1 − p ) 3 L(p \mid \text{data}) = 120 \cdot p^7 \cdot (1-p)^3 L(pdata)=120p7(1p)3

找到最大似然估计 (Maximum Likelihood Estimation, MLE)

为了找到最适合观测数据的 p p p,我们需要最大化似然函数。我们可以通过求导数并找到极值点来实现这一目标。

  1. 似然函数的对数形式(对数似然)更方便处理:
    log ⁡ L ( p ∣ data ) = log ⁡ ( 120 ) + 7 log ⁡ ( p ) + 3 log ⁡ ( 1 − p ) \log L(p \mid \text{data}) = \log(120) + 7 \log(p) + 3 \log(1-p) logL(pdata)=log(120)+7log(p)+3log(1p)
  2. 对对数似然函数求导并求解使导数为0的 p p p 值:
    d d p log ⁡ L ( p ∣ data ) = 7 p − 3 1 − p \frac{d}{dp} \log L(p \mid \text{data}) = \frac{7}{p} - \frac{3}{1-p} dpdlogL(pdata)=p71p3
    设置导数为0并求解:
    7 p = 3 1 − p \frac{7}{p} = \frac{3}{1-p} p7=1p3
    7 ( 1 − p ) = 3 p 7(1-p) = 3p 7(1p)=3p
    7 − 7 p = 3 p 7 - 7p = 3p 77p=3p
    7 = 10 p 7 = 10p 7=10p
    p = 7 10 = 0.7 p = \frac{7}{10} = 0.7 p=107=0.7

因此,观测到7次红球和3次蓝球的数据下,红球比例 p p p 的最大似然估计为0.7。

不发生的概率

符号 ¬ \neg ¬ 表示逻辑上的“非”或“否定”,即取反的意思。
P ( ¬ A ) P(\neg A) P(¬A) 表示事件 A A A 不发生的概率。如果 A A A 是某个事件,那么 ¬ A \neg A ¬A 就是 A A A 的补事件,或者说 A A A 不发生的事件。

具体解释

  • P ( A ) P(A) P(A):事件 A A A 发生的概率。
  • P ( ¬ A ) P(\neg A) P(¬A):事件 A A A 不发生的概率。
    在概率论中,如果事件 A A A 和事件 ¬ A \neg A ¬A 是互斥且穷尽的(即两者覆盖了所有可能性),则它们的概率和为 1:

P ( A ) + P ( ¬ A ) = 1 P(A) + P(\neg A) = 1 P(A)+P(¬A)=1

因此,如果你知道事件 A A A 发生的概率 P ( A ) P(A) P(A),你可以很容易地计算出事件 A A A 不发生的概率 P ( ¬ A ) P(\neg A) P(¬A)

P ( ¬ A ) = 1 − P ( A ) P(\neg A) = 1 - P(A) P(¬A)=1P(A)

先验估计是预测阶段的估计,而后验估计是更新阶段的估计。

  1. 先验估计(Prior Estimate)
  • 定义:先验估计是指在当前时刻没有结合最新观测数据前的系统状态估计。它是基于上一时刻的后验估计和系统的状态转移模型得到的。
  • 符号:通常用 x ^ k ∣ k − 1 \hat{x}_{k|k-1} x^kk1 表示,其中 k k k 表示当前时刻, k − 1 k-1 k1 表示上一时刻。
  • 计算:根据系统的状态转移方程进行预测,即:
    x ^ k ∣ k − 1 = A k − 1 x ^ k − 1 ∣ k − 1 + B k − 1 u k − 1 \hat{x}_{k|k-1} = A_{k-1} \hat{x}_{k-1|k-1} + B_{k-1} u_{k-1} x^kk1=Ak1x^k1∣k1+Bk1uk1
    其中, x ^ k − 1 ∣ k − 1 \hat{x}_{k-1|k-1} x^k1∣k1 是上一时刻的后验估计, A k − 1 A_{k-1} Ak1 是状态转移矩阵, B k − 1 B_{k-1} Bk1 是控制输入矩阵, u k − 1 u_{k-1} uk1 是控制输入。
  1. 后验估计(Posterior Estimate)
  • 定义:后验估计是指在结合当前时刻的观测数据后,对系统状态的更新估计。它是对先验估计进行修正得到的。
  • 符号:通常用 x ^ k ∣ k \hat{x}_{k|k} x^kk 表示,表示结合了第 k k k 时刻的观测数据后的状态估计。
  • 计算:根据卡尔曼增益(Kalman Gain)和观测更新方程进行修正,即:
    x ^ k ∣ k = x ^ k ∣ k − 1 + K k ( z k − H k x ^ k ∣ k − 1 ) \hat{x}_{k|k} = \hat{x}_{k|k-1} + K_k (z_k - H_k \hat{x}_{k|k-1}) x^kk=x^kk1+Kk(zkHkx^kk1)
    其中, K k K_k Kk 是卡尔曼增益, z k z_k zk 是当前时刻的观测数据, H k H_k Hk 是观测矩阵。
    通过上述过程,卡尔曼滤波器能够不断地利用新观测数据修正系统状态估计,从而提供一个更加准确的状态估计。

贝叶斯定理是概率论中的一个基本定理,用于描述在给定某些条件(证据)的情况下,如何更新对事件的概率估计。它的基本形式是:

P ( A ∣ B ) = P ( B ∣ A ) ⋅ P ( A ) P ( B ) P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)

在这个公式中,每个符号都有特定的含义:

  • P ( A ∣ B ) P(A|B) P(AB):在条件 B B B 发生的情况下,事件 A A A 发生的概率。这被称为 后验概率(Posterior Probability)。
  • P ( B ∣ A ) P(B|A) P(BA):在条件 A A A 发生的情况下,事件 B B B 发生的概率。这被称为 似然(Likelihood)。
  • P ( A ) P(A) P(A):事件 A A A 发生的概率,不考虑任何条件。这被称为 先验概率(Prior Probability)。
  • P ( B ) P(B) P(B):事件 B B B 发生的概率,不考虑条件 A A A 是否发生。这被称为 边际概率(Marginal Probability),也可以看作是一个归一化常数,确保概率总和为 1。

通俗理解

假设你每天早晨都要预测一天的天气情况,你可以这样做:

  1. 先验估计(Prior Estimate)
  • 你看了昨晚的天气预报,预报说今天会晴天。于是,你一早起床就预测今天会是晴天。这就是你的先验估计,即基于已有的信息(昨天的预报)对今天天气的预测。
  1. 后验估计(Posterior Estimate)
  • 你打开窗户,看到了外面的实际天气。假如你看到天空阴云密布,显然今天的天气和昨晚的预报有差异。于是,你修正了你的天气预测,认为今天可能会下雨。这时,你结合了新的观测数据(看到的阴天)来更新你的预测。这就是你的后验估计,即结合新信息(实际观察)后对天气的更新预测。

贝叶斯定理的直观理解

贝叶斯定理可以帮助我们在得到新信息(证据)后,更新对某个事件发生概率的估计。简单来说,贝叶斯定理是如何利用现有的知识(先验概率)和新得到的信息(似然)来更新我们的认知(后验概率)。

贝叶斯定理的应用

贝叶斯定理的形式是:

P ( x k ∣ z 1 : k ) = P ( z k ∣ x k ) P ( x k ∣ z 1 : k − 1 ) P ( z k ∣ z 1 : k − 1 ) P(x_k | z_{1:k}) = \frac{P(z_k | x_k) P(x_k | z_{1:k-1})}{P(z_k | z_{1:k-1})} P(xkz1:k)=P(zkz1:k1)P(zkxk)P(xkz1:k1)

在卡尔曼滤波中,状态 x k x_k xk 和观测 z k z_k zk 都被假设为高斯分布。我们通过这个假设来简化贝叶斯定理的应用。

符号解释

  1. P ( x k ∣ z 1 : k ) P(x_k | z_{1:k}) P(xkz1:k)
  • 表示在时刻 k k k 观测到 z 1 : k z_{1:k} z1:k 后,状态 x k x_k xk 的后验概率分布。这个是我们希望计算和更新的目标,即根据所有观测数据(从时刻 1 到时刻 k k k)来更新当前状态的估计。
  1. P ( z k ∣ x k ) P(z_k | x_k) P(zkxk)
  • 表示在给定当前状态 x k x_k xk 的条件下,观测到 z k z_k zk 的概率(似然)。这反映了当前状态 x k x_k xk 如何生成观测值 z k z_k zk,通常由观测模型来描述。
  1. P ( x k ∣ z 1 : k − 1 ) P(x_k | z_{1:k-1}) P(xkz1:k1)
  • 表示在给定之前所有观测数据 z 1 : k − 1 z_{1:k-1} z1:k1 的条件下,当前状态 x k x_k xk 的先验概率分布。这个是通过状态转移模型从上一个时刻的后验概率分布预测得到的。
  1. P ( z k ∣ z 1 : k − 1 ) P(z_k | z_{1:k-1}) P(zkz1:k1)
  • 表示在给定之前所有观测数据 z 1 : k − 1 z_{1:k-1} z1:k1 的条件下,观测到 z k z_k zk 的概率(边际概率)。这个值用来归一化分子部分,使得后验概率分布的总概率为 1。

具体说明

先验概率 P ( x k ∣ z 1 : k − 1 ) P(x_k | z_{1:k-1}) P(xkz1:k1)
  • 解释:在时刻 k k k 之前的所有观测数据 z 1 : k − 1 z_{1:k-1} z1:k1 已知的情况下,对时刻 k k k 的状态 x k x_k xk 进行预测。
  • 来源:通常通过状态转移模型 f f f 预测得到:
    P ( x k ∣ z 1 : k − 1 ) ∼ N ( x ^ k ∣ k − 1 , P k ∣ k − 1 ) P(x_k | z_{1:k-1}) \sim \mathcal{N}(\hat{x}_{k|k-1}, P_{k|k-1}) P(xkz1:k1)N(x^kk1,Pkk1)
    其中 x ^ k ∣ k − 1 \hat{x}_{k|k-1} x^kk1 P k ∣ k − 1 P_{k|k-1} Pkk1 是先验均值和协方差矩阵。
似然 P ( z k ∣ x k ) P(z_k | x_k) P(zkxk)
  • 解释:在给定当前状态 x k x_k xk 的条件下,观测到 z k z_k zk 的概率。
  • 来源:通常通过观测模型 h h h 得到:
    P ( z k ∣ x k ) ∼ N ( H x ^ k , R ) P(z_k | x_k) \sim \mathcal{N}(H \hat{x}_k, R) P(zkxk)N(Hx^k,R)
    其中 H H H 是观测矩阵, R R R 是观测噪声协方差矩阵。
边际概率 P ( z k ∣ z 1 : k − 1 ) P(z_k | z_{1:k-1}) P(zkz1:k1)
  • 解释:在给定之前所有观测数据 z 1 : k − 1 z_{1:k-1} z1:k1 的情况下,观测到 z k z_k zk 的概率。这个概率确保分母是一个归一化常数,使得后验概率分布的总和为 1。
  • 来源:通过积分计算得到:
    P ( z k ∣ z 1 : k − 1 ) = ∫ P ( z k ∣ x k ) P ( x k ∣ z 1 : k − 1 ) d x k P(z_k | z_{1:k-1}) = \int P(z_k | x_k) P(x_k | z_{1:k-1}) dx_k P(zkz1:k1)=P(zkxk)P(xkz1:k1)dxk
后验概率 P ( x k ∣ z 1 : k ) P(x_k | z_{1:k}) P(xkz1:k)
  • 解释:在给定所有观测数据 z 1 : k z_{1:k} z1:k 的情况下,当前状态 x k x_k xk 的概率分布。
  • 来源:利用贝叶斯定理,将先验概率和似然结合,并归一化:
    P ( x k ∣ z 1 : k ) ∼ N ( x ^ k ∣ k , P k ∣ k ) P(x_k | z_{1:k}) \sim \mathcal{N}(\hat{x}_{k|k}, P_{k|k}) P(xkz1:k)N(x^kk,Pkk)
    其中 x ^ k ∣ k \hat{x}_{k|k} x^kk P k ∣ k P_{k|k} Pkk 是更新后的后验均值和协方差矩阵。

使用 Python 绘制贝叶斯更新过程

我们可以使用 Python 来模拟贝叶斯更新过程,并可视化后验分布的变化。以下是一个简单的 Python 代码示例:

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm# 定义先验
mu_prior = 0
sigma_prior = 1
x = np.linspace(-5, 5, 1000)
prior = norm.pdf(x, mu_prior, sigma_prior)# 定义观测模型(似然)
mu_likelihood = 1
sigma_likelihood = 0.5
likelihood = norm.pdf(x, mu_likelihood, sigma_likelihood)# 计算后验(使用贝叶斯定理)
posterior = likelihood * prior
posterior /= np.trapz(posterior, x)  # 归一化# 绘制结果
plt.figure(figsize=(10, 6))
plt.plot(x, prior, label='Prior')
plt.plot(x, likelihood, label='Likelihood')
plt.plot(x, posterior, label='Posterior')
plt.xlabel('State')
plt.ylabel('Probability Density')
plt.title('Bayesian Update of Probability Distribution')
plt.legend()
plt.grid(True)
plt.show()

在这里插入图片描述

解释

  • 先验分布(Prior):假设先验均值为 0,标准差为 1 的高斯分布。
  • 似然分布(Likelihood):假设似然均值为 1,标准差为 0.5 的高斯分布。
  • 后验分布(Posterior):通过贝叶斯定理将先验和似然结合,并归一化得到后验分布。

贝叶斯定理在卡尔曼滤波中的应用,通过高斯分布假设,先验和似然分布的联合分布也是高斯分布。后验分布的均值和协方差可以通过条件高斯分布的性质得到,最终简化为卡尔曼滤波的更新公式。卡尔曼增益 ( K_k ) 确定了先验估计和观测数据的加权比例,后验状态估计和协方差更新则通过结合先验和观测数据,反映了状态估计的不确定性减少。

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

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

相关文章

misc刷题记录(1)陇剑杯

[陇剑杯 2021]签到 题目内容:此时正在进行的可能是__________协议的网络攻击。(如有字母请全部使用小写,填写样例:http、dns、ftp)。得到的flag请使用NSSCTF{}格式提交。 打开统计,找到协议分级&#xff…

大模型应用之路:从提示词到通用人工智能(AGI)

前言 大模型在人工智能领域的应用正迅速扩展,从最初的提示词(Prompt)工程到追求通用人工智能(AGI)的宏伟目标,这一旅程充满了挑战与创新。本文将探索大模型在实际应用中的进展,以及它们如何为实…

php实现一个简单的MySQL分页

一、案例演示&#xff1a; 二、php 代码 <?php $servername "localhost"; // MySQL服务器名称或IP地址 $username "root"; // MySQL用户名 $password "123456"; // MySQL密码 $dbname "test"; // 要连接…

CentOS7安装nginx【巨详细】

CentOS7安装nginx 安装依赖 1.安装gcc&#xff0c;nginx 编译时依赖 gcc 环境 # 安装c yum install gcc-c# 查看版本 gcc -v正常情况显示如下 2.安装openssl 安全套接字层密码库&#xff0c;用于通信加密 yum install -y openssl openssl-devel3.安装zlib,zlib 库 提供了很多…

java反序列化---cc6链

目录 Transformer[]数组分析 链条代码跟进 ChainedTransformer.transform() LazyMap.get() TiedMapEntry.getValue() TiedMapEntry.hashCode() HashMap.hash() HashMap.put()的意外触发 LazyMap.get()中key的包含问题 cc6的payload如下 import org.apache.commons.co…

【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【08】【商品服务】Object划分_批量删除

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【08】【商品服务】Object划分_批量删除 Object划分批量删除/添加参考 Object划分 数据库中对于一张表的数据&#xff0c;由于拥有隐私字段、多余字段、字段过少等原因&#xff0c;不应该直…

汽车油耗NEDC与WLTP有什么区别?以及MATLAB/Simulink的汽车行驶工况仿真

最近的热点新闻非比亚迪的秦L莫属&#xff0c;其油耗达到2.9L/100km&#xff0c;但其标注为NEDC也引起了讨论&#xff0c; NEDC与WLTP的区别 NEDC的全称为“New European Driving Cycle”&#xff0c;即“新欧洲驾驶循环”。这种油耗测试标准起源于上世纪80年代&#xff0c;主…

液晶拼接屏企业应该采取哪些措施来提升整体竞争力和市场地位呢?

步入智能科技时代以来&#xff0c;商显行业面对着各式各样的挑战&#xff0c;人工智能、AI大模型等整合中&#xff0c;液晶拼接屏企业应该采取哪些措施以提升整体竞争力和市场地位。下面小编个人观点简单说一下&#xff1b;下是一些关键的措施&#xff1a; 首先&#xff0c;加…

用Vue3和p5.js打造一个交互式数据可视化仪表盘

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 基于 Vue.js 集成 p5.js 实现交互式波形图 应用场景介绍 在数据可视化领域&#xff0c;波形图广泛应用于展示动态变化的数据&#xff0c;如声音信号、心跳曲线等。通过动态绘制波形图&#xff0c;用户可以直观…

5.所有权

标题 一、概念二、规则三、示例3.1 变量作用域3.2 所有权的移交&#xff08;深拷贝与浅拷贝&#xff09;3.3 函数与所有权3.4 返回值与作用域3.5 引用的使用 四、切片(&str) 一、概念 所有权是Rust的核心特性。所有程序在运行时都必须管理它们使用计算机内存的方式。Rust的…

InfoComm 2024 直击:千视新品P3和KiloLink技术闪耀亮相

InfoComm 2024 直击&#xff1a;千视新品P3和KiloLink技术闪耀亮相&#xff0c;现场亮点不断 北京时间2024年6月13日&#xff0c;UTC-7时间6月12日&#xff0c;美国视听显示与系统集成展览会InfoComm 2024在美国拉斯维加斯正式开幕。作为全美规模最大、最具影响力的展会&#…

【Test 73 】引用 () 实际的一些用法、常引用问题 详解!

文章目录 1. 常引用的背景2. 字符 a 与 整形 97 是相同的&#xff0c;但是具体是怎么比较的呢 &#xff1f; 1. 常引用的背景 注意&#xff1a; &#x1f427;① 权限可以平移、可以缩小&#xff0c;但是权限 不可以放大。 &#x1f427; 类型转换中间会产生临时变量 2. 字…

[AI资讯·0612] AI测试高考物理题,最高准确率100%,OpenAI与苹果合作,将ChatGPT融入系统中,大模型在物理领域应用潜力显现

AI资讯 国产AI大战高考物理&#xff0c;第1题全对&#xff0c;第2题开始放飞终于放大招了&#xff0c;2024WWDC&#xff0c;苹果开启AI反击战苹果一夜重塑iPhone&#xff01;GPT-4o加持Siri&#xff0c;AI深入所有APPOpenAI确认苹果集成ChatGPT 还任命了两位新高管GPT-4搞不定…

【Golang】探索进程资源监控的精妙细节:利用Gopsutil/Process实现高级进程性能和资源信息监控

【Golang】探索进程资源监控的精妙细节&#xff1a;利用Gopsutil/Process实现高级进程性能和资源信息监控 大家好 我是寸铁&#x1f44a; 总结了一篇【Golang】探索进程资源监控的精妙细节&#xff1a;利用Gopsutil/Process实现高级进程性能和资源信息监控的文章✨ 喜欢的小伙伴…

Scrum Day盛大启幕【限时优惠】

关于 Scrum Day 智驭未来&#xff0c;敏捷先行 —— 2024中国Scrum大会启航 在全球数字化转型的浪潮中&#xff0c;敏捷已成为企业脱颖而出的关键。 Scrum中文网携手全球敏捷行业巨擘 —— Scrum.org 联袂呈现年度敏捷盛会 Scrum Day&#xff0c;将于今秋盛大启幕&#xff01…

Ubuntu Linux目录结构

在Linux系统中&#xff0c;最小的数据存储单位为文件。“一切都是文件”是Linux和UNIX一致贯彻的原则。也就是说&#xff0c;在Linux中&#xff0c;所有的数据都是以文件的形式存在的&#xff0c;包括设备。为了便于访问文件&#xff0c;Linux按照一定的层次结构来组织文件系统…

使用宝塔面板 将vue+node+mysql部署至云服务器

数据库部署 1. 导出 数据库 2. 进入宝塔面板 将数据库文件导入至宝塔面板数据库中 验证是否导入成功 点击phpMyAdmin 输入用户名密码 如果没有导入成功&#xff0c;可在此再导入一遍 前端项目部署 1. 将vue项目打包上传至文件 npm run build 打包成dist文件夹 压缩上传 …

Linux-黑马程序员

目录 一、前言二、初识Linux1、操作系统&#xff08;1&#xff09;硬件和软件&#xff08;2&#xff09;操作系统 2、Linux3、虚拟机4、FinalShell5、WSL6、虚拟机快照 三、Linux基础命令1、Linux的目录结构2、Linux命令入门&#xff08;1&#xff09;Linux命令基础格式&#x…

automa学习:写一个取某东图书数据的片断

周五了&#xff0c;实在没事情了。正好上午有个朋友问automa的事&#xff0c;心想再写一个练习一下&#xff0c;毕竟&#xff0c;熟能生巧。 目标某东图书&#xff1a; 分析及介绍如下。 1.新建标签页 1.悬停元素。要注意 县 停 .cate_menu_item:nth-child(14) > .cate_…

VMware安装ubuntu22.04虚拟机超详细图文教程

一 、下载镜像 下载地址&#xff1a;Index of /ubuntu-releases/22.04.4/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 二、创建虚拟机 打开VMware点击左上角文件&#xff0c;创建新的虚拟机&#xff0c;打开后如下图&#xff1a; 下一步&#xff0c;镜像文件就是…