复变函数导数求解(包含矢量、矩阵形式)

news/2024/6/24 9:33:51/文章来源:https://blog.csdn.net/yjh_2019/article/details/136765089

文章目录

目录

文章目录

前言

一、复变函数导数

1.1 导数定义

1.2 求导法则

1.3 存在条件

二、常用求导结论

2.1 标量函数对标量的导数

2.2 标量函数对矢量的导数

2.3 标量函数对矩阵的导数

总结


前言

       本文将从信号处理的角度简单阐明复变函数理论的重要性,并重点介绍能够用于信号处理领域的复变函数求导原理。

       能够发射到空间中的信号只能是实信号。然而我们在处理接收信号时,往往是复信号形式的,这两者并不冲突。实信号频谱是左右对称的,也就是实信号有至少一半频谱携带的信息是冗余的,为了提高频谱利用率,IQ调制与解调技术被用于信号的发射与接收,接收的信号分为IQ两路信号。为了更好更高效的描述IQ信号,人们提出利用复变函数来描述IQ两路信号(复信号实际是不存在的,它只是描述IQ两路信号的最佳手段)。因此,基于实变函数的理论在复数中不再适用,包括估计理论中克拉美罗界的推导、匹配滤波理论的推导等需要从复变函数的角度重新开展,而其中一个重要的基础理论就是复变函数的求导理论。


一、复变函数导数

1.1 导数定义

       设w=f\left ( z \right )在点z_{0}的某邻域N_{p}\left ( z_{0} \right )内有定义,且\Delta z=z-z_{0},其中z\in N_{p}\left ( z_{0} \right )。若下面极限存在

\lim_{\Delta z\rightarrow 0}\frac{f\left ( z \right )-f\left ( z_{0} \right )}{z-z_{0}}=\lim_{\Delta z\rightarrow 0}\frac{\Delta w}{\Delta z}

则称f\left ( z \right )在点z_{0}可导,其极限值称为f\left ( z \right )在点z_{0}的导数,记为{f}'\left ( z_{0} \right )\frac{dw}{dz}|_{z_{0}}

1.2 求导法则

复变函数f\left ( z \right )g\left ( z \right )在复变量z区域D内处处可导,则下列运算规则得到的复变函数的导数为

1)和差法则

{\left [f\left ( z \right )\pm g\left ( z \right ) \right ]}'={f}'\left ( z \right )\pm {g}'\left ( z \right )

2) 积法则

{\left [f\left ( z \right ) g\left ( z \right ) \right ]}'={f}'\left ( z \right )g\left ( z \right )+f\left ( z \right ) {g}'\left ( z \right )

3) 商法则

{\left [\frac{f\left ( z \right )}{g\left ( z \right )} \right ]}'=\frac{​{f}'\left ( z \right )g\left ( z \right )-f\left ( z \right ) {g}'\left ( z \right )}{\left [ g^{2}\left ( z \right ) \right ]}

4) 链式法则

若函数w=f\left ( \xi \right )\xi =\varphi \left ( z \right )分别在区域G和D内可导,且\xi =\varphi \left ( z \right )将D映射为D^{*}使得D^{*}\subset G,则复合函数w=f\left [ \varphi \left ( z \right ) \right ]在D内可导,且

\frac{dw}{dz}=f^{'}\left ( \xi \right )\varphi ^{'}\left ( z \right )\, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \left ( \xi =\varphi \left ( z \right )\right )

5) 反函数法则

若函数w=f\left (z \right )在区域D内可导且将D一一映射到区域E。若在区域D内{f}'\left ( z \right )\neq 0且反函数z=\varphi \left ( w \right )在E连续,则\varphi \left ( w \right )在E内可导,且

\varphi ^{'}\left ( w \right )=\frac{1}{f ^{'}\left ( z \right )}\, \, \, \, \, \, \, \, \, \, \, \, \, \left ( z=\varphi \left ( w \right ) \right )

1.3 存在条件

复变函数f\left ( z \right )=u\left ( x,y \right )+i v\left ( x,y \right )在点z_{0}=x_{0}+i y_{0}可导的充要条件是函数u\left ( x,y \right )v\left ( x,y \right )在点\left ( x_{0},y_{0} \right )可微(四个一阶偏导数在该点存在且连续),其满足方程(Cauchy-Riemann方程)

u_{x}^{'}=v_{y}^{'},u_{y}^{'}=-v_{x}^{'}

