Ansys 计算刚柔耦合矩阵系数

Ansys 计算刚柔耦合系数矩阵

文章目录

  • Ansys 计算刚柔耦合系数矩阵
    • 卫星的刚柔耦合动力学模型
    • 采用 ANSYS 的 APDL 语言的计算方法
    • 系统转动惯量的求解方法
      • 参考文献

卫星的刚柔耦合动力学模型

  • 柔性航天器的刚柔耦合动力学模型可以表示为
    m v ˙ + B t r a n η ¨ = F J ω ˙ + ω × J ω + B r o t η ¨ + ω × B r o t η ˙ = T η ¨ + 2 ξ Ω η ˙ + Ω 2 η + B r o t T ω ˙ + B t r a n T v ˙ = 0 \begin{align} \boldsymbol{m}\dot{\boldsymbol{v}} + \boldsymbol{B}_{tran}\ddot{\boldsymbol{\eta}} &= \boldsymbol{F}\\ \boldsymbol{J}\dot{\boldsymbol{\omega}}+\boldsymbol{\omega}^\times\boldsymbol{J}\boldsymbol{\omega}+\boldsymbol{B}_{rot}\ddot{\boldsymbol{\eta}}+\boldsymbol{\omega}^\times\boldsymbol{B}_{rot}\dot{\boldsymbol{\eta}}&=\boldsymbol{T}\\ \ddot{\boldsymbol{\eta}}+2\boldsymbol{\xi}\boldsymbol{\Omega}\dot{\boldsymbol{\eta}}+\boldsymbol{\Omega}^2\boldsymbol{\eta}+\boldsymbol{B}_{rot}^T\dot{\boldsymbol{\omega}} + \boldsymbol{B}_{tran}^T\dot{\boldsymbol{v}}&=\boldsymbol{0} \end{align} mv˙+Btranη¨Jω˙+ω×Jω+Brotη¨+ω×Brotη˙η¨+2ξΩη˙+Ω2η+BrotTω˙+BtranTv˙=F=T=0
    式中:

    • m \boldsymbol{m} m J J J 分别表示柔性航天器的质量和转动惯量矩阵;
    • v \boldsymbol{v} v ω \boldsymbol{\omega} ω 分别表示航天器本体相对于惯性系的线速度和角速度矢量;
    • F \boldsymbol{F} F T \boldsymbol{T} T 分别表示航天受到的三轴控制力和控制力矩;
    • η \boldsymbol{\eta} η ξ \boldsymbol{\xi} ξ Ω \boldsymbol{\varOmega} Ω 分别表示航天器的模态位移向量,柔性振动的阻尼比和频率矩阵;
    • B t r a n = A ⋅ B t r a n b \boldsymbol{B}_{tran}=A\cdot \boldsymbol{B}_{tran}^b Btran=ABtranb 为柔性附件在航天器坐标系中相对于航天器本体的平动耦合系数矩阵, A \boldsymbol{A} A为柔性附件坐标系到卫星坐标系的转移矩阵, B t r a n b \boldsymbol{B}_{tran}^b Btranb 为柔性附件在自身坐标系中相对于航天器本体的平动耦合系数矩阵;
    • B r o t = l p × B t r a n + A B r o t b \boldsymbol{B}_{rot} = \boldsymbol{l}_p^\times \boldsymbol{B}_{tran} + \boldsymbol{A}\boldsymbol{B}_{rot}^b Brot=lp×Btran+ABrotb 为柔性附件在航天器坐标系中相对于坐标原点的转动耦合矩阵, l p \boldsymbol{l}_p lp 为由航天器质心指向柔性附件坐标原点的向量, × ^\times × 表示反对称矩阵, B r o t b \boldsymbol{B}_{rot}^b Brotb 为柔性附件在自身坐标系中相对于坐标原点的转动耦合系数。
  • B t r a n \boldsymbol{B}_{tran} Btran B r o t \boldsymbol{B}_{rot} Brot 的表达式如式(4)和式(5)所示
    B t r a n = [ B t r a n 1 B t r a n 2 ⋯ B t r a n i ⋯ B t r a n m ] T B r o t = [ B r o t 1 B r o t 2 ⋯ B r o t i ⋯ B r o t m ] \begin{align} \boldsymbol{B}_{tran} &= \begin{bmatrix} \boldsymbol{B}_{tran}^1 & \boldsymbol{B}_{tran}^2 & \cdots & \boldsymbol{B}_{tran}^i & \cdots & \boldsymbol{B}_{tran}^m \end{bmatrix}^T \\ \boldsymbol{B}_{rot} &= \begin{bmatrix} \boldsymbol{B}_{rot}^1 & \boldsymbol{B}_{rot}^2 & \cdots & \boldsymbol{B}_{rot}^i & \cdots & \boldsymbol{B}_{rot}^m \end{bmatrix} \end{align} BtranBrot=[Btran1Btran2BtraniBtranm]T=[Brot1Brot2BrotiBrotm]
    其中, m m m 为模态截断阶数;每个元素 B t r a n / r o t i \boldsymbol{B}_{tran/rot}^i Btran/roti 3 × 1 3\times1 3×1 的向量。

  • B t r a n i \boldsymbol{B}_{tran}^i Btrani B r o t i \boldsymbol{B}_{rot}^i Broti 的表达式如式(6)和式(7)所示
    B t r a n i = ∑ k = 1 n m k Φ k i = ∑ k = 1 n m k [ u k x i u k y i u k z i ] B r o t i = ∑ k = 1 m m k r k × Φ k i = ∑ k = 1 n m k [ 0 − r k z r k y r k z 0 − r k − r k y r k x 0 ] [ u k x i u k y i u k z i ] \begin{align} \boldsymbol{B}_{tran}^i &= \sum_{k=1}^nm_k\boldsymbol{\varPhi}_k^i = \sum_{k=1} ^n m_k\begin{bmatrix} u_{kx}^i \\ u_{ky}^i \\ u_{kz}^i\end{bmatrix} \\ \boldsymbol{B}_{rot}^i &= \sum_{k=1}^m m_k \boldsymbol{r}_k^\times\boldsymbol{\varPhi}_k^i = \sum_{k=1}^n m_k \begin{bmatrix} 0 & -r_{kz} & r_{ky} \\ r_{kz} & 0 & -r_k \\ -r_{ky} & r_{kx} & 0 \end{bmatrix} \begin{bmatrix} u_{kx}^i \\ u_{ky}^i \\ u_{kz}^i \end{bmatrix} \end{align} BtraniBroti=k=1nmkΦki=k=1nmk ukxiukyiukzi =k=1mmkrk×Φki=k=1nmk 0rkzrkyrkz0rkxrkyrk0 ukxiukyiukzi
    其中, n n n 为柔性结构离散后单元总数, m k m_k mk 为第 k k k 个单元的质量, u k u_k uk 为第 k k k 个单元质心的位移, r k r_k rk 为第 k k k 个单元质心的位置。上述参量中,单元的质量和质心位置可直接从有限元模型中读取;单元的质心处位移需要在每阶模态的振型结果中读取。

