- 博客(155)
- 收藏
- 关注
原创 在 Ubuntu 20.04 上轻松安装和使用中文输入法
安装完成后,您应该可以在屏幕右上角的系统托盘看到一个键盘图标或语言缩写。点击该图标,您就可以在英语和“汉语 (Intelligent Pinyin)”之间切换。两者都是成熟的输入法框架,您可以根据个人喜好选择其一进行安装和配置。IBus (Intelligent Input Bus) 是 Ubuntu 默认的输入法框架。Fcitx 是一个功能强大的输入法框架,受到许多用户的喜爱。配合谷歌拼音输入法,可以提供流畅的输入体验。添加成功后,您就可以通过点击系统托盘的键盘图标或使用快捷键。Ctrl + 空格键。
2025-07-24 20:07:03
339
原创 在 Ubuntu 20.04 上轻松安装和使用中文输入法
安装完成后,您应该可以在屏幕右上角的系统托盘看到一个键盘图标或语言缩写。点击该图标,您就可以在英语和“汉语 (Intelligent Pinyin)”之间切换。两者都是成熟的输入法框架,您可以根据个人喜好选择其一进行安装和配置。IBus (Intelligent Input Bus) 是 Ubuntu 默认的输入法框架。Fcitx 是一个功能强大的输入法框架,受到许多用户的喜爱。配合谷歌拼音输入法,可以提供流畅的输入体验。添加成功后,您就可以通过点击系统托盘的键盘图标或使用快捷键。Ctrl + 空格键。
2025-07-24 17:25:30
448
原创 【ssh】在 Windows 上生成 SSH 公钥并实现免密登录 Linux
在 Windows 上生成 SSH 公钥并实现免密登录 Linux,可以使用ssh-keygen命令,这是 Windows 10 和 Windows 11 中默认包含的 OpenSSH 工具的一部分。
2025-07-07 09:49:19
423
原创 如何理解面向对象编程与面向过程编程的区别?
两种方式都能解决问题,但面向对象更接近人类思维,代码更易理解和维护。选择哪种方式主要看问题的复杂度和团队的需求。:将现实世界中的事物抽象成对象,每个对象包含数据(属性)和操作数据的方法,通过对象之间的交互来解决问题。:将复杂问题分解成若干个简单的函数或过程,按照执行顺序调用这些函数来解决问题。
2025-07-06 12:56:19
266
原创 状态机学习
transition condition(转移条件) :也叫做Event(事件),在某一状态下,只有达到了transition condition(转移条件),才会按照状态机的转移流程转移到下一状态,并执行相应的动作。transition(转移) :一个状态接收一个输入执行了某些动作到达了另外一个状态的过程就是一个transition(转移)。状态机中有几个术语:state(状态) 、transition(转移) 、action(动作) 、transition condition(转移条件)。
2025-07-06 12:42:08
286
原创 (继承的优势?)继承提升了代码复用但增加了代码理解的难度
承认问题:继承确实会带来代码阅读上的“跳转”,这是为了实现抽象和多态付出的代价。理解收益:这种设计的核心收益是多态,它能构建出松耦合、易扩展的系统,这是简单的代码复用无法比拟的。解决方案技术上:依赖现代IDE的强大功能(如 F12 跳转)。规范上:使用override和final关键字明确意图。设计上:深入理解“组合优于继承”,在不是严格 “is-a” 的场景下使用组合,能让代码更清晰。
2025-07-06 12:14:55
758
原创 【无标题】
https://blog.csdn.net/hsyxxyg/article/details/137676045
2025-07-02 16:50:42
101
原创 c++类的多态整理
在C++中,多态通常通过虚函数实现。基类定义虚函数,而子类提供具体实现。在运行时,通过基类指针调用虚函数时,基于对象实际的类型将调用对应的子类实现。每个定义了或继承了虚函数的对象会包含一个虚函数表指针。这个指针指向一个虚函数表,虚函数表存储着这些虚函数的地址。虚函数表(Vtable)是与类相关联的,而不是与每个具体的对象相关联。虚函数表是为每个具有虚函数的类创建的,而不是为每个对象创建的。所有属于同一个类的对象共享同一个虚函数表。虚函数表实现多态的具体原理虚函数表包含指向类中虚函数的指针。
2025-06-30 16:48:15
109
原创 conan命令积累
通过此命令,你告诉 Conan 包管理器将 https://a 作为一个新的远程源,并将其名称设置为 pj_name_conan_dev_local。在实际操作中,你需要将 https://a 替换为实际的远程服务器地址。此命令会列出所有已添加的远程服务器,包括它们的名称和 URL。通过这个列表,你可以确认你添加的远程服务器是否成功以及它们的具体信息。pj_name_conan_dev_local 是你想为这个远程服务器指定的名称。是一个用于向 Conan 包管理器添加新的远程服务器的命令。
2025-06-30 13:36:12
183
原创 everything按文件格式与日期范围搜索
Everything的搜索速度非常快,搜索结果会实时显示。您还可以使用右键菜单对搜索结果进行进一步操作,如打开文件位置、复制路径等。打开Everything应用程序。
2025-05-14 10:16:33
872
原创 【基础知识】李雅普诺夫方程与李雅普诺夫函数
李雅普诺夫方程是一个矩阵方程,通常表示为:ATP+PA=−QA^TP + PA = -QATP+PA=−Q其中:李雅普诺夫函数是用于分析动态系统稳定性的标量函数,通常表示为 V(x)V(x)V(x),它满足以下条件:李雅普诺夫方程和李雅普诺夫函数之间的关系在于:对于线性系统 x˙=Ax\dot{x} = Axx˙=Ax,如果李雅普诺夫方程有解(即存在正定矩阵 PPP 使方程成立),那么函数 V(x)=xTPxV(x) = x^TPxV(x)=xTPx 就是该系统的一个李雅普诺夫函数。这种关系使我们能够:简言
2025-05-08 16:42:06
1122
原创 【基础知识】控制系统如何设置状态变量
这种“伴随矩阵”(companion form)或“相变量”表示,能让绝大多数控制设计(如 LQR、极点配置、非线性反步、自适应控制)直接套用。”链式结构,导致后续设计时要重新推导、容易出错。那么推导出的状态方程是。
2025-05-07 16:59:40
950
原创 【反步法预备知识】李雅普诺夫函数(Lyapunov function)
李雅普诺夫函数(Lyapunov function)是分析动态系统稳定性的一种工具。其核心思想是:如果你能给系统状态找一个“能量”或“势能”函数Vx,满足V00Vx0∀x0通常还要求随着∥x∥→∞Vx→∞(称为“趋外性”或“去势性”),保证它能覆盖任意大范围的状态。
2025-05-06 15:09:35
1268
原创 解决word格式编辑一处,其余内容格式都跟着一起变化的问题
解决办法:点击开始栏目,找到样式,在正文对应的样式中点击鼠标右键弹出菜单栏,点击修改按钮,在弹出的设置样式格式的窗口,找到底部的自动更新的框,把勾去掉即可。原文链接:https://blog.csdn.net/marstonyjiang/article/details/136455712。在word格式编辑时,可能会遇到这种情况:如居中一行,其他内容也跟着一起居中。导致格式调整一直很混乱。经分析及查阅资料发现可能原因是:正文的格式设置为自动更新,会导致上下统一样式的段落格式一起变化;
2025-03-13 14:29:06
3508
原创 机器学习-交叉验证
然后,依次将每个子集作为测试集,其余K-1个子集合并作为训练集,训练并测试模型。通过在不同的数据子集上训练和测试模型,交叉验证可以提供对模型泛化能力的更可靠的估计,并帮助我们选择最佳的正则化参数,从而构建更准确、更鲁棒的机器学习模型。交叉验证(Cross-Validation)是一种评估模型性能和选择模型参数的统计学方法,特别是在数据量有限的情况下。选择最佳λ值:选择在交叉验证中表现最好的λ值(例如,具有最高平均准确率或最低平均误差的λ值)作为最终模型的正则化参数。
2025-01-18 17:43:01
639
原创 1神经网络中的神经元模型
神经元模型是神经网络的基础单元,通过模拟生物神经元的结构和功能来处理信息。通过加权求和、激活函数和反向传播算法,神经网络能够进行学习和预测。神经元模型的设计使得神经网络能够在图像识别、语音处理、自然语言处理等复杂任务中取得显著的效果。
2025-01-15 21:50:28
1124
原创 仿真测试时,如何设计具体的量化评价指标
驾驶分数是一个综合评估自动驾驶系统表现的指标,涵盖了多方面的因素,如任务完成度、违规行为、安全性、舒适度与效率等。通过加权计算这些因素的分数,驾驶分数能够提供一个简洁、量化的方式,帮助开发者评估自动驾驶系统的表现,并指导其优化和改进。
2025-01-15 21:23:59
921
原创 powershell使用积累
windows的git bash用着不是很顺手,例如复制粘贴不是常用的快捷键,自己研究了在powershell中使用git bash,并对powershell进行终端美化。
2024-12-21 15:06:37
350
原创 c++中模板的特化与偏特化
完全特化和偏特化都是C++模板特化的重要形式,用于为模板提供特定类型或类型组合的专门实现。完全特化针对所有模板参数,适用于需要为特定类型提供完全不同实现的情况。偏特化针对部分模板参数,适用于需要处理特定类型组合但又保持一定通用性的情况。类模板支持完全特化和偏特化,而函数模板仅支持完全特化。当需要模拟函数模板的偏特化行为时,可以使用函数重载或辅助类模板来实现。理解并正确应用模板特化和偏特化,可以显著提高C++代码的灵活性和性能,同时保持代码的可读性和可维护性。
2024-11-28 11:13:24
679
原创 c++类模板成员函数的特化
模板成员函数是指类中的某个成员函数本身是一个模板,可以接受不同的类型参数。这意味着即使类本身不是模板,某些成员函数仍可以根据需要处理不同类型的数据。模板成员函数的声明和定义方式取决于类是否是模板类。以下将分别介绍非模板类和模板类中的模板成员函数。类成员函数作为模板函数在C++中提供了强大的灵活性,使得类在保持非模板的同时,部分成员函数可以处理多种类型的数据。这种设计模式在许多场景下非常有用,如通用打印、比较、转换等操作。
2024-11-28 11:08:23
1365
原创 python中的解包
(如列表、元组、字典等)中提取元素,并将其分配给变量或函数参数。解包可以让代码更简洁,常见于赋值操作、函数调用以及数据处理等场景。解包是一种将可迭代对象分解为单独元素的操作。它可以在赋值、函数调用、循环以及数据处理中提高代码的可读性和灵活性。解包操作适用于任何可迭代对象(如列表、元组、字符串、集合等)。通过解包,可以将可迭代对象的多个元素同时赋值给多个变量。解包可以用于从可迭代对象中提取数据,尤其是在嵌套结构中。可以将一个可迭代对象解包为位置参数。可以将字典解包为关键字参数。通过解包,可以合并多个序列。
2024-11-27 16:16:05
362
原创 Python中变量的作用域
x = 10 # 全局作用域print(x) # 查找 xexample() # 会输出 10在example函数中,x没有在局部作用域中定义,所以 Python 会按照 LEGB 规则查找,最终会在全局作用域中找到并使用全局变量x。作用域(Scope)定义了变量名在代码中的有效范围。LEGB 规则决定了变量名的查找顺序:首先查找局部作用域,其次查找封闭作用域,再查找全局作用域,最后查找内建作用域。Python 中的作用域机制使得变量的访问更加灵活和高效,同时也避免了命名冲突和混乱。
2024-11-20 10:24:03
946
原创 c++如何绑定一个类与类内成员的关系
在 C++ 中,类的定义明确地声明了其成员函数和成员变量。public:// 函数实现在上述代码中,memberVar和被明确地定义为MyClass的成员。类定义与作用域:成员函数和成员变量在类定义中被明确声明,作用域解析确保了它们的归属。编译器符号表与名称查找:编译器使用符号表和名称查找规则来解析和绑定成员。虚函数表与虚函数表指针:支持多态性,确保通过基类指针调用派生类的重写函数。静态成员的存储管理:静态成员变量和静态成员函数与类本身关联,存储在数据段中。名称修饰。
2024-11-11 16:14:41
816
原创 c++中的变量与常量
常量(Constant):常量的值在整个程序运行过程中不可修改,通常是用const或constexpr修饰的。const变量:表示值在运行时不可修改,但它仍然是一个变量,占用内存空间,并且可以在运行时初始化。constexpr常量:表示编译时已知的常量,必须在编译时确定其值。const变量与常量的区别const变量:变量的值不可修改,但它依然是一个变量。它可以在运行时初始化,其值在程序运行期间保持不变。常量:通常是指程序中不可改变的值(如const或constexpr修饰的常量)。
2024-11-11 16:01:06
466
原创 c++中的左值与右值
等号右边的值可以是左值,也可以是右值,这取决于值是否具备持久的内存地址。左值:是具备持久内存地址的对象,可以取地址,可以出现在赋值语句的左边(或右边)。右值:是没有持久内存地址的临时对象,通常不可取地址。右值在表达式中通常是临时计算出来的结果。
2024-11-11 15:35:18
327
原创 曲率和导数的关系
曲率与曲线的导数密切相关,通过导数可以计算出曲线的曲率。假设曲线由参数方程 (\mathbf{r}(t) = (x(t), y(t))) 表示,其一阶和二阶导数分别为 (\mathbf{r}‘(t)) 和 (\mathbf{r}’'(t))。在一些高级插值方法中,会根据曲线的曲率自适应地调整插值多项式的阶数或插值节点的密度。:曲率不仅表示曲线的弯曲程度,还指示了曲线弯曲的方向。对于显式表示的曲线 (y = f(x)),曲率可以通过函数的一阶和二阶导数来计算。曲率半径越小,曲线在该点的弯曲越剧烈。
2024-11-10 18:40:42
2163
1
原创 曲率的定义
曲率是描述曲线弯曲程度的量度。在二维空间中,对于一条曲线,曲率κκdθdsκdsdθdθ是曲线的切线方向(即车辆朝向)相对于路径切线的变化量。ds是路径上的微小弧长增量。apollo代码中,kappa()函数返回的是车辆当前位置的曲率,即路径在该位置的弯曲度。通过计算车辆的朝向(航向角)和路径的弯曲程度,kappa可以决定车辆当前需要多少转弯量以及转弯的方向(左或右)。
2024-11-09 11:20:49
1419
原创 STL-list容器的使用
std::list是C++标准模板库(STL)中的一个容器,基于双向链表实现。它允许在任意位置高效地插入和删除元素,但不支持随机访问(如通过索引访问元素)。适用于需要频繁进行中间插入和删除操作,而不需要快速随机访问的场景。std::list是一个基于双向链表的容器,适用于需要频繁在中间位置进行插入和删除操作的场景。它提供高效的插入和删除性能,但不支持随机访问,内存开销较大,且缓存局部性差。在选择使用std::list之前,应权衡其优势和劣势,并考虑是否有其他更适合的容器(如或std::deque使用建议。
2024-11-09 10:53:01
1265
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人