f\left ( z \right )在点z=z_{0}可导时,在该点有

f^{'}\left ( z \right )=u_{x}^{'}\left ( x,y \right )+i v_{x}^{'}\left ( x,y \right )

  • 证明

假设w=f\left ( z \right )z=z_{0}可导,则有

\Delta w=A\Delta z+\rho \left ( \Delta z \right )

进一步有

\Delta u+i \Delta v=\left ( a+ib \right )\left (\Delta x+i \Delta y \right )+\rho_{1}+i\rho_{2}

上式等价于

\Delta u=a\Delta x-b\Delta y+\rho_{1}

\Delta v=b\Delta x+a\Delta y+\rho_{2}

上式分别表示u\left ( x,y \right )v\left ( x,y \right )的微分形式,因此w=f\left ( z \right )z=z_{0}可导等价于

u_{x}^{'}=v_{y}^{'}=a,u_{y}^{'}=-v_{x}^{'}=b

  • 扩展1

利用u_{x}^{'}=v_{y}^{'}=a,u_{y}^{'}=-v_{x}^{'}=b,导数可以表示为

\frac{\partial f}{\partial z}=u_{x}^{'}\left ( x,y \right )+i v_{x}^{'}\left ( x,y \right )=\frac{1}{2}\left (\frac{\partial f}{\partial x} -i \frac{\partial f}{\partial y}\right )

  • 扩展2

\Delta z=\Delta x-i\Delta y,则\frac{\partial f}{\partial z^{*}}存在的等效条件为

u_{x}^{'}=-v_{y}^{'}=a,u_{y}^{'}=v_{x}^{'}=b

对应导数为:

\frac{\partial f}{\partial z^{*}}=u_{x}^{'}\left ( x,y \right )+i v_{x}^{'}\left ( x,y \right )=\frac{1}{2}\left (\frac{\partial f}{\partial x} +i \frac{\partial f}{\partial y}\right )

  • 推论

        导数\frac{\partial f}{\partial z}=\frac{\partial f^{*}}{\partial z^{*}}如果存在且不等于0,则导数\frac{\partial f}{\partial z^{*}}=\frac{\partial f^{*}}{\partial z}必然不存在。(该结论是博主根据上述结论得到的新结论,没有细致调研,因此无法判断该结论是否有人证明过,感兴趣的可以去调研,也希望在评论区给出调研结果以及结论的证明过程)

二、常用求导结论

2.1 标量函数对标量的导数

标量f\left ( z \right )是复变量z的复变函数,下面为常见复变函数的导数:

{\left ( \ln z \right )}'=\frac{1}{z}\left ( z\neq 0\, \, \, \, \, \, \, -\pi<\arg\left ( z \right )<\pi \right )

{\left ( z^{\alpha } \right )}'=\alpha z^{\alpha -1}\left (z\neq 0\, \, \, \, \, \, \, -\pi<\arg\left ( z \right )<\pi \right )

{\left ( \sin z \right )}'=\cos z

{\left ( \cos z \right )}'=-\sin z

{\left ( \tan z \right )}'=\frac{1}{\cos^{2} z}

{\left ( \sinh z \right )}'=\cosh z\left (\sinh z=\frac{1}{2}\left ( e^{z}-e^{-z} \right ) \, \, \, \, \, \cosh z=\frac{1}{2}\left ( e^{z}+e^{-z} \right ) \right )

{\left ( \cosh z \right )}'=\sinh z

\frac{\partial z}{\partial z}=\frac{\partial z^{*}}{\partial z^{*}}=1

\frac{\partial z^{*}}{\partial z}=\frac{\partial z}{\partial z^{*}}=0\: \: \: \: \: \: \: (\text{Inexistence})

注:该式的导数是不存在的(不满足C-R方程),为了方便分析,一般认为zz^{*}是相互独立的两个变量

z表示实变量,下面为常见实变函数的导数:

{\left ( \ln z \right )}'=\frac{1}{z}\left ( z\neq 0 \right )

{\left ( z^{\alpha } \right )}'=\alpha z^{\alpha -1}\left (z\neq 0 \right )

{\left ( \sin z \right )}'=\cos z

{\left ( \cos z \right )}'=-\sin z

{\left ( \tan z \right )}'=\frac{1}{\cos^{2} z}

{\left ( \sinh z \right )}'=\cosh z\left (\sinh z=\frac{1}{2}\left ( e^{z}-e^{-z} \right ) \, \, \, \, \, \cosh z=\frac{1}{2}\left ( e^{z}+e^{-z} \right ) \right )

{\left ( \cosh z \right )}'=\sinh z

2.2 标量函数对矢量的导数

          \vec{b} =\left [ b_{1},b_{2},\cdots ,b_{M} \right ]^{T}为复矢量,f\left ( \vec{z} \right )为复矢量\vec{z} =\left [ z_{1},z_{2},\cdots ,z_{M} \right ]^{T}的标量函数,\vec{f}\left ( \vec{z} \right )=\left [f_{1}\left ( \vec{z} \right ),f_{2}\left ( \vec{z} \right ),\cdots ,f_{N}\left ( \vec{z} \right ) \right ]^{T}\vec{g}\left ( \vec{z} \right )=\left [g_{1}\left ( \vec{z} \right ),g_{2}\left ( \vec{z} \right ),\cdots ,g_{N}\left ( \vec{z} \right ) \right ]^{T}都为复矢量\vec{z} =\left [ z_{1},z_{2},\cdots ,z_{M} \right ]^{T}的矢量函数,并作出如下导数定义

\frac{\partial f\left ( \vec{z} \right )}{\partial \vec{z}}=\left [\frac{\partial f\left ( \vec{z} \right )}{\partial z_{1}},\frac{\partial f\left ( \vec{z} \right )}{\partial z_{2}},\cdots ,\frac{\partial f\left ( \vec{z} \right )}{\partial z_{M}} \right ]^{T},\frac{\partial f\left ( \vec{z}\right )}{\partial \vec{z}^{*} }=\left [\frac{\partial f\left ( \vec{z} \right )}{\partial z_{1}^{*} },\frac{\partial f\left ( \vec{z} \right )}{\partial z_{2}^{*} },\cdots ,\frac{\partial f\left ( \vec{z} \right )}{\partial z_{M}^{*} } \right ]^{T}

\frac{\partial \vec{f}^{T}\left ( \vec{z} \right )}{\partial \vec{z}}=\left [\frac{\partial {f}_{1}\left ( \vec{z} \right )}{\partial \vec{z}},\frac{\partial {f}_{2}\left ( \vec{z} \right )}{\partial \vec{z}},\cdots ,\frac{\partial {f}_{N}\left ( \vec{z} \right )}{\partial \vec{z}} \right ]=\begin{bmatrix} \frac{\partial {f}_{1}\left ( \vec{z} \right )}{\partial {z}_{1}}& \frac{\partial {f}_{2}\left ( \vec{z} \right )}{\partial {z}_{1}} & \cdots & \frac{\partial {f}_{N}\left ( \vec{z} \right )}{\partial {z}_{1}}\\ \frac{\partial {f}_{1}\left ( \vec{z} \right )}{\partial {z}_{2}}& \frac{\partial {f}_{2}\left ( \vec{z} \right )}{\partial {z}_{2}} & \cdots & \frac{\partial {f}_{N}\left ( \vec{z} \right )}{\partial {z}_{2}}\\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial {f}_{1}\left ( \vec{z} \right )}{\partial {z}_{M}} & \frac{\partial {f}_{2}\left ( \vec{z} \right )}{\partial {z}_{M}} & \cdots & \frac{\partial {f}_{N}\left ( \vec{z} \right )}{\partial {z}_{M}} \end{bmatrix}

