Chapter6.2:其他根轨迹及综合实例分析

该系列博客主要讲述Matlab软件在自动控制方面的应用,如无自动控制理论基础,请先学习自动控制系列博文,该系列博客不再详细讲解自动控制理论知识。
自动控制理论基础相关链接:https://blog.csdn.net/qq_39032096/category_10287468.html?spm=1001.2014.3001.5482
博客参考书籍:《MATLAB/Simulink与控制系统仿真》。



2.其他根轨迹及综合实例分析

2.1 其他形式根轨迹
2.1.1 参数根轨迹
  • 除根轨迹增益 K ∗ K^* K为变化参数的根轨迹外,其他情形下的根轨迹统称为广义根轨迹;如:系统的参数根轨迹,开环传递函数中零点个数多于极点个数的根轨迹,零度根轨迹;
  • 将负反馈系统中 K ∗ K^* K变化时的根轨迹称为常规根轨迹;
  • 以非开环增益为可变参数绘制的根轨迹称为参数根轨迹;

设系统闭环特征方程为:
1 + G ( s ) H ( s ) = 0 1+G(s)H(s)=0 1+G(s)H(s)=0
进行等效变换:
A P ( s ) Q ( s ) = − 1 A\frac{P(s)}{Q(s)}=-1 AQ(s)P(s)=1
其中: A A A为除 K ∗ K^* K外,系统任意变化参数, P ( s ) 、 Q ( s ) P(s)、Q(s) P(s)Q(s)为两个与 A A A无关的首一多项式;

上两式相等,即:
Q ( s ) + A P ( s ) = 1 + G ( s ) H ( s ) = 0 Q(s)+AP(s)=1+G(s)H(s)=0 Q(s)+AP(s)=1+G(s)H(s)=0
可得等效单位系统,其等效开环传递函数为
G 1 ( s ) H 1 ( s ) = A P ( s ) Q ( s ) G_1(s)H_1(s)=A\frac{P(s)}{Q(s)} G1(s)H1(s)=AQ(s)P(s)
利用上式绘制的根轨迹就是参数 A A A变化时的参数根轨迹;

2.1.2 零度根轨迹
  • 如果研究的控制系统为非最小相位系统,则不能采用常规根轨迹的法则绘制系统根轨迹,其相角遵循 0 ° + 2 k π 0°+2k\pi +2条件,而不是 180 ° + 2 k π 180°+2k\pi 180°+2条件,因此称为零度根轨迹;
  • 非最小相位系统指在 s s s右半平面具有开环零极点的控制系统;
  • 零度根轨迹来源:一是非最小相位系统中包含 s s s最高次幂的系数为负的因子;二是控制系统中包含正反馈内回路;

