自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(133)
  • 收藏
  • 关注

原创 解决word格式编辑一处,其余内容格式都跟着一起变化的问题

解决办法:点击开始栏目,找到样式,在正文对应的样式中点击鼠标右键弹出菜单栏,点击修改按钮,在弹出的设置样式格式的窗口,找到底部的自动更新的框,把勾去掉即可。原文链接:https://blog.youkuaiyun.com/marstonyjiang/article/details/136455712。在word格式编辑时,可能会遇到这种情况:如居中一行,其他内容也跟着一起居中。导致格式调整一直很混乱。经分析及查阅资料发现可能原因是:正文的格式设置为自动更新,会导致上下统一样式的段落格式一起变化;

2025-03-13 14:29:06 470

原创 机器学习-交叉验证

然后,依次将每个子集作为测试集,其余K-1个子集合并作为训练集,训练并测试模型。通过在不同的数据子集上训练和测试模型,交叉验证可以提供对模型泛化能力的更可靠的估计,并帮助我们选择最佳的正则化参数,从而构建更准确、更鲁棒的机器学习模型。交叉验证(Cross-Validation)是一种评估模型性能和选择模型参数的统计学方法,特别是在数据量有限的情况下。选择最佳λ值:选择在交叉验证中表现最好的λ值(例如,具有最高平均准确率或最低平均误差的λ值)作为最终模型的正则化参数。

2025-01-18 17:43:01 556

原创 1神经网络中的神经元模型

神经元模型是神经网络的基础单元,通过模拟生物神经元的结构和功能来处理信息。通过加权求和、激活函数和反向传播算法,神经网络能够进行学习和预测。神经元模型的设计使得神经网络能够在图像识别、语音处理、自然语言处理等复杂任务中取得显著的效果。

2025-01-15 21:50:28 999

原创 仿真测试时,如何设计具体的量化评价指标

驾驶分数是一个综合评估自动驾驶系统表现的指标,涵盖了多方面的因素,如任务完成度、违规行为、安全性、舒适度与效率等。通过加权计算这些因素的分数,驾驶分数能够提供一个简洁、量化的方式,帮助开发者评估自动驾驶系统的表现,并指导其优化和改进。

2025-01-15 21:23:59 751

原创 mathtype使用积累

1.如何使得公式居中编号右对齐教程(设置右对齐距离)?搜索:如何右对齐参考资料2.如何设置三线表三线表制作

2025-01-02 22:08:08 142

原创 powershell使用积累

windows的git bash用着不是很顺手,例如复制粘贴不是常用的快捷键,自己研究了在powershell中使用git bash,并对powershell进行终端美化。

2024-12-21 15:06:37 293

原创 git diff使用指南

【代码】git diff使用指南。

2024-12-08 22:12:35 229

原创 carsim2020安装记录

step1:双击carsim安装包,进行正常安装,这里注意如何破解,踩了一晚上坑。

2024-12-07 21:56:31 467

原创 c++中模板的特化与偏特化

完全特化和偏特化都是C++模板特化的重要形式,用于为模板提供特定类型或类型组合的专门实现。完全特化针对所有模板参数,适用于需要为特定类型提供完全不同实现的情况。偏特化针对部分模板参数,适用于需要处理特定类型组合但又保持一定通用性的情况。类模板支持完全特化和偏特化,而函数模板仅支持完全特化。当需要模拟函数模板的偏特化行为时,可以使用函数重载或辅助类模板来实现。理解并正确应用模板特化和偏特化,可以显著提高C++代码的灵活性和性能,同时保持代码的可读性和可维护性。

2024-11-28 11:13:24 639

原创 c++类模板成员函数的特化

模板成员函数是指类中的某个成员函数本身是一个模板,可以接受不同的类型参数。这意味着即使类本身不是模板,某些成员函数仍可以根据需要处理不同类型的数据。模板成员函数的声明和定义方式取决于类是否是模板类。以下将分别介绍非模板类和模板类中的模板成员函数。类成员函数作为模板函数在C++中提供了强大的灵活性,使得类在保持非模板的同时,部分成员函数可以处理多种类型的数据。这种设计模式在许多场景下非常有用,如通用打印、比较、转换等操作。