\frac{\partial \vec{f}^{T}\left ( \vec{z} \right )}{\partial \vec{z}^{*}}=\left [\frac{\partial {f}_{1}\left ( \vec{z} \right )}{\partial \vec{z}^{*}},\frac{\partial {f}_{2}\left ( \vec{z} \right )}{\partial \vec{z}^{*}},\cdots ,\frac{\partial {f}_{N}\left ( \vec{z} \right )}{\partial \vec{z}^{*}} \right ]=\begin{bmatrix} \frac{\partial {f}_{1}\left ( \vec{z} \right )}{\partial {z}_{1}^{*}}& \frac{\partial {f}_{2}\left ( \vec{z} \right )}{\partial {z}_{1}^{*}} & \cdots & \frac{\partial {f}_{N}\left ( \vec{z} \right )}{\partial {z}_{1}^{*}}\\ \frac{\partial {f}_{1}\left ( \vec{z} \right )}{\partial {z}_{2}^{*}}& \frac{\partial {f}_{2}\left ( \vec{z} \right )}{\partial {z}_{2}^{*}} & \cdots & \frac{\partial {f}_{N}\left ( \vec{z} \right )}{\partial {z}_{2}^{*}}\\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial {f}_{1}\left ( \vec{z} \right )}{\partial {z}_{M}^{*}} & \frac{\partial {f}_{2}\left ( \vec{z} \right )}{\partial {z}_{M}^{*}} & \cdots & \frac{\partial {f}_{N}\left ( \vec{z} \right )}{\partial {z}_{M}^{*}} \end{bmatrix}