采用 ANSYS 的 APDL 语言的计算方法

  • 程序主要分为四部分

    • 第一部分是建立结构有限元模型进行模态分析,不再赘述。
    • 第二部分是采用 *get 命令提取所有单元的质量、质心坐标。
    • 第三部分是在每阶振型下分别计算所有单元的位移,每个单元的位移取为单元所有节点的位移平均值。
    • 第四部分是把所有单元质量、质心坐标和位移代入公式(4)和式(5)计算 B t r a n \boldsymbol{B}_{tran} Btran B r o t \boldsymbol{B}_{rot} Brot
  • 参考APDL代码

    ! ———————————————————— 计算平动耦合系数矩阵和转动耦合系数矩阵 ———————————————————— !!!!!!!!!!!!!!!!!!!!
    /POST1!——————————! 提取所有单元的质量、质心坐标 !——————————!
    *GET, Num_Element, ELEM, ,COUNT					! 获取模型中单元总数
    *GET, cnt_element, ELEM, ,NUM,MIN				! 获取模型中第一个单元的编号
    *DIM, Amat2, ,Num_Element,5						! 定义一个二维矩阵
    *DO, NE, 1,Num_Element,1						! 遍历所有单元Amat2(NE, 1) = cnt_element					! 第1列存储当前单元编号*GET, volu_e, ELEM, cnt_element, VOLU		! 获取当前单元的体积*GET, mat_e, ELEM, cnt_element, ATTR,MAT	! 获取材料编号dens_e = mat_mp(mat_e,1)					! 密度 !! 注意,如果涉及多种密度,需要自定义一个矩阵,按材料序号顺序存放密度信息,比如这里的矩阵mat_mp,其第一列是密度信息。!!Amat2(NE, 2) = volu_e*dens_e				! 第2列存储当前单元质量! 获取单元质心位置*GET, cent_x, ELEM, cnt_element,CENT,X*GET, cent_y, ELEM, cnt_element,CENT,Y*GET, cent_z, ELEM, cnt_element,CENT,ZAmat2(NE, 3) = cent_x						! 第3列存储单元质心X轴位置Amat2(NE, 4) = cent_y						! 第4列存储单元质心Y轴位置Amat2(NE, 5) = cent_z						! 第5列存储单元质心Z轴位置*GET, cnt_element, ELEM,cnt_element,NXTH	! 获取下一个单元编号
    *ENDDO
    *DMAT, TableA, D, ALLOC, Num_Element,5
    *DO, i,1,Num_Element,1*DO,j,1,5,1TableA(i,j) = Amat2(i, j)*ENDDO
    *ENDDO
    *PRINT, TableA,TableA.txt!——————————! 从模态分析每一阶结果中提取单元的质心位移 !——————————!
    *DIM, Bmat3, ,Num_Element,4,Num_Modal			! 定义一个三维矩阵  !! Num_Modal为自定义 !!
    *DO, NM, 1,Num_Modal,1							! 遍历所有模态SET,,,,,,,NM								! 从结果文件中读取指定编号的数据集*GET, cnt_element, ELEM, ,NUM,MIN			! 获取模型中第一个单元的编号*DO, NE, 1,Num_Element,1					! 遍历所有单元Bmat3(NE, 1, NM) = cnt_element			! 第1列存储当前单元编号! 重置单元位移elem_x = 0elem_y = 0elem_z = 0ESEL,S,,,cnt_element					! 选择指定单元编号的单元NSLE,S,ALL								! 选择附属在单元上的所有节点*GET, Num_Node, NODE,,COUNT				! 获取节点总数*GET, cnt_node, NODE,,NUM,MIN			! 获取第一个节点的编号*DO,NN, 1,Num_Node,1					! 遍历所有节点! 获取节点的位移*GET, node_x, NODE, cnt_node,U,X*GET, node_y, NODE, cnt_node,U,Y*GET, node_z, NODE, cnt_node,U,Z! 计算该单元中节点位移的总和elem_x = elem_x+node_xelem_y = elem_y+node_yelem_z = elem_z+node_zcnt_node = NDNEXT(cnt_node)			! 获取下一个节点编号*ENDDOBmat3(NE,2,NM) = elem_x/Num_Node		! 第2列存储当前单元X轴位移Bmat3(NE,3,NM) = elem_y/Num_Node		! 第3列存储当前单元Y轴位移Bmat3(NE,4,NM) = elem_z/Num_Node		! 第4列存储当前单元Z轴位移ESEL,ALL								! 重新选择所有单元*GET, cnt_element, ELEM,cnt_element,NXTH! 获取下一个单元编号*ENDDO
    *ENDDO
    *DMAT, TableB1, D, ALLOC, Num_Element,4
    *DMAT, TableB2, D, ALLOC, Num_Element,4
    *DO, i,1,Num_Element,1*DO,j,1,4,1TableB1(i,j) = Bmat3(i,j,1)TableB2(i,j) = Bmat3(i,j,2)*ENDDO
    *ENDDO
    *PRINT, TableB1,TableB.txt
    *PRINT, TableB2,TableB.txt!——————————! 计算平动与转动耦合系数矩阵 !——————————!
    *DMAT, Btran, D, ALLOC, 3,Num_Modal				! 定义平动耦合系数矩阵
    *DMAT, Brot, D, ALLOC, 3,Num_Modal				! 定义转动耦合系数矩阵
    !*DIM, Btran, ,3,Num_Modal
    !*DIM, Brot, ,3,Num_Modal
    *DO, NM,1,Num_Modal,1							! 遍历模态! 重置平动标量tran_x = 0tran_y = 0tran_z = 0! 重置转动标量rot_x = 0rot_y = 0rot_z = 0*DO,NE,1,Num_Element,1						! 遍历单元! 平动tran_x = tran_x+Amat2(NE,2)*Bmat3(NE,2,NM)tran_y = tran_y+Amat2(NE,2)*Bmat3(NE,3,NM)tran_z = tran_z+Amat2(NE,2)*Bmat3(NE,4,NM)! 临时变量tmp_x = Amat2(NE,4)*Bmat3(NE,4,NM)-Amat2(NE,5)*Bmat3(NE,3,NM)tmp_y = Amat2(NE,5)*Bmat3(NE,2,NM)-Amat2(NE,3)*Bmat3(NE,4,NM)tmp_z = Amat2(NE,3)*Bmat3(NE,3,NM)-Amat2(NE,4)*Bmat3(NE,2,NM)! 转动rot_x = rot_x+Amat2(NE,2)*tmp_xrot_y = rot_y+Amat2(NE,2)*tmp_yrot_z = rot_z+Amat2(NE,2)*tmp_z*ENDDOBtran(1,NM) = tran_xBtran(2,NM) = tran_yBtran(3,NM) = tran_zBrot(1,NM) = rot_xBrot(2,NM) = rot_yBrot(3,NM) = rot_z
    *ENDDO!——————————! 输出平动与转动耦合系数矩阵 !——————————!
    *PRINT, Btran, Btran.txt
    *PRINT,Brot,Brot.txtFINISH