2024-11-28 11:08:23 1201

原创 python中的解包

(如列表、元组、字典等)中提取元素,并将其分配给变量或函数参数。解包可以让代码更简洁,常见于赋值操作、函数调用以及数据处理等场景。解包是一种将可迭代对象分解为单独元素的操作。它可以在赋值、函数调用、循环以及数据处理中提高代码的可读性和灵活性。解包操作适用于任何可迭代对象(如列表、元组、字符串、集合等)。通过解包,可以将可迭代对象的多个元素同时赋值给多个变量。解包可以用于从可迭代对象中提取数据,尤其是在嵌套结构中。可以将一个可迭代对象解包为位置参数。可以将字典解包为关键字参数。通过解包,可以合并多个序列。

2024-11-27 16:16:05 304

原创 Python中变量的作用域

x = 10 # 全局作用域print(x) # 查找 xexample() # 会输出 10在example函数中,x没有在局部作用域中定义,所以 Python 会按照 LEGB 规则查找,最终会在全局作用域中找到并使用全局变量x。作用域(Scope)定义了变量名在代码中的有效范围。LEGB 规则决定了变量名的查找顺序:首先查找局部作用域,其次查找封闭作用域,再查找全局作用域,最后查找内建作用域。Python 中的作用域机制使得变量的访问更加灵活和高效,同时也避免了命名冲突和混乱。

2024-11-20 10:24:03 915

原创 c++如何绑定一个类与类内成员的关系

在 C++ 中,类的定义明确地声明了其成员函数和成员变量。public:// 函数实现在上述代码中,memberVar和被明确地定义为MyClass的成员。类定义与作用域:成员函数和成员变量在类定义中被明确声明,作用域解析确保了它们的归属。编译器符号表与名称查找:编译器使用符号表和名称查找规则来解析和绑定成员。虚函数表与虚函数表指针:支持多态性,确保通过基类指针调用派生类的重写函数。静态成员的存储管理:静态成员变量和静态成员函数与类本身关联,存储在数据段中。名称修饰。

2024-11-11 16:14:41 758

原创 c++中的变量与常量

常量(Constant):常量的值在整个程序运行过程中不可修改,通常是用const或constexpr修饰的。const变量:表示值在运行时不可修改,但它仍然是一个变量,占用内存空间,并且可以在运行时初始化。constexpr常量:表示编译时已知的常量,必须在编译时确定其值。const变量与常量的区别const变量:变量的值不可修改,但它依然是一个变量。它可以在运行时初始化,其值在程序运行期间保持不变。常量:通常是指程序中不可改变的值(如const或constexpr修饰的常量)。

2024-11-11 16:01:06 446

原创 c++中的左值与右值

等号右边的值可以是左值,也可以是右值,这取决于值是否具备持久的内存地址。左值:是具备持久内存地址的对象,可以取地址,可以出现在赋值语句的左边(或右边)。右值:是没有持久内存地址的临时对象,通常不可取地址。右值在表达式中通常是临时计算出来的结果。

2024-11-11 15:35:18 296

原创 曲率和导数的关系