\frac{\partial \vec{z}^{T}}{\partial \vec{z}}=\begin{bmatrix} \frac{\partial {z}_{1}}{\partial {z}_{1}}& \frac{\partial {z}_{2}}{\partial {z}_{1}} & \cdots & \frac{\partial {z}_{M}}{\partial {z}_{1}}\\ \frac{\partial {z}_{1}}{\partial {z}_{2}}& \frac{\partial {z}_{2}}{\partial {z}_{2}} & \cdots & \frac{\partial {z}_{M}}{\partial {z}_{2}}\\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial {z}_{1}}{\partial {z}_{M}} & \frac{\partial {z}_{2}}{\partial {z}_{M}} & \cdots & \frac{\partial {z}_{M}}{\partial {z}_{M}} \end{bmatrix}=I=\frac{\partial \vec{z}^{H}}{\partial \vec{z}^{*}}

\frac{\partial \vec{z}^{H}}{\partial \vec{z}}=\begin{bmatrix} \frac{\partial {z}_{1}^{*}}{\partial {z}_{1}}& \frac{\partial {z}_{2}^{*}}{\partial {z}_{1}} & \cdots & \frac{\partial {z}_{M}^{*}}{\partial {z}_{1}}\\ \frac{\partial {z}_{1}^{*}}{\partial {z}_{2}}& \frac{\partial {z}_{2}^{*}}{\partial {z}_{2}} & \cdots & \frac{\partial {z}_{M}^{*}}{\partial {z}_{2}}\\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial {z}_{1}^{*}}{\partial {z}_{M}} & \frac{\partial {z}_{2}^{*}}{\partial {z}_{M}} & \cdots & \frac{\partial {z}_{M}^{*}}{\partial {z}_{M}} \end{bmatrix}=O=\frac{\partial \vec{z}^{T}}{\partial \vec{z}^{*}}\: \: \: \: \: \: \: (\text{Inexistence})

\frac{\partial \vec{b}^{H}\vec{z}}{\partial \vec{z}}=\begin{bmatrix} \frac{\partial \sum_{m=1}^{M} b_{m}^{*}z_{m}}{\partial z_{1}}\\ \frac{\partial \sum_{m=1}^{M} b_{m}^{*}z_{m}}{\partial z_{2}}\\ \vdots \\ \frac{\partial \sum_{m=1}^{M} b_{m}^{*}z_{m}}{\partial z_{M}} \end{bmatrix}=\vec{b}^{*}=\frac{\partial \vec{z}^{T}\vec{b}^{*}}{\partial \vec{z}}=\left (\frac{\partial \vec{z}^{H}\vec{b}}{\partial \vec{z}^{*}} \right )^{*}

\frac{\partial \vec{b}^{H}\vec{z}}{\partial \vec{z}^{*}}=\begin{bmatrix} \frac{\partial \sum_{m=1}^{M} b_{m}^{*}z_{m}}{\partial z_{1}^{*}}\\ \frac{\partial \sum_{m=1}^{M} b_{m}^{*}z_{m}}{\partial z_{2}^{*}}\\ \vdots \\ \frac{\partial \sum_{m=1}^{M} b_{m}^{*}z_{m}}{\partial z_{M}^{*}} \end{bmatrix}=O=\frac{\partial \vec{z}^{T}\vec{b}^{*}}{\partial \vec{z}^{*}}=\left (\frac{\partial \vec{z}^{H}\vec{b}}{\partial \vec{z}} \right )^{*}\: \: \: \: \: \: \: (\text{Inexistence})

\frac{\partial \vec{f}^{H}\left (\vec{z} \right )\vec{g}\left (\vec{z} \right )}{\partial \vec{z}}=\left [\frac{\partial \vec{f}^{H}\left (\vec{z} \right )}{\partial \vec{z}} \right ]\vec{g}\left (\vec{z} \right )+\left [\frac{\partial \vec{g}^{T}\left (\vec{z} \right )}{\partial \vec{z}} \right ]\vec{f}^{*}\left (\vec{z} \right )