系统转动惯量的求解方法

  • 采用apdl命令

    !——————————! 续:求总质量及质心坐标 !——————————! 
    !   
    mass_total = 0  
    sum_mx = 0  
    sum_my = 0  
    sum_mz = 0  
    *DO, i, 1, Num_Element, 1  mass_total = mass_total + Amat2(i, 2)           ! 累加总质量  sum_mx = sum_mx + Amat2(i, 2)*Amat2(i, 3)    ! 累加 X 坐标的加权值  sum_my = sum_my + Amat2(i, 2)*Amat2(i, 4)    ! 累加 Y 坐标的加权值  sum_mz = sum_mz + Amat2(i, 2)*Amat2(i, 5)    ! 累加 Z 坐标的加权值  
    *ENDDO  
    ! 计算质心坐标  
    centriod_x = sum_mx/mass_total  ! 计算质心 X 坐标  
    centriod_y = sum_my/mass_total  ! 计算质心 Y 坐标  
    centriod_z = sum_mz/mass_total  ! 计算质心 Z 坐标
    ! 输出
    *DMAT, MassCentriod, D, ALLOC, 1,4
    MassCentriod(1,1) = mass_total
    MassCentriod(1,2) = centriod_x
    MassCentriod(1,3) = centriod_y
    MassCentriod(1,4) = centriod_z
    *PRINT, MassCentriod, MassCentriod.txt
    !——————————! 续:求整个模型所有单元的总转动惯量 !——————————! 
    ! 相对原点
    Io_xx = 0 $ Io_yy = 0 $ Io_zz = 0
    Io_xy = 0 $ Io_xz = 0 $ Io_yz = 0
    *DO, i, 1, Num_Element, 1  mass_e = Amat2(i, 2)cent_x = Amat2(i, 3)cent_y = Amat2(i, 4)cent_z = Amat2(i, 5)Io_xx = Io_xx + mass_e*(cent_y*cent_y+cent_z*cent_z)Io_yy = Io_yy + mass_e*(cent_x*cent_x+cent_z*cent_z)Io_zz = Io_zz + mass_e*(cent_x*cent_x+cent_y*cent_y)Io_xy = Io_xy + mass_e*(cent_x*cent_y)Io_xz = Io_xz + mass_e*(cent_x*cent_z)Io_yz = Io_yz + mass_e*(cent_y*cent_z)
    *ENDDO  
    ! 相对质心
    Ic_xx = 0 $ Ic_yy = 0 $ Ic_zz = 0
    Ic_xy = 0 $ Ic_xz = 0 $ Ic_yz = 0
    *DO, i, 1, Num_Element, 1  mass_e = Amat2(i, 2)cent_x = Amat2(i, 3) - centriod_xcent_y = Amat2(i, 4) - centriod_ycent_z = Amat2(i, 5) - centriod_zIc_xx = Ic_xx + mass_e*(cent_y*cent_y+cent_z*cent_z)Ic_yy = Ic_yy + mass_e*(cent_x*cent_x+cent_z*cent_z)Ic_zz = Ic_zz + mass_e*(cent_x*cent_x+cent_y*cent_y)Ic_xy = Ic_xy + mass_e*(cent_x*cent_y)Ic_xz = Ic_xz + mass_e*(cent_x*cent_z)Ic_yz = Ic_yz + mass_e*(cent_y*cent_z)
    *ENDDO  
    ! 输出
    *DMAT, Io, D, ALLOC, 3,3
    Io(1,1)=Io_xx $ Io(1,2)=-Io_xy $ Io(1,3)=-Io_xz
    Io(2,1)=-Io_xy $ Io(2,2)=Io_yy $ Io(2,3)=-Io_yz
    Io(3,1)=-Io_xz $ Io(3,2)=-Io_yz $ Io(3,3)=Io_zz
    *PRINT, Io, Io.txt
    *DMAT, Ic, D, ALLOC, 3,3
    Ic(1,1)=Ic_xx $ Ic(1,2)=-Ic_xy $ Ic(1,3)=-Ic_xz
    Ic(2,1)=-Ic_xy $ Ic(2,2)=Ic_yy $ Ic(2,3)=-Ic_yz
    Ic(3,1)=-Ic_xz $ Ic(3,2)=-Ic_yz $ Ic(3,3)=Ic_zz
    *PRINT, Ic, Ic.txt
    