曲率与曲线的导数密切相关,通过导数可以计算出曲线的曲率。假设曲线由参数方程 (\mathbf{r}(t) = (x(t), y(t))) 表示,其一阶和二阶导数分别为 (\mathbf{r}‘(t)) 和 (\mathbf{r}’'(t))。在一些高级插值方法中,会根据曲线的曲率自适应地调整插值多项式的阶数或插值节点的密度。:曲率不仅表示曲线的弯曲程度,还指示了曲线弯曲的方向。对于显式表示的曲线 (y = f(x)),曲率可以通过函数的一阶和二阶导数来计算。曲率半径越小,曲线在该点的弯曲越剧烈。

2024-11-10 18:40:42 1641 1

原创 曲率的定义

曲率是描述曲线弯曲程度的量度。在二维空间中,对于一条曲线,曲率κκdθdsκdsdθ​dθ是曲线的切线方向(即车辆朝向)相对于路径切线的变化量。ds是路径上的微小弧长增量。apollo代码中,kappa()函数返回的是车辆当前位置的曲率,即路径在该位置的弯曲度。通过计算车辆的朝向(航向角)和路径的弯曲程度,kappa可以决定车辆当前需要多少转弯量以及转弯的方向(左或右)。

2024-11-09 11:20:49 974

原创 STL-list容器的使用

std::list是C++标准模板库(STL)中的一个容器,基于双向链表实现。它允许在任意位置高效地插入和删除元素,但不支持随机访问(如通过索引访问元素)。适用于需要频繁进行中间插入和删除操作,而不需要快速随机访问的场景。std::list是一个基于双向链表的容器,适用于需要频繁在中间位置进行插入和删除操作的场景。它提供高效的插入和删除性能,但不支持随机访问,内存开销较大,且缓存局部性差。在选择使用std::list之前,应权衡其优势和劣势,并考虑是否有其他更适合的容器(如或std::deque使用建议。

2024-11-09 10:53:01 1213

原创 虚函数和纯虚函数

虚函数是在基类中声明的,可以在派生类中被重写(覆盖)的函数。它允许通过基类指针或引用调用派生类中的函数实现,从而实现运行时多态。public:特性虚函数(Virtual Function)纯虚函数(Pure Virtual Function)定义实现可以在基类中实现不在基类中实现,派生类必须实现类类型基类可以实例化基类是抽象类,不能实例化强制性派生类可以选择实现或使用基类实现派生类必须实现,或者继续保持抽象典型用途提供可选的默认行为定义接口,强制派生类实现特定行为。

2024-11-09 10:46:29 2124

原创 关于向前欧拉法的一些总结

前向欧拉法由于其简单性和低计算量,适用于对精度要求不高或作为教学工具。减小步长以提高当前数值解的精度。使用更高阶的数值方法(如Runge-Kutta方法)以获得更准确的斜率估计。实施自适应步长控制以平衡精度和计算效率。通过这些方法,可以显著提高数值解及其斜率的准确性,从而更好地近似微分方程的真实解。

2024-11-08 22:35:05 732

原创 智能指针中的循环引用具体解决流程

参考这篇。

2024-11-08 11:13:15 160

原创 ubuntu中安装matplotcpp绘图

在 Ubuntu 上,你需要安装 python-matplotlib 包,该包只是使得python环境中有 matplotlib 库,如果已经安装可以跳过,包含了 Python 3 的开发头文件、静态库和编译工具,主要用于编译和构建 C/C++ 扩展模块或其他依赖 Python 3 的底层代码。:提供了 Python 3 的静态链接库文件,允许开发者将 Python 3 嵌入到 C/C++ 程序中。是为需要与 Python 3 交互的 C/C++ 扩展或其他底层开发工具提供的支持包。

2024-11-06 17:40:06 777

原创 自车坐标系与大地坐标系的理解与转换

在自动驾驶和机器人技术中,理解自车坐标系(也称为车辆坐标系或局部坐标系)和全局坐标系(也称为全局或地图坐标系)中车辆位置的关系是非常重要的。将自车坐标系中的位置转换为全局坐标系中的位置,需要考虑车辆在全局坐标系中的绝对位置和它的朝向(偏航角)。这些转换允许系统在不同的坐标系之间移动数据,这对于集成来自不同传感器的数据和执行路径规划至关重要。(从全局坐标系的正X轴到车辆X轴的角度),自车坐标系中的位置为。,则全局坐标系中的位置。假设车辆的全局位置为。是相对于车辆的位置,

2024-11-05 18:35:46 581

原创 如何判断两个线段相交

逆时针(Counterclockwise):如果点 (b) 在从 (a) 到 (c) 的逆时针方向上,我们说这三个点的方向是逆时针的。顺时针(Clockwise):如果点 (b) 在从 (a) 到 (c) 的顺时针方向上,我们说这三个点的方向是顺时针的。3.共线(Collinear):如果点 (a)、(b) 和 (c) 在一条直线上,我们说这三个点是共线的。

2024-11-05 18:07:05 518

原创 cmake中的${CMAKE_CURRENT_BINARY_DIR}

在子目录中的值代表了该子目录对应的二进制输出目录。它是相对当前处理的 CMakeLists.txt 文件的上下文变化而变化的,有助于组织和管理构建输出。

2024-10-31 14:08:45 436

原创 c++中的类设计需要考虑哪些东西

在 C++ 中,构造函数的种类主要包括默认构造函数、带参数的构造函数、拷贝构造函数、移动构造函数和委托构造函数。每种构造函数都有其特定的使用场景和目的,可以根据需求选择合适的构造函数类型。

2024-10-29 15:59:59 381

原创 c++中的this指针

构造函数主要是对类内的成员变量进行初始化;一般常用初始化列表进行成员变量的初始化;这里重点是,构造函数调用之前,该对象的内存已经被分配;调用构造函数是为了对成员变量初始化。在初始化列表中,成员变量尚未初始化,因此不能使用this指针访问或修改成员变量。若不用初始化列表,在构造函数内部利用this指针进行初始化,构造函数中的成员变量在函数体执行时已经被默认初始化,但具体的初始值取决于它们的类型。故使用this指针在构造函数体内使用this指针是安全的;

2024-10-28 15:15:53 365

原创 c++中的可调用对象

在 C++ 中,只要一个对象可以通过()运算符调用,就被视为可调用对象。普通函数函数指针Lambda 表达式函数对象(仿函数)这些不同的可调用对象在 C++ 中提供了丰富的功能,用于实现更灵活的回调、函数参数传递和泛型编程。

2024-10-28 10:38:12 443

原创 cmake如何处理conan包中的头文件?

如果你使用的是公共的 Conan 包,可以查看包的文档或 GitHub 页面,通常会有关于头文件位置的说明。在这个方法中,包的头文件通常会被拷贝到一个指定的目录,通常是。安装包后,可以在 Conan 的缓存目录中找到该包。在 Conan 中管理的包,头文件的位置通常由包的开发者在包的。在这个文件中,你可以找到与头文件路径相关的变量,例如。通过以上步骤,能够找到 Conan 管理的包的头文件位置。文件,或使用其他命令输出包的信息。打开你感兴趣的 Conan 包的。子目录,通常会包含该包的头文件。

2024-10-25 16:09:02 265

原创 linux中的PATH环境变量

当你输入一个命令时,系统会按照 PATH 中指定的顺序在这些路径中查找对应的可执行文件。通过修改 PATH 环境变量,你可以添加自定义的路径,告诉系统在这些路径中查找可执行文件。当你在终端或者脚本中输入一个命令时,系统会在 PATH 环境变量指定的路径列表中依次搜索对应的可执行文件,直到找到第一个匹配的文件并执行。在 Ubuntu 系统中,PATH 环境变量是一个非常重要的环境变量,它决定了系统在执行命令时搜索可执行文件的路径。例如,如果你安装了一个新的软件包,并且它的可执行文件位于。

2024-10-24 10:30:16 707

原创 c++的头文件到底应该怎么写?

因为头文件的内容会被多个 .cpp 文件包含,如果放置定义,会导致同一个符号(变量或函数)在多个文件中被定义,违反了"定义只能有一次"的规则。为了避免这个问题,我们通常在头文件中只包含变量或函数的声明,而将它们的定义放在对应的源文件中。总之,头文件的编写需要遵循一定的规则,合理划分声明和定义,并且要注意使用头文件保护措施。这就是为什么我们通常遵循这样的规则:在头文件中只写声明,而在源文件中写定义。头文件的作用是供其他的 .cpp 文件包含,它们本身不直接参与编译,但其内容会在多个 .cpp 文件中被编译。

2024-10-23 22:20:39 793

原创 c++中在头文件定义类为何不会导致类的重定义

在C++中,我们通常将类的定义写在头文件中,然后在多个源文件中包含该头文件。在编译过程中,预处理器会将头文件中的内容复制到包含该头文件的源文件中。因此,虽然多个源文件都包含了相同的类定义,但在编译时,每个源文件都会有一份独立的类定义副本。,我们可以安全地在多个源文件中包含同一个头文件,而不会导致类的重定义问题。为了防止在同一个源文件中多次包含同一个头文件导致的重定义问题,我们通常使用头文件保护符(header guards)或。总之,将类的定义写在头文件中是C++中的常见做法,通过头文件保护符或。

2024-10-23 22:08:01 236

原创 cmake中link_directories()与link_libraried()全局性的理解

作用:指定链接器在编译时搜索库文件的目录。语法影响范围:全局,影响调用该命令之后定义的所有目标。

2024-10-22 15:02:27 1026

原创 Cmake中“目标层级“的概念(target_include_directories和include_directories的区别)

*目标(Target)**是 CMake 中的一个基本构建单元,代表了最终要生成的文件或构建过程中的中间产物。可执行文件(Executable):通过定义。静态库(Static Library):通过定义,类型为STATIC。动态库(Shared Library):通过定义,类型为SHARED。模块库(Module Library):通过定义,类型为MODULE。在 CMake 中,每个目标通过诸如或等命令定义。这些目标可以是最终的可执行文件、静态库、动态库,甚至是一些中间的构建单元。

2024-10-22 14:53:19 1250

原创 如何统计c++项目中的代码行数--cloc

cloc(Count Lines of Code)是一款用于统计源代码行数的开源工具,支持多种编程语言。它能够区分有效代码行、注释行和空行,非常适合用于分析项目的代码规模。

2024-10-21 10:12:26 665

原创 c++中虚函数表属于类还是属于对象?

虚函数表(vtable):这是一个由编译器生成的静态数据结构,用于支持运行时的动态绑定。每个包含虚函数的类(基类或派生类)都有一个对应的虚函数表。虚指针(vptr):每个对象内部通常包含一个隐藏的指针,称为虚指针,指向所属类的虚函数表。这个指针由编译器自动管理,程序员通常无需直接操作。虚函数表(vtable)是类级别的数据结构,每个具有虚函数的类都有自己的虚函数表。虚指针(vptr)是对象级别的,每个对象包含一个指向其所属类虚函数表的指针。

2024-10-20 10:47:40 823

原创 c++编译过程哪个阶段会进行语法检查?

【代码】c++编译过程哪个阶段会进行语法检查?

2024-10-20 10:16:25 148

原创 ubuntu22.04安装微信

下载后,进入wechat-beta_1.0.0.238_amd64.deb所在文件夹,一般为home目录下Download文件夹;,我试了wechat-beta_1.0.0.241_amd64.deb版本,下载后安装可以成功,但是登录时,扫码一直报错。

2024-10-19 23:18:02 583 1

原创 target_include_directories是如何组织头文件的?

为mylib指定头文件搜索路径:确保在编译mylib时能够找到必要的头文件。为依赖mylib的目标自动添加头文件路径:使用PUBLIC关键字,使得所有链接mylib的目标(如可执行文件或其他库)也能自动包含这些目录,简化依赖管理。这种方式符合现代 CMake 的最佳实践,通过清晰地指定目标的接口属性(如包含目录),使项目结构更加模块化和易于维护。

2024-10-19 22:43:47 387

原创 cmake配置后的输出日志解析

上述日志显示了使用 CMake 配置项目的完整过程。通过指定构建类型、编译器路径、源代码和构建目录等参数,CMake 成功地生成了适用于 Unix 系统的 Makefile 文件,位于指定的构建目录中。接下来,用户可以使用生成的 Makefile 来编译和构建项目。

2024-10-19 20:54:57 1284

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除