\frac{\partial \vec{z}^{H} R \vec{z}}{\partial \vec{z}}=\left [\frac{\partial \vec{z}^{H}}{\partial \vec{z}} \right ]R \vec{z} +\left [\frac{\partial \vec{z}^{T}}{\partial \vec{z}} \right ]R^{T}\vec{z}^{*}=R^{T}\vec{z}^{*}

\frac{\partial \vec{z}^{H} R \vec{z}}{\partial \vec{z}^{*}}=\left [\frac{\partial \vec{z}^{H}}{\partial \vec{z}^{*}} \right ]R \vec{z} +\left [\frac{\partial \vec{z}^{T}}{\partial \vec{z}^{*}} \right ]R^{T}\vec{z}^{*}=R \vec{z}

\frac{\partial \vec{z}^{H} R \vec{z}^{*}}{\partial \vec{z}^{*}}=\left [\frac{\partial \vec{z}^{H}}{\partial \vec{z}^{*}} \right ]R \vec{z}^{*} +\left [\frac{\partial \vec{z}^{H}}{\partial \vec{z}^{*}} \right ]R^{T}\vec{z}^{*}=\left (R+R^{T} \right ) \vec{z}^{*}

      \vec{b} =\left [ b_{1},b_{2},\cdots ,b_{M} \right ]^{T}为实矢量,f\left ( \vec{z} \right )为实矢量\vec{z} =\left [ z_{1},z_{2},\cdots ,z_{M} \right ]^{T}的实函数,\vec{f}\left ( \vec{z} \right )=\left [f_{1}\left ( \vec{z} \right ),f_{2}\left ( \vec{z} \right ),\cdots ,f_{N}\left ( \vec{z} \right ) \right ]^{T}\vec{g}\left ( \vec{z} \right )=\left [g_{1}\left ( \vec{z} \right ),g_{2}\left ( \vec{z} \right ),\cdots ,g_{N}\left ( \vec{z} \right ) \right ]^{T}都为实矢量\vec{z} =\left [ z_{1},z_{2},\cdots ,z_{M} \right ]^{T}的矢量函数,则

\frac{\partial \vec{z}^{T}}{\partial \vec{z}}=\begin{bmatrix} \frac{\partial {z}_{1}}{\partial {z}_{1}}& \frac{\partial {z}_{2}}{\partial {z}_{1}} & \cdots & \frac{\partial {z}_{M}}{\partial {z}_{1}}\\ \frac{\partial {z}_{1}}{\partial {z}_{2}}& \frac{\partial {z}_{2}}{\partial {z}_{2}} & \cdots & \frac{\partial {z}_{M}}{\partial {z}_{2}}\\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial {z}_{1}}{\partial {z}_{M}} & \frac{\partial {z}_{2}}{\partial {z}_{M}} & \cdots & \frac{\partial {z}_{M}}{\partial {z}_{M}} \end{bmatrix}=I

\frac{\partial \vec{b}^{T}\vec{z}}{\partial \vec{z}}=\begin{bmatrix} \frac{\partial \sum_{m=1}^{M} b_{m}z_{m}}{\partial z_{1}}\\ \frac{\partial \sum_{m=1}^{M} b_{m}z_{m}}{\partial z_{2}}\\ \vdots \\ \frac{\partial \sum_{m=1}^{M} b_{m}z_{m}}{\partial z_{M}} \end{bmatrix}=\vec{b}

\frac{\partial \vec{f}^{T}\left (\vec{z} \right )\vec{g}\left (\vec{z} \right )}{\partial \vec{z}}=\left [\frac{\partial \vec{f}^{T}\left (\vec{z} \right )}{\partial \vec{z}} \right ]\vec{g}\left (\vec{z} \right )+\left [\frac{\partial \vec{g}^{T}\left (\vec{z} \right )}{\partial \vec{z}} \right ]\vec{f}\left (\vec{z} \right )

\frac{\partial \vec{z}^{T} R \vec{z}}{\partial \vec{z}}=\left [\frac{\partial \vec{z}^{T}}{\partial \vec{z}} \right ]R \vec{z} +\left [\frac{\partial \vec{z}^{T}}{\partial \vec{z}} \right ]R^{T}\vec{z}=\left (R+R^{T} \right ) \vec{z}