参考文献


[^1]: 卫晓娜,董云峰.基于ANSYS的平动和转动耦合系数矩阵计算[C]//北京力学会,北京振动工程学会.北京力学会第21届学术年会暨北京振动工程学会第22届学术年会论文集.北京航空航天大学宇航学院;,2015:758-760.
[^2]: 郭江.卫星挠性附件平动转动耦合系数的有限元分析[D].南京理工大学,2019.DOI:10.27241/d.cnki.gnjgu.2019.002186.

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

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

相关文章

算法题(148):排座椅

审题: 本题需要我们找到最佳的排座椅方案,并输出行,列方案 思路: 方法一:简单贪心 由于题目会告诉我们有哪几对的同学会交头接耳,所以我们可以记录下第几行/第几列上可以隔开的同学对数,而题目限…

企业级电商数据对接:1688 商品详情 API 接口开发与优化实践

在数字化浪潮席卷全球的当下,企业级电商平台之间的数据对接已成为提升运营效率、增强市场竞争力的关键环节。作为国内知名的 B2B 电商平台,1688 拥有海量商品资源,通过开发和优化商品详情 API 接口,企业能够快速获取商品信息&…

【Cesium入门教程】第七课:Primitive图元

Cesium丰富的空间数据可视化API分为两部分:primitive API面向三维图形开发者,更底层一些。 Entity API是数据驱动更高级一些。 // entity // 调用方便,封装完美 // 是基于primitive的封装// primitive // 更接近底层 // 可以绘制高级图形 /…