【零度根轨迹绘制法则】

  • 【法则1】:根轨迹的起点和终点。

    • 根轨迹起于开环极点,终于开环零点;
  • 【法则2】:根轨迹的分支数、对称性和连续性。

    • 根轨迹的分支数与开环有限零点数 m m m和有限极点数 n n n中的大者相等,根轨迹是连续且对称于实轴;
  • 【法则3】:根轨迹的渐近线。

    • 当开环有限极点数 n n n大于有限零点数 m m m时,有 n − m n-m nm条根轨迹分支沿着与实轴交角为 φ a \varphi_a φa、交点为 σ a \sigma_a σa的一组渐近线趋于无穷远处,且有:
      φ a = 2 k π n − m , k = 0 , 1 , 2 , ⋯   , n − m − 1 ; σ a = ∑ i = 1 n p i − ∑ j = 1 m z j n − m \varphi_a=\frac{2k\pi}{n-m},k=0,1,2,\cdots,n-m-1;\sigma_a=\frac{\displaystyle\sum_{i=1}^np_i-\displaystyle\sum_{j=1}^mz_j}{n-m} φa=nm2,k=0,1,2,,nm1σa=nmi=1npij=1mzj
  • 【法则4】:根轨迹在实轴上的分布。

    • 实轴上的某一区域,若其右边开环实数零、极点个数之和为偶数,则该区域必是根轨迹。
  • 【法则5】:根轨迹的分离点与分离角。

    • 两条或两条以上根轨迹分支在 s s s平面上相遇又立即分开的点,称为根轨迹分离点,分离点坐标 d d d
      ∑ j = 1 m 1 d − z j = ∑ i = 1 n 1 d − p i \sum_{j=1}^{m}\frac{1}{d-z_j}=\sum_{i=1}^n\frac{1}{d-p_i} j=1mdzj1=i=1ndpi1
      其中: z j z_j zj为开环零点, p i p_i pi为开环极点;

      分离角为: ( 2 k + 1 ) π / l (2k+1)\pi/l (2k+1)π/l

    • 如果根轨迹位于实轴上两个相邻的开环极点间,其中一个可以是无限极点,则这两个极点间至少存在一个分离点;

    • 如果根轨迹位于实轴上两个相邻的开环零点间,其中一个可以是无限零点,则这两个零点间至少存在一个分离点;

    • 由两个极点和一个有限零点组成的开环系统,只要有限零点没有位于两个实数极点间,当 K ∗ K^* K从零变化到无穷时,闭环根轨迹的复数部分,是以有限零点为圆心,以有限零点到分离点的距离为半径的一个圆,或圆的一部分;

  • 【法则6】:根轨迹的起始角和终止角。

    • 根轨迹离开开环复数极点处的切线与正实轴的夹角,称为起始角,记为: θ p i \theta_{p_i} θpi

    • 根轨迹进入开环复数零点处的切线与正实轴的夹角,称为终止角,记为: φ z i \varphi_{z_i} φzi

    • 起始角和终止角的计算:
      θ p i = 2 k π + ( ∑ j = 1 m φ z j p i − ∑ j = 1 ( j ≠ i ) n θ p j p i ) ; k = 0 , ± 1 , ± 2 , ⋯ φ z i = 2 k π − ( ∑ j = 1 ( j ≠ i ) m φ z j z i − ∑ j = 1 n θ p j z i ) ; k = 0 , ± 1 , ± 2 , ⋯ \begin{aligned} &\theta_{p_i}=2k\pi+(\sum_{j=1}^m\varphi_{z_jp_i}-\sum_{j=1\\(j≠i)}^n\theta_{p_jp_i});k=0,±1,±2,\cdots\\\\ &\varphi_{z_i}=2k\pi-(\sum_{j=1\\(j≠i)}^m\varphi_{z_jz_i}-\sum_{j=1}^n\theta_{p_jz_i});k=0,±1,±2,\cdots \end{aligned} θpi=2+(j=1mφzjpij=1(j=i)nθpjpi)k=0±1±2φzi=2(j=1(j=i)mφzjzij=1nθpjzi)k=0±1±2

  • 【法则7】:根轨迹与虚轴的交点。

    • 若根轨迹与虚轴相交,则交点上的 K ∗ K^* K值和 ω \omega ω值可用劳斯判据确定,亦可令闭环特征方程的 s = j ω s={\rm j}\omega s=jω,令其实部和虚部为零求解;

    • 若根轨迹与虚轴相交,表示闭环系统存在纯虚根,即 K ∗ K^* K的数值使闭环系统处于临界稳定状态,可令劳斯表第一列中包含 K ∗ K^* K的项为零,即可确定根轨迹与虚轴交点上的 K ∗ K^* K值;

    • 令闭环特征方程的 s = j ω s={\rm j\omega} s=jω代入闭环特征方程,可得:
      1 + G ( j ω ) H ( j ω ) = 0 1+G({\rm j}\omega)H({\rm j}\omega)=0 1+G(jω)H(jω)=0
      令其实部和虚部均等于 0 0 0即可求解其参数,有:
      { R e [ 1 + G ( j ω ) H ( j ω ) ] = 0 I m [ 1 + G ( j ω ) H ( j ω ) ] = 0 \begin{cases} &{\rm Re}[1+G({\rm j}\omega)H({\rm j}\omega)]=0\\ &{\rm Im}[1+G({\rm j}\omega)H({\rm j}\omega)]=0 \end{cases} {Re[1+G(jω)H(jω)]=0Im[1+G(jω)H(jω)]=0

  • 【法则8】:根之和。

    • n − m ≥ 2 n-m≥2 nm2时,特征方程第二项系数与 K ∗ K^* K无关,无论 K ∗ K^* K取何值,开环 n n n个极点之和总是等于闭环特征方程 n n n个根之和,即:
      ∑ i = 1 n s i = ∑ i = 1 n p i \sum_{i=1}^ns_i=\sum_{i=1}^np_i i=1nsi=i=1npi
2.2 其他形式根轨迹实例
2.2.1 实例1:正反馈轨迹

实验要求:绘制正反馈系统的根轨迹,已知单位反馈系统开环传递函数 G ( s ) H ( s ) = K ( s + 2 ) ( s + 3 ) ( s 2 + 2 s + 2 ) , G(s)H(s)=\displaystyle\frac{K(s+2)}{(s+3)(s^2+2s+2)}, G(s)H(s)=(s+3)(s2+2s+2)K(s+2)其中 K < 0 K<0 K<0,使用 M A T L A B {\rm MATLAB} MATLAB绘制系统的根轨迹。

解:

% 实例Chapter6.2.2.1
clc;clear;

% 建立控制系统模型
num=[1,2];den=conv([1,3],[1,2,2]);
sys=tf(num,den);

% 绘制根轨迹
rlocus(-sys);axis([-10 5 -3 3]);
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('正反馈根轨迹图','FontSize',15);

1

2.2.2 实例2:参数根轨迹

实验要求:已知某单位负反馈系统开环传递函数为: G ( s ) H ( s ) = 5 ( s + a ) ( s + 1 ) ( s + 3 ) ( s + 12 ) G(s)H(s)=\displaystyle\frac{5(s+a)}{(s+1)(s+3)(s+12)} G(s)H(s)=(s+1)(s+3)(s+12)5(s+a),其中: 2 ≤ a ≤ 10 2≤a≤10 2a10,使用 M A T L A B {\rm MATLAB} MATLAB绘制参数 a a a的根轨迹。

解:

% 实例Chapter6.2.2.2
clc;clear;

% 定义变量
K=5;den=conv([1,1],conv([1,3],[1,12]));

% 定义数组存储结果
clpoles=[];param=[];

% a值从2变化到10
for a=2:10
    num=[0,0,K,K*a];
    clpoly=num+den;
    clp=roots(clpoly);
    clpoles=[clpoles;clp'];
    param=[param;a];
end

% 打印a和极点表格
disp([param,clpoles]);

% 绘制极点
plot(clpoles,'*');
axis equal;axis([-4,0,-2,2]);
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('参数根轨迹','FontSize',15);
% 极点表格:
   2.0000 + 0.0000i -11.4658 + 0.0000i  -3.3291 + 0.0000i  -1.2051 + 0.0000i
   3.0000 + 0.0000i -11.5249 + 0.0000i  -3.0000 + 0.0000i  -1.4751 + 0.0000i
   4.0000 + 0.0000i -11.5826 + 0.0000i  -2.4174 + 0.0000i  -2.0000 + 0.0000i
   5.0000 + 0.0000i -11.6388 + 0.0000i  -2.1806 - 0.6972i  -2.1806 + 0.6972i
   6.0000 + 0.0000i -11.6938 + 0.0000i  -2.1531 - 1.0041i  -2.1531 + 1.0041i
   7.0000 + 0.0000i -11.7475 + 0.0000i  -2.1262 - 1.2341i  -2.1262 + 1.2341i
   8.0000 + 0.0000i -11.8001 + 0.0000i  -2.1000 - 1.4251i  -2.1000 + 1.4251i
   9.0000 + 0.0000i -11.8516 + 0.0000i  -2.0742 - 1.5913i  -2.0742 + 1.5913i
  10.0000 + 0.0000i -11.9020 + 0.0000i  -2.0490 - 1.7399i  -2.0490 + 1.7399i

2

2.2.3 实例3:延迟系统根轨迹

实验要求:已知某单位负反馈系统的开环传递函数为: G ( s ) H ( s ) = 1 s ( s + 1 ) ( 0.5 s + 1 ) e − s G(s)H(s)=\displaystyle\frac{1}{s(s+1)(0.5s+1)}{\rm e}^{-{s}} G(s)H(s)=s(s+1)(0.5s+1)1es,使用 M A T L A B {\rm MATLAB} MATLAB绘制该延迟系统的根轨迹。

解:

% 实例Chapter6.2.2.3
clc;clear;

% 建立控制系统模型
num=[0,1];den=conv([1,0],conv([1,1],[0.5,1]));
sys1=tf(num,den);

% 对延迟环节进行Pade近似
[np,dp]=pade(1,3);
sys=sys1*tf(np,dp);

% 绘制根轨迹
rlocus(sys);
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('延迟系统根轨迹图','FontSize',15);

3

2.3 控制系统性能分析
2.3.1 闭环零极点与时间响应
  • 系统的动态性能基本上由接近虚轴的闭环极点确定,这样的极点,称为主导极点;
  • 主导极点定义为对整个时间响应过程起主要作用的闭环极点;
  • 时间响应分量的消逝速度,除取决于相应闭环极点的实部值外,还与该极点处的留数,即闭环零、极点之间的相互位置有关;
  • 只有既接近虚轴,又不十分接近闭环零点的闭环极点,才可能成为主导极点;
  • 如果闭环零、极点相距很近,那么这样的闭环零、极点常称为偶极子;偶极子有实数偶极子和复数偶极子之分,复数偶极子必共轭出现;只要偶极子不十分接近坐标原点,它们对系统的影响甚微,可以忽略它们的存在;
  • 接近坐标原点的偶极子对系统动态性能的影响必须考虑;不论偶极子接近坐标原点的程度如何,并不影响系统主导极点的地位;
  • 确定偶极子法则:如果闭环零、极点之间的距离比它们本身模值小一个数量级,则这一对闭环零、极点就构成偶极子;
  • 采用主导极点代替系统全部闭环极点来估算系统性能指标的方法,称为主导极点法;采用主导极点时,在全部闭环极点中,选留最靠近虚轴而又不十分靠近闭环零点的一个或几个闭环极点作为主导极点,略去不十分接近原点的偶极子,以及比主导极点距虚轴远六倍以上的闭环零、极点;
2.3.2 系统性能定性分析

闭环系统零、极点位置对时间响应性能的影响总结:

  • 稳定性。如果闭环极点全部位于 s s s左半平面,则系统一定是稳定的,即稳定性只与闭环极点位置有关,与闭环零点无关;
  • 运动形式。如果闭环系统无零点,且闭环极点均为实数极点,则时间响应一定是单调的;如果闭环极点均为复数极点,则时间响应一般是振荡的;
  • 超调量。超调量主要取决于闭环复数主导极点的衰减率 σ 1 / ω d = ζ / 1 − ζ 2 \sigma_1/\omega_d=\zeta/\sqrt{1-\zeta^2} σ1/ωd=ζ/1ζ2 ,并与其他闭环零、极点接近坐标原点的程度有关;
  • 调节时间。调节时间主要取决于最靠近虚轴的闭环复数极点的实部绝对值 σ 1 = ζ ω n \sigma_1=\zeta\omega_n σ1=ζωn;如果实数极点距虚轴最近,且附近没有实数零点,则调节时间主要取决于该实数极点的模值;
  • 实数零、极点影响。零点减小系统阻尼,使峰值时间提前,超调量增大;极点增大系统阻尼,使峰值时间滞后,超调量减小;它们的作用,随着本身接近坐标原点的程度而加强;
  • 偶极子及其处理。如果零、极点之间的距离比它们本身的模值小一个数量级,则构成偶极子;远离原点的偶极子影响可忽略,接近原点的偶极子影响必须考虑;
  • 主导极点。在 s s s平面上,最靠近虚轴而附近没有闭环零点的一些闭环极点,对系统性能影响最大,称为主导极点;凡比主导极点实部大3~6倍以上的其他闭环零、极点影响可忽略;
  • 闭环实数主导极点对系统性能的影响:闭环实数主导极点作用相当于增大系统的阻尼,使峰值时间滞后,超调量下降;如果实数极点比共轭复数极点更接近坐标原点,甚至可以使振荡过程变为非振荡过程;
2.4 综合实例分析

实验要求:已知单位负反馈控制系统开环传递函数为: G ( s ) H ( s ) = K ( s + 1 ) s ( s − 1 ) ( s + 4 ) G(s)H(s)=\displaystyle\frac{K(s+1)}{s(s-1)(s+4)} G(s)H(s)=s(s1)(s+4)K(s+1),要求:

  1. 绘制此控制系统的根轨迹;
  2. 确定使闭环系统稳定的 K K K值;
  3. 分析此控制系统的阶跃响应性能;
  4. 利用 r l t o o l {\rm rltool} rltool对系统的性能进行分析;

解:

S T E P 1 {\rm STEP1} STEP1】:建立此控制系统的数学模型。

% STEP1:建立控制系统的模型
num=[1,1];den=conv([1,0],conv([1,-1],[1,4]));
sys=tf(num,den);

sys
% 控制系统模型输出:
sys = 
        s + 1
  -----------------
  s^3 + 3 s^2 - 4 s

S T E P 2 {\rm STEP2} STEP2】:绘制该控制系统根轨迹。

% STEP2:绘制控制系统根轨迹
rlocus(sys);grid on;
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('控制系统根轨迹图','FontSize',15);

% 计算用户选定点处的增益和其他闭环极点
[k,poles]=rlocfind(sys)
% 在根轨迹图上点击根轨迹与虚轴交点,输出如下:
k =
    6.0267

poles =
  -2.9951 + 0.0000i
  -0.0024 + 1.4185i
  -0.0024 - 1.4185i

4

  • 当增益 K > 6 K>6 K>6时,闭环控制系统所有极点均位于虚轴的左半部分,此时系统稳定;

S T E P 3 {\rm STEP3} STEP3】:使用 r l t o o l {\rm rltool} rltool工具分析。

% STEP3:使用rltool工具分析
rltool(sys)

% 在rltool工具中,设置C的值为6
% New Plot中选择绘制STEP响应

5

K = 6 K=6 K=6阶跃响应】

6

K = 20 K=20 K=20阶跃响应】

8

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

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

相关文章

使用vite创建vue3工程

定义 什么是vite&#xff1f;-----新一代前端构建工具 优势 开发环境中&#xff0c;无需打包操作&#xff0c;可快速的冷启动---最牛的地方轻量快速的热重载&#xff08;HMR&#xff09;---一修改代码就局部刷新&#xff0c;webpack也具备&#xff0c;但vite更快真正的按需编…

【数据结构与算法】用队列实现栈

文章目录&#x1f60e;前言如何用队列实现栈&#xff1f;用队列实现栈整体的实现代码&#x1f60e;写在最后&#x1f60e;前言 &#x1f63c;前面我们相继实现了 栈 和 队列 &#xff0c;是不是愁没有练手的地方呢&#xff1f;别担心&#xff0c;本章带大家用队列来实现一个栈&…

synchronized 加锁 this 和 class 的区别

synchronized 是 Java 语言中处理并发问题的一种常用手段&#xff0c;它也被我们亲切的称之为“Java 内置锁”&#xff0c;由此可见其地位之高。然而 synchronized 却有着多种用法&#xff0c;当它修饰不同对象时&#xff0c;其意义也是不同的&#xff0c;下面我们一起来看。 ​…

云原生时代顶流消息中间件Apache Pulsar部署实操之Pulsar IO与Pulsar SQL

文章目录Pulsar IO (Connector连接器)基础定义安装Pulsar和内置连接器连接Pulsar到Cassandra安装cassandra集群配置Cassandra接收器创建Cassandra Sink验证Cassandra Sink结果删除Cassandra Sink连接Pulsar到PostgreSQL安装PostgreSQL集群配置JDBC接收器创建JDBC Sink验证JDBC …

【网络】网络层协议——IP

目录网络层IP协议IP基础知识IP地址IP报头格式网段划分CIDR特殊的IP地址IP地址的数量限制私有IP地址和公有IP地址路由IP总结网络层 在复杂的网络环境中确定一个合法的路径。 IP协议 IP协议作为整个TCP/IP中至关重要的协议&#xff0c;主要负责将数据包发送给最终的目标计算机…

多线程 (六) 单例模式

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点!人生格言&#xff1a;当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔&#x1f9be;&am…

蓝桥杯刷题冲刺 | 倒计时19天

作者&#xff1a;指针不指南吗 专栏&#xff1a;蓝桥杯倒计时冲刺 &#x1f43e;马上就要蓝桥杯了&#xff0c;最后的这几天尤为重要&#xff0c;不可懈怠哦&#x1f43e; 文章目录1.抓住那头牛2.排列序数1.抓住那头牛 题目 链接&#xff1a; 抓住那头牛 - C语言网 (dotcpp.com…

网络安全之防火墙

目录 网络安全之防火墙 路由交换终归结底是联通新设备 防御对象&#xff1a; 定义&#xff1a; 防火墙的区域划分&#xff1a; 包过滤防火墙 --- 访问控制列表技术 --- 三层技术 代理防火墙 --- 中间人技术 --- 应用层 状态防火墙 --- 会话追踪技术 --- 三层、四层 UTM …

CrossOver零知识学习1 —— 初识

本文部分内容参考CrossOver22全新版功能简介 免费mac虚拟机工具_CoCo玛奇朵的博客-CSDN博客 特此致谢&#xff01; 一、CrossOver简介 CrossOver是由CODE WEAVERS公司开发的类虚拟机软件&#xff0c;目的是使Linux和Mac OS X操作系统和Window系统兼容。CrossOver英文原意为“…

强烈推荐:0基础入门网安必备《网络安全知识图谱》

蚁景网安学院一直专注于网安实战技能培养&#xff0c;提供全方位的网安安全学习解决方案。我们集聚专业网安技术大佬资源&#xff0c;倾力打造了这本更全面更系统的“网络安全知识图谱”&#xff0c;让大家在网络安全学习路上不迷茫。 在这份网安技能地图册里&#xff0c;我们对…

01 | Msyql系统架构

目录MySQL系统架构连接器查询缓存分析器优化器执行器MySQL系统架构 大体来说&#xff0c;MySQL分为Server层和引擎层两部分。 Server层包含链接器、查询缓存、分析器、优化器和执行器&#xff0c;而引擎层负责的是数据的存储和读取&#xff0c;支持InnoDB、Myisam、Memory等多…

CSS实现文字凹凸效果

使用两个div分别用来实现凹凸效果&#xff1b;text-shadow语法 text-shadow: h-shadow v-shadow blur color; h-shadow&#xff1a;必需。水平阴影的位置。允许负值。 v-shadow &#xff1a;必需。垂直阴影的位置。允许负值。 blur&#xff1a;可选&#xff0c;模糊的距离。 co…

【C语言】你真的了解结构体吗

引言✨我们知道C语言中存在着整形(int、short...)&#xff0c;字符型(char)&#xff0c;浮点型(float、double)等等内置类型&#xff0c;但是有时候&#xff0c;这些内置类型并不能解决我们的需求&#xff0c;因为我们无法用这些单一的内置类型来描述一些复杂的对象&#xff0c…

k8s部署prometheus

k8s部署prometheus 版本说明&#xff1a; k8s&#xff1a;1.24.4 prometheus&#xff1a;release-0.12&#xff08;https://github.com/prometheus-operator/kube-prometheus.git&#xff09; 本次部署采用operator的方式将prometheus部署到k8s中&#xff0c;需对k8s和prom…

springboot+vue驾校管理系统 idea科目一四预约考试,练车

加大了对从事道路运输经营活动驾驶员的培训管理力度&#xff0c;但在实际的管理过程中&#xff0c;仍然存在以下问题&#xff1a;(1)管理部门内部人员在实际管理过程中存在人情管理&#xff0c;不进行培训、考试直接进行发证。(2)从业驾驶员培训机构不能严格执行管理部门的大纲…

SpringBoot解析指定Yaml配置文件

再来个文章目录 文章目录前言1、自定义配置文件2、配置对象类3、YamlPropertiesSourceFactory下面还有投票&#xff0c;帮忙投个票&#x1f44d; 前言 最近在看某个开源项目代码并准备参与其中&#xff0c;代码过了一遍后发现多个自定义的配置文件用来装载业务配置代替数据库…

使用 Python 从点云生成 3D 网格

从点云生成 3D 网格的最快方法 已经用 Python 编写了几个实现来从点云中获取网格。它们中的大多数的问题在于它们意味着设置许多难以调整的参数&#xff0c;尤其是在不是 3D 数据处理专家的情况下。在这个简短的指南中&#xff0c;我想展示从点云生成网格的最快和最简单的过程。…

继承和派生

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C &#x1f525;座右铭&#xff1a;“不要等到什么都没有了&#xff0c;才下…

手撕数据结构—队列

队列队列的话只允许在一端插入&#xff0c;在另外一端删除。插入数据的那一段叫做队尾&#xff0c;出数据的那一段叫做队头&#xff08;从尾巴插入&#xff09;。因此的话队列是先进先出的。入的顺序与出的顺序的话是一样的。这个与栈是不一样的&#xff0c;因为栈的话就是说如…

问题【Java 基础】

基础1、成员变量与局部变量的区别2、静态变量有什么作用3、字符型常量和字符串常量的区别4、静态方法为什么不能调用非静态成员5、静态方法和实例方法有何不同6、重载和重写有什么区别7、什么是可变长参数8、Java 中的几种基本数据类型了解么9、基本类型和包装类型的区别10、包…