2.3 标量函数对矩阵的导数

AB分别是m\times nn\times m的矩阵,则

\frac{\partial Tr\left ( AB \right ) }{\partial A}=B^{T},\frac{\partial Tr\left ( AB \right ) }{\partial B}=A^{T},\frac{\partial Tr\left ( A^{H}B \right ) }{\partial A}=O_{m\times n},\frac{\partial Tr\left ( AB^{H} \right ) }{\partial B}=O_{n\times m}

Tr\left ( \bullet \right )表示方阵对角线上元素之和,称为迹。det\left ( \bullet \right )表示行列式。

祝同江等. 工程数学复变函数(第三版).北京:电子工业出版社,2012.6.

复数矩阵求导辨识 - 知乎 (zhihu.com)

标量函数对矢量的求导 - 百度文库 (baidu.com)

复数矩阵求导的转置和共轭转置问题?(MMSE预编码器推导) - 知乎 (zhihu.com)


总结

本文简单介绍了复变函数的求导,用于信号处理领域的研究。有问题也欢迎评论区留言。转载请附链接【杨(_> <_)】-CSDN博客。

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

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

相关文章

Ansys Zemax | 如何将光栅数据从Lumerical导入至OpticStudio(上)

附件下载 联系工作人员获取附件 本文介绍了一种使用Ansys Zemax OpticStudio和Lumerical RCWA在整个光学系统中精确仿真1D/2D光栅的静态工作流程。将首先简要介绍方法。然后解释有关如何建立系统的详细信息。 本篇内容将分为上下两部分&#xff0c;上部将首先简要介绍方法工…

工业边缘计算网关在工业中的应用以及其为工业生产带来的效益-天拓四方

随着信息技术的不断发展&#xff0c;工业领域对数据处理和分析的需求日益增长。工业边缘计算网关作为一种新型技术&#xff0c;正逐渐成为工业数字化转型的关键驱动力。本文将通过一个具体案例阐述工业边缘计算网关在工业中的应用&#xff0c;以及其为工业生产带来的显著效益。…

Stable Diffusion 模型下载:epiCPhotoGasm(真实、照片)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八下载地址模型介绍

【QT入门】 QListWidget各种常见用法详解之列表模式

往期回顾 【QT入门】 Qt代码创建布局之setLayout使用-CSDN博客 【QT入门】 Qt代码创建布局之多重布局变换与布局删除技巧-CSDN博客 【QT入门】 QTabWidget各种常见用法详解-CSDN博客 【QT入门】 QListWidget各种常见用法详解之列表模式 QListWidget有列表和图标两种显示模式&a…

基于ssm汽车养护管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本汽车养护管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…

啥是MCU,MCU科普

啥是MCU&#xff0c;MCU科普 附赠自动驾驶学习资料和量产经验&#xff1a;链接 MCU是Microcontroller Unit 的简称&#xff0c;中文叫微控制器&#xff0c;俗称单片机&#xff0c;是把CPU的频率与规格做适当缩减&#xff0c;并将内存、计数器、USB、A/D转换、UART、PLC、DMA等…

YARN集群 和 MapReduce 原理及应用

YARN集群模式 本文内容需要基于 Hadoop 集群搭建完成的基础上来实现 如果没有搭建&#xff0c;请先按上一篇: <Linux 系统 CentOS7 上搭建 Hadoop HDFS集群详细步骤> 搭建&#xff1a;https://mp.weixin.qq.com/s/zPYsUexHKsdFax2XeyRdnA 配置hadoop安装目录下的 etc…

Netty学习——源码篇10 Netty内存分配ByteBuf基础

1 初始ByteBuf ByteBuf是Netty整个结构中最为底层的模块&#xff0c;主要负责把数据从底层I/O读取到ByteBuf&#xff0c;然后传递给应用程序&#xff0c;应用程序处理完成后再把数据封装成ByteBuf写回I/O。所以&#xff0c;ByteBuf是直接与底层打交道的一层抽象。 2 ByteBuf的…

蓝桥杯物联网竞赛_STM32L071_15_ADC/脉冲模块

ADC模块用的是RP1不用多说了&#xff0c;主要是脉冲模块&#xff0c;这个模块没考过 这个脉冲模块放出脉冲&#xff0c;主要能用TIM捕获到这个脉冲的高电平持续时间即可 CubMx配置&#xff1a; 脉冲模块的引脚与PB0相连&#xff0c;所以用PB0读取上升沿记的数和下降沿记的数&am…