Oracle APEX 必须输入项目标签型号显示位置

1. 正常Oracle APEX中必须输入项目标签的红星显示在标签文字左侧,偏偏项目要求显示在右侧, 加入如下全局CSS代码 .t-Form-label {display: flex;flex-direction: row-reverse;gap: 1px; }以上。

深入理解 TypeScript 中的 unknown 类型:安全处理未知数据的最佳实践

在 TypeScript 的类型体系中,unknown 是一个极具特色的类型。它与 any 看似相似,却在安全性上有着本质差异。本文将从设计理念、核心特性、使用场景及最佳实践等方面深入剖析 unknown,帮助开发者在处理动态数据时既能保持灵活性,又…

项目QT+ffmpeg+rtsp(二)——海康威视相机测试

文章目录 前言一、验证RTSP地址的有效性1.1 使用VLC播放器验证1.2 使用FFmpeg命令行验证1.3 使用Python代码检查网络连接1.4 检查摄像头Web界面1.5 使用RTSP客户端工具二、关于IPV4的地址2.1 原来2.1.1 原因2.2 解决2.3 显示前言 昨晚拿到一个海康威视的相机,是连接上了交换机…

Java-Collections类高效应用的全面指南

Java-Collections类高效应用的全面指南 前言一、Collections 类概述二、Collections 类的基础方法2.1 排序操作2.1.1 sort方法2.1.2 reverse方法2.1.3 shuffle方法 2.2 查找与替换操作2.2.1 binarySearch方法2.2.2 max和min方法2.2.3 replaceAll方法 三、Collections 类的高级应…

中国30米年度土地覆盖数据集及其动态变化(1985-2022年)

中文名称 中国30米年度土地覆盖数据集及其动态变化(1985-2022年) 英文名称:The 30 m annual land cover datasets and its dynamics in China from 1985 to 2022 CSTR:11738.11.NCDC.ZENODO.DB3943.2023 DOI 10.5281/zenodo.8176941 数据共享方式&#xff1a…

Python高版本降低低版本导致python导包异常的问题

当Python从高版本降级到低版本后出现导包异常,通常是由于以下原因导致的:高版本中安装的包与低版本不兼容、包路径或依赖冲突、虚拟环境未正确配置等。以下是具体的解决方案和步骤: 1. 确认问题原因 检查Python版本:确保当前使用…

AGI大模型(20):混合检索之rank_bm25库来实现词法搜索

1 混合检索简介 混合搜索结合了两种检索信息的方法 词法搜索 (BM25) :这种传统方法根据精确的关键字匹配来检索文档。例如,如果您搜索“cat on the mat”,它将找到包含这些确切单词的文档。 基于嵌入的搜索(密集检索) :这种较新的方法通过比较文档的语义来检索文档。查…

掌握 Kotlin Android 单元测试:MockK 框架深度实践指南

掌握 Kotlin Android 单元测试:MockK 框架深度实践指南 在 Android 开发中,单元测试是保障代码质量的核心手段。但面对复杂的依赖关系和 Kotlin 语言特性,传统 Mock 框架常显得力不从心。本文将带你深入 MockK —— 一款专为 Kotlin 设计的 …

常见平方数和立方数的计算

平方数(n) 数字计算过程结果1010 101001111 111211212 121441313 131691414 141961515 152251616 162561717 172891818 183241919 193612020 20400 立方数(n) 数字计算过程结果1010 10 101,0001111 11 111,33112…

自动化测试实战 - 博客系统自动化测试

目录 1. 前言 2. 自动化实施步骤 3. 页面分析 4. 设计测试用例 5. 搭建自动化环境 6. 编写自动化代码 6.1 准备工作 - Utils 6.1.1 允许远程自动化 & 创建驱动 6.1.2 实现自动化截图 6.1.3 释放 WebDriver 6.2 自动化测试登录页 - LoginTest 6.2.1 打开登陆页 …

网络实验-VRRP

VRRP协议简述 VRRP(虚拟路由冗余协议)通过虚拟IP地址(VIP,virtual ip)来实现冗余。在正常情况下,Master路由器会响应VIP的ARP请求,并处理所有发往VIP的流量。Backup路由器则处于待命状态,只有在Master路由…

计算机发展的历程

计算机系统的概述 一, 计算机系统的定义 计算机系统的概念 计算机系统 硬件 软件 硬件的概念 计算机的实体, 如主机, 外设等 计算机系统的物理基础 决定了计算机系统的天花板瓶颈 软件的概念 由具有各类特殊功能的程序组成 决定了把硬件的性能发挥到什么程度 软件的分类…

JavaScript splice() 方法

1. JavaScript splice() 方法 1.1. 定义和用法 splice() 方法用于添加或删除数组中的元素。   注意:这种方法会改变原始数组。   返回值:如果删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组。 1.2. …

磁盘I/O子系统

一、数据写入磁盘流程 当执行向磁盘写入数据操作的时候,会发生如下的一系列基本操作。假设文件数据存在于磁盘扇区上,并且已经被读入到页缓存中。 进程使用write()系统调用写入文件。内核更新映射到文件的page cache。内核线程pdflush负责把页缓存刷入…

单调栈和单调队列

一、单调栈 1、使用场景 解决元素左 / 右侧第一个比他大 / 小的数字。 2、原理解释 用栈解决,目标是栈顶存储答案。 以元素左侧第一个比他小为例: (1)遍历顺序一定是从左向右。 (2)由于栈顶一定是答…

查看电脑信息的方法-CPU核心数量、线程数量等

1、查看CPU基本信息 step 1: windows下 “winr” 进入CMD step 2: 查看核心数:wmic cpu get NumberofCores 查看线程数:wmic cpu get NumberOfLogicalProcessors 查看CPU名称:wmic cpu get Name 查看CPU时钟频率:wmic cpu get Ma…

令牌桶和漏桶算法使用场景解析

文章目录 什么时候用令牌桶,什么时候用漏桶算法??先放结论 两个算法一眼看懂什么时候选令牌桶?什么时候选漏桶?组合用法(90% 的真实系统都会这么干)小结记忆 对令牌桶和漏桶组合用法再次详细叙述…