JavaScript基础代码练习之表单提交

一、这段代码是一个简单的HTML页面&#xff0c;其中包含一个密码输入框和一个用于显示提示消息的段落。当密码输入框失去焦点时&#xff08;即用户输入完成后点击其他地方&#xff09;&#xff0c;会触发事件处理函数。该函数会检查密码的长度是否在6到16位之间&#xff0c;如果…

非关系型数据库之Redis配置与优化

一、关系数据库与非关系型数据库 1.1关系型数据库 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上一般面向于记录。SQL语句&#xff08;标准数据查询语言&#xff09;就是一种基于关系型数据库的语言&#xff0c;用…

Python实现【贪吃蛇大作战】+源码

文章目录 前言&#xff1a;一、游戏概述1.游戏玩法2.游戏特色 二、游戏规则三、工具选择四、主要技术pygame 库numpy 库cocos2d 五、源码分享六、项目地址 前言&#xff1a; 今天的GitHub小游戏分享&#xff0c;我们将聚焦于一个经典而又极富趣味性的游戏——贪吃蛇大作战。这…

部署云原生边缘计算平台kubeedge

文章目录 1、kubeedge架构2、基础服务提供 负载均衡器 metallb2.1、开启ipvc模式中的strictARP2.2、部署metalb2.2.1、创建IP地址池2.2.2、开启二层转发&#xff0c;实现在k8s集群节点外访问2.2.3、测试 3、部署cloudcore3.1、部署cloudcore3.2、修改cloudcore的网络类型 4、部…

SV-7101V网络音频终端产品简介

网络广播终端SV-7101V&#xff0c;接收网络音频流&#xff0c;实时解码播放。本设备只有网络广播功能&#xff0c;是一款简单的网络广播终端。提供一路线路输出接功放或有源音箱。 网络广播终端SV-7101V&#xff0c;接收网络音频流&#xff0c;实时解码播放。本设备只有网络广播…

微信批量群发软件有哪款比较好用的?

微信有自带的群发助手&#xff0c;只能群发200个好友&#xff0c;比较有局限性。 我是做销售的&#xff0c;对于群发的需求特别大&#xff0c;我自己平时经常用WeB微信批量群发软件有哪款比较好用的&#xff1f;WeB&#xff0c;它满足了我的群发需求&#xff0c;用起来特别方便…

nginx与tomcat的区别?

关于nginx和tomcat的概念 网上有很多关于nginx和tomcat是什么东西的定义&#xff0c;我总结了一下: tomcat是Web服务器、HTTP服务器、应用服务器、Servlet容器、web容器。 Nginx是Web服务器、HTTP服务器、正向/反向代理服务器&#xff0c;。 这里有两个概念是交叉的&#xff…

Centos8/linux/虚拟机安装docker

docker分为ce版和ee版&#xff0c;个人使用ce版就行了&#xff0c;别问为什么&#xff0c;问就是ee版收费。 这是在线版的&#xff0c;离线版的请参考Centos8离线下载安装docker 1.首先切换到root用户 2.为确保安装时出现不必要的问题&#xff0c;先更新一下yum包 sudo yum…

MAC的Safari浏览器没有声音解决办法

有一段时间没打开电脑&#xff0c;也不知道是系统自动更新或是什么缘故&#xff0c;所有浏览器都无法正常发声。 现象如下&#xff1a; 首先&#xff0c;Safari浏览器无法自动播放声音&#xff0c;下载的360浏览器现象一致&#xff0c;但是播放其他音乐播放软件和视频软件都正…

精通Go语言文件上传:深入探讨r.FormFile函数的应用与优化

1. 介绍 1.1 概述 在 Web 开发中&#xff0c;文件上传是一项常见的功能需求&#xff0c;用于允许用户向服务器提交文件&#xff0c;如图像、文档、视频等。Go 语言作为一门强大的服务器端编程语言&#xff0c;提供了方便且高效的方式来处理文件上传操作。其中&#xff0c;r.F…

【SpringCloud】认识微服务

目 录 一.服务架构演变单体架构分布式架构服务治理微服务总结 二.微服务技术对比微服务结构微服务技术对比企业需求 三.SpringCloud 一.服务架构演变 单体架构 单体架构&#xff1a;将业务的所有功能集中在一个项目中开发&#xff0c;打成一个包部署。 优点&#xff1a; 架…