自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 什么是CAN总线?

1.1 CAN是什么?CAN总线,全称为Controller Area Network,即控制器局域网,CAN 总线最初是由德国电气商博世公司开发,其最初动机就是为了解决现代汽车中庞大的电子控制系统之间的通讯,减少不断增加的信号线。于是,他们设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上。1.2 CAN总线特点可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。系统柔软性。

2024-07-15 20:48:59 1037

原创 Git代码管理工具 — 4 Git分支详解

打开存在冲突的文件,Git会在冲突区域插入特殊的标记,需要手动编辑文件,决定保留哪个版本的文本,或者可能需要结合两个版本的内容。Git 分支允许你从当前开发线上分离出来,进行独立的开发工作,而不会影响主分支的稳定性,意味着多人协同开发而互不影响。: 当你尝试合并两个分支,如果存在冲突,Git会停止合并过程并告诉你哪些文件存在冲突。命令用于将两个分支的更改合并在一起,通常会将其他分支的更改合并回主分支(通常是。是Git命令的一个选项,用于删除已经完全合并的本地分支,这里的。

2024-07-14 18:24:05 840

原创 Git代码管理工具 — 3 Git基本操作指令详解

目录1 获取本地仓库2 基础操作指令2.1 基础操作指令框架2.2 git status查看修改的状态2.3 git add添加工作区到暂存区2.4 提交暂存区到本地仓库2.5 git log查看提交日志2.6 git reflog查看已经删除的记录2.7 git reset版本回退2.8 添加文件至忽略列表要使用Git进行代码的版本控制,确实需要首先获取或创建一个本地仓库,步骤如下:1)创建本地仓库目录:在电脑创建一个新的文件夹,例如命名为这个文件夹将作为你的本地Git仓库。2)打开Git Bash:进入

2024-07-14 16:31:44 1078

原创 Git代码管理工具 — 2 Git安装教程

更改安装地址,其他保持默认即可。

2024-07-14 10:11:47 753

原创 Git代码管理工具 — 1 什么是Git?

分布式版本控制系统没有“中央服务器”,每个开发者都有一个完整的本地仓库副本,工作时开发者可以在没有网络连接的情况下进行大部分版本控制操作,因为版本库就在你自己的电脑上,多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了。Subversion(SVN)是一个开源的集中式版本控制系统,以其原子性提交、细粒度的权限控制和网络依赖性为特点,适用于需要集中管理代码和严格权限控制的项目环境,在处理大规模并行开发和频繁分支操作方面不如分布式版本控制系统灵活,目前使用较少。开发而开发的一个开放源码的。

2024-07-13 00:08:04 610

原创 BMS电池管理系统 — 1 什么是BMS

SOH(State of Health)是电池健康状态的指标,用于评估电池的性能和寿命。SOH 在 BMS 中扮演着重要的作用,是电池老化程度的重要反映指标, SOH 估计研究对于电池的安全预警、维护管理以及剩余寿命(Remaining useful life, RUL)预测是至关重要的。

2024-07-11 21:08:58 1109

原创 嵌入式Linux系统编程 — 7.4 fork、vfork函数创建子进程

虽然 vfork()系统调用在效率上要优于 fork(),但是 vfork()可能会导致一些难以察觉的程序 bug,所以尽量避免使用 vfork()来创建子进程,虽然 fork()在效率上并没有 vfork()高,但是现代的 Linux 系统内核已经采用了写时复制技术来实现 fork(),其效率较之于早期的 fork()实现要高出许多,除非速度绝对重要的场合,我们的程序当中应舍弃 vfork()而使用 fork()。在一个大型的应用程序任务中,创建子进程通常会简化应用程序的设计,同时提高了系统的并发性。

2024-07-08 20:56:52 840

原创 嵌入式Linux系统编程 — 7.3 进程的内存布局与虚拟内存空间

在 Linux 系统中,采用了虚拟内存管理技术,进程的虚拟地址空间是操作系统为每个进程提供的一段连续的、私有的内存区域。虚拟地址空间使得每个进程都像是在独立的内存中运行,隔离了不同进程的内存访问,提高了系统的稳定性和安全性。在 32 位系统中,每个进程的逻辑地址空间均为 4GB, 这 4GB 的内存空间按照 3:1 的比例进行分配,其中用户进程享有 3G 的空间,而内核独自享有剩下的 1G 空间,如下所示:虚拟内存是操作系统通过内存管理单元(MMU)将虚拟地址映射到物理地址的技术。

2024-07-07 16:56:36 585

原创 嵌入式Linux系统编程 — 7.2 进程的环境变量

每一个进程都有一组与其相关的环境变量, 这些环境变量以字符串形式存储在一个字符串数组列表中,把这个数组称为环境列表。其中每个字符串都是以“名称=值(name=value)” 形式定义,所以环境变量是“名称-值”的成对集合。譬如在 shell 终端下可以使用env 命令查看到 shell 进程的所有环境变量,如下所示:export LINUX_TEST=123456 # 添加 LINUX_TEST 环境变量使用"export -n LINUX_TEST"命令则可以删除 LINUX_TEST 环境变量。

2024-07-06 17:29:54 647

原创 嵌入式Linux系统编程 — 7.1 深入理解进程

进程是操作系统进行资源分配和调度的一个独立单位,每个进程都有自己的独立内存空间,至少有一个线程,即主线程。进程号(PID)是操作系统分配给每个运行中的程序的唯一标识符,它允许系统和用户识别和管理不同的进程,确保每个进程都能独立地运行并访问系统资源。:线程是进程中的一个执行流,是CPU调度和分派的基本单位,它被包含在进程之中,进程包含一个或者多个线程。函数开始执行时,它实际上是在进程的上下文中运行的,进程是操作系统分配资源和调度任务的基本单位。在Linux中,每个运行的程序都是一个或多个进程,当。

2024-07-05 11:18:17 847

原创 嵌入式Linux系统编程 — 6.7 实时信号

等待信号集只是一个掩码,它并不追踪信号的发生次数。这意味着,如果相同的信号在被阻塞的状态下多次产生,它只会在信号集中被记录一次,并且在信号集被检查时仅被视为一个事件。这是标准信号的缺点之一。与标准信号不同,实时信号可以排队,如果同一个实时信号多次发送给同一个进程,它们将被排队处理,而不是像标准信号那样只能触发一次。可排队: 实时信号可以排队等待处理,如果一个信号多次到达,它只会被处理一次,除非它被显式地从队列中移除并重新发送。优先级队列: 实时信号具有与信号相关联的默认实时优先级。

2024-07-05 00:02:19 1038

原创 嵌入式Linux系统编程 — 6.6 信号掩码

信号掩码(Signal Mask)是操作系统中用于控制进程接收信号的一种机制。每个进程都有一个或多个信号掩码,它们定义了哪些信号在特定时间被阻塞(即暂时忽略),哪些信号可以被进程接收。当应用程序调用 signal()或 sigaction()函数为某一个信号设置处理方式时,进程会自动将该信号添加到信号掩码中, 这样保证了在处理一个给定的信号时,如果此信号再次发生,那么它将会被阻塞;

2024-07-04 17:16:54 613

原创 嵌入式Linux系统编程 — 6.5 获取信号的描述信息

在 Linux 下,每个信号都有一串与之相对应的字符串描述信息,用于对该信号进行相应的描述。这些字符串位于 sys_siglist 数组中, sys_siglist 数组是一个 char *类型的数组,数组中的每一个元素存放的是一个字符串指针,指向一个信号描述信息。

2024-07-04 15:57:01 520

原创 嵌入式Linux系统编程 — 6.4 信号集

​​​​​​​。

2024-07-04 12:38:42 614

原创 Python特征工程 — 1.4 特征归一化方法详解

参考文章1.2节(

2024-07-03 18:16:51 1148 1

原创 Python特征工程 — 1.3 对数与指数变换

Box-Cox变换是一种在统计建模中常用的数据变换方法,由George E.P. Box和David Cox在1964年提出,用于处理连续的、正值的、偏斜分布的数据,以便它们更符合正态分布的要求。指数变换通常用于处理具有极端值或非常不均匀分布的数据,它将原始数据的每个值转换为该值的指数函数,指数变换可以放大较小的值而压缩较大的值,有助于减少极端值的影响。在原始数据的直方图上使用对数刻度,可以清晰地看到数据的重尾特性,即直方图的右侧有一个长尾,对数变换后的数据直方图可能看起来更加紧凑,极端大值的影响被减少。

2024-07-03 15:42:42 728

原创 Python特征工程 — 1.2 特征分箱

特征分箱(Feature Binning)是一种数据预处理技术,主要用于将连续特征(或密集离散特征)转换为离散特征,可以提高模型的性能。目的:特征分箱的目的是将连续(或密集离散)变量的值范围划分为多个区间(或“箱子”),并将这些区间映射到离散的类别或标签上。原因:连续(或密集离散)变量可能包含非线性关系或复杂的模式,这些模式对于某些机器学习算法来说可能难以捕捉。通过分箱,我们可以将这些复杂的连续变量(或密集离散)简化为更易于模型处理的离散变量。

2024-07-02 21:12:53 1321

原创 嵌入式Linux系统编程 — 6.3 kill、raise、alarm、pause函数向进程发送信号

pid: 参数 pid 为正数的情况下,用于指定接收此信号的进程 pid;除此之外,参数 pid 也可设置为 0 或-1 以及小于-1 等不同值。pid取值含义正数则信号 sig 将发送到 pid 指定的进程0则将 sig 发送到当前进程的进程组中的每个进程-1则将 sig 发送到当前进程有权发送信号的每个进程,但进程 1(init)除外小于-1将 sig 发送到 ID 为-pid 的进程组中的每个进程,

2024-07-02 16:36:30 911

原创 嵌入式Linux系统编程 — 6.2 signal和 sigaction信号处理函数

signal()函数是 Linux 系统下设置信号处理方式最简单的接口,用于定义当特定信号被触发时,进程应如何响应,可将信号的处理方式设置为捕获信号、 忽略信号以及系统默认操作。signum:指定要设置处理方式的信号的编号。handler:sig_t 类型的函数指针,指向信号对应的信号处理函数,当进程接收到信号后会自动执行该处理函数;

2024-07-02 15:07:12 1070

原创 嵌入式Linux系统编程 — 6.1 信号的基本概念

信号是一种软件中断机制在Linux系统中,信号是一种软件中断机制,用于通知进程发生了某些事件。信号可以由操作系统内核、用户或另一个进程发送。信号与硬件中断的相似之处在于能够打断程序当前执行的正常流程, 其实是在软件层次上对中断机制的一种模拟。信号是异步发生的信号在Linux系统中是异步发生的,这意味着信号的发送和接收是独立于进程的执行流的。当信号发送给进程时,内核会将信号添加到进程的信号队列中,而进程可以在任何时候通过执行信号处理函数来响应这些信号。

2024-07-02 11:29:20 823

原创 嵌入式Linux系统编程 — 5.7 Linux系统中proc文件系统

proc文件系统,也称为进程信息文件系统(Process Information file system),是一种在 Linux 和其他类 Unix 系统中存在的虚拟文件系统。它被设计用来提供一种机制,允许用户空间访问内核空间的数据结构和信息。但是与普通文件不同的是, proc 文件系统是动态创建的,文件本身并不存在于磁盘当中、 只存在于内存当中,与 devfs 一样,都被称为虚拟文件系统。

2024-07-01 16:45:48 1130

原创 嵌入式Linux系统编程 — 5.6 Linux系统申请堆内存

堆内存(Heap Memory)是计算机程序中用于动态内存分配的内存区域。与栈内存(Stack Memory)不同,堆内存的分配和释放不是自动的,而是由程序员通过调用内存分配函数(如C语言中的malloc和free)来控制的。alloc与malloc类似,但有一些关键的区别。calloc用于分配足够存储一个指定数量的对象的内存块,并且将分配的内存初始化为0。这种分配对于需要从零开始的数组或数据结构非常有用。callocnum:要分配的对象的数量。size:每个对象的大小(以字节为单位)。

2024-07-01 15:58:59 867

原创 嵌入式Linux系统编程 — 5.5 sleep、usleep和nanosleep系统休眠函数

在高负载或密集计算任务中,程序可能需要定期休眠,以避免长时间占用CPU,给系统其他部分留出处理时间。:在遇到错误或异常时,程序可能会选择休眠一段时间,然后重试操作,这可以作为简单的错误恢复机制。有时需要将进程暂停或休眠一段时间, 进入休眠状态之后,程序将暂停运行,直到休眠结束。:在某些嵌入式系统或移动设备上,休眠可以用于节能,通过减少CPU的活动来降低功耗。:在需要执行定时任务的场景中,休眠可以用于实现简单的时间调度。usleep函数使调用进程休眠指定的微秒数。sleep函数使调用进程休眠指定的秒数。

2024-07-01 11:29:28 956

原创 嵌入式Linux系统编程 — 5.4 rand、srand 函数产生随机数

函数存在一个问题,就是每一次运行程序所得到的随机数序列都是相同的,那如何使得每一次启动应用程序所得到的随机数序列是不一样的呢?那就通过设置不同的随机数种子,可通过 srand()设置随机数种子。则是由算法生成的数值序列,它们看起来随机,但实际上是从一个确定的种子开始,通过数学公式计算得出。使用 srand()函数为 rand()设置随机数种子,这个种子值是随机数生成算法的初始值,它决定了随后。是通过不可预测的物理过程产生的数值,它们具有真正的不确定性,使得每个数值在生成前都无法确定。函数生成的随机数序列。

2024-07-01 10:58:53 550

原创 嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间

times函数是用来获取进程占用CPU的时间信息的,函数返回自进程启动以来,在用户模式和内核模式下消耗的CPU时间。times函数的原型定义在头文件中,其定义如下:buf:times()会将当前进程时间信息存在一个 struct tms 结构体数据中,其定义如下:// 用户模式下的CPU时间// 内核模式下的CPU时间// 子进程在用户模式下的CPU时间// 子进程在内核模式下的CPU时间。

2024-06-30 20:18:14 919

原创 嵌入式Linux系统编程 — 5.2 Linux系统时间与日期

通过 time()或 gettimeofday()函数可以获取到当前时间点相对于 1970-01-01 00:00:00 +0000(UTC)这个时间点所经过时间(日历时间) ,所以获取得到的是一个时间段的长度,但是这并不利于我们查看当前时间,下面介绍一些系统调用或 C 库函数,通过这些 API 可以将 time()或gettimeofday()函数获取到的秒数转换为利于查看和理解的形式。由于jiffies与实际时间的秒数不是固定比例,它主要用于内核内部的时间管理,而不是用来获取精确的日期和时间。

2024-06-29 17:18:22 683

原创 嵌入式Linux系统编程 — 5.1 uname、sysinfo、gethostname、sysconf函数查询系统信息

函数是 Linux 系统中的系统调用,提供了一种获取系统信息的方法,比如总内存、空闲内存、缓冲区内存、交换内存等。函数在 Linux 系统中是一个系统调用,它用于获取当前操作系统的名称和其他相关信息,通常用于编程中。结构中,并将这个结构的指针作为参数返回。结构中,并将这个结构的指针作为参数返回。函数也是系统调用,用于查询系统相关的配置参数,如内存页面大小、最大文件大小等。是广泛使用的系统调用,它用于获取当前主机的网络名称,也就是主机名。下面的示例程序显示了系统的运行时间、系统负载、内存使用情况等信息。

2024-06-29 12:07:16 804

原创 Python特征工程 — 1.1 特征二值化

特征二值化是一种数据预处理技术,特别是在处理分类问题时将特征值转换为二进制值,通常为0和1。这种转换可以简化模型的复杂性,提高计算效率,并在某些情况下提高模型的性能。阈值法:选择一个阈值,将所有大于或等于阈值的特征值设置为1,小于阈值的设置为0。中位数法:使用特征值的中位数作为分界点,将大于或等于中位数的值设置为1,小于中位数的值设置为0。众数法:将特征值中出现次数最多的值作为1,其他值设置为0。标准差法:如果特征值的绝对值大于其标准差的某个倍数,则将其设置为1,否则为0。

2024-06-28 23:29:12 882

原创 嵌入式Linux系统编程 — 4.7 regcomp、regexec、regfree正则表达式函数

正则表达式又称为规则表达式(Regular Expression),正则表达式通常被用来检索、替换那些符合某个模式(规则)的字符串,正则表达式描述了一种字符串的匹配模式(pattern),可以用来检查一个给定的字符串中是否含有某种子字符串、将匹配的字符串替换或者从某个字符串中取出符合某个条件的子字符串。在 Linux 系统下运行命令的时候,使用过?或*通配符来查找硬盘上的文件或者文本中的某个字符串,?通配符匹配 0 个或 1 个字符,而*通配符匹配 0 个或多个字符,譬如"data?

2024-06-28 17:39:20 1112

原创 嵌入式Linux系统编程 — 4.6 atoi、strtol等函数实现字符串与数字转换

atof()strtod()strtof()和strtold()是C语言标准库中用于将字符串转换为浮点数的函数。atof() 函数:将字符串转换为双精度浮点数 (doublestrtod() 函数:将字符串转换为双精度浮点数 (double),可以获取剩余字符串。strtof() 函数:将字符串转换为单精度浮点数 (float),可以获取剩余字符串。strtold() 函数:将字符串转换为长双精度浮点数 (),可以获取剩余字符串。str:指向待转换的以字符串形式表示的浮点数的字符数组。

2024-06-28 16:40:10 654

原创 嵌入式Linux系统编程 — 4.5 strcmp、strchr 等函数实现字符串比较与查找

C 语言函数库中也提供了一些用于字符串查找的函数,包括 strchr()、strrchr()、 strstr()、 strpbrk()、 index()以及 rindex()等。strcmp 进行字符串比较,主要是通过比较字符串中的字符对应的 ASCII 码值, strcmp 会根据 ASCII 编码依次比较 str1 和 str2 的每一个字符,直到出现了不同的字符,或者某一字符串已经到达末尾(遇见了字符串结束字符' \0 ')。strstr() 函数在字符串中查找第一次出现子字符串的位置。

2024-06-28 12:27:30 937

原创 嵌入式Linux系统编程 — 4.4 memset、bzero函数内存填充

在编程中,经常需要将某一块内存中的数据全部设置为指定的值,譬如在定义数组、结构体这种类型变量时,通常需要对其进行初始化操作,而初始化操作一般都是将其占用的内存空间全部填充为 0。

2024-06-28 11:32:53 397

原创 嵌入式Linux系统编程 — 4.3 strcat、strcpy函数拼接与复制字符串

仅将第二个字符串的前两个字符追加到第二个结果缓冲区。函数是C语言标准库中的一个函数,用于将一个字符串追加到另一个字符串的末尾。函数将一个字符串的一部分复制到另一个字符串中,可以指定复制的最大字符数。程序首先定义了两个字符串缓冲区,用于存储用户输入的两个字符串,并通过。函数用于将一个字符串的一部分追加到另一个字符串的末尾,与。,如果目标字符串的空间不足,会导致缓冲区溢出。,并打印出复制的字符串的前20个字符。函数将第一个字符串复制到两个结果缓冲区,接着使用。函数将一个字符串复制到另一个字符串中。

2024-06-28 10:23:00 701

原创 嵌入式Linux系统编程 — 4.2 sizeof 和 strlen 的作用和区别

运算符是 C 语言中的一个关键字,用于确定变量或数据类型在内存中的大小(以字节为单位)。它是一个编译时运算符,这意味着它在编译代码时计算大小,而不是在程序运行时。函数是 C 语言标准库中的一个函数,用于计算字符串的长度。,大小为 101,确保有足够的空间存储用户的输入和字符串结束的空字符。最后,程序输出字符串的长度。函数计算字符串的长度。,这是一个无符号整数类型,通常用于表示大小。),这是字符串结束的标准表示方法。函数读取用户输入的一行文本,包括空格。),程序会将其替换为字符串结束的空字符(

2024-06-27 23:43:39 775

原创 嵌入式Linux系统编程 — 4.1 字符串输入输出

常用的字符串输出函数有 printf()、putchar()、 puts()、 fputc()、 fputs()。我们经常使用 printf()函数来输出字符串信息,而并没有使用到 putchar()、 puts()、 fputc()、 fputs()这些函数,原因在于printf()可以按照自己规定的格式输出字符串信息,一般称为格式化输出;而 putchar()、 puts()、 fputc()、 fputs()这些函数只能输出字符串,不能进行格式转换。

2024-06-27 20:53:08 602

原创 嵌入式Linux系统编程 — 3.7 文件目录与处理

在Linux系统中,文件目录(也常称为文件夹)是一种特殊的文件,它用于组织和管理文件系统中的文件和子目录。目录本身也被视为文件,但是它们具有一些特殊的属性和操作方式,不同于普通文件。在 Linux 系统下,会有一些专门的系统调用或 C 库函数用于对文件夹进行操作,譬如:打开、创建文件夹、删除文件夹、读取文件夹以及遍历文件夹中的文件等。

2024-06-27 00:10:41 901

原创 嵌入式Linux系统编程 — 3.6 软连接与硬连接详解

oldpath:指向一个以null结尾的字符串,表示源文件的路径。newpath:指向一个以null结尾的字符串,表示新硬链接的路径。readlink()函数在Linux系统中用于读取软链接指向的目标路径。它允许你获取软链接指向的文件或目录的实际路径。readlink()path:需要读取的软链接文件路径。只能是软链接文件路径,不能是其它类型文件,否则调用函数将报错。buf:用于存放路径信息的缓冲区。bufsiz:读取大小,一般读取的大小需要大于链接文件数据块中存储的文件路径信息字节大小。

2024-06-10 20:29:20 751

原创 嵌入式Linux系统编程 — 3.5 utime、utimes、futimens、utimensat函数修改文件时间属性

在Linux系统中,文件的时间属性通常与文件的状态信息一起存储在文件的inode中。在头文件中,结构体用于存储文件的状态信息,包括时间属性。以下是st_atime文件的最后访问时间(Access Time),访问指的是读取文件内容,文件内容最后一次被读取的时间。st_mtime表示文件的最后修改时间(Modification Time),文件内容发生改变,譬如使用 write()函数写入数据到文件中。st_ctime。

2024-06-10 12:12:30 1132

原创 嵌入式Linux系统编程 — 3.4 access、chmod和 umask函数修改文件访问权限

文件的权限检查不仅讨论文件本身的权限,还需要涉及到文件所在目录的权限, 只有同时都满足了,才能通过操作系统的权限检查,进而才可以对文件进行相关操作;所以,程序当中对文件进行相关操作之前,需要先检查执行进程的用户是否对该文件拥有相应的权限。需要进行权限检查的文件路径。F_OK:检查文件是否存在R_OK:检查是否拥有读权限W_OK:检查是否拥有写权限X_OK:检查是否拥有执行权限检查项通过则返回 0,表示拥有相应的权限并且文件存在;

2024-06-09 11:17:43 1064

原创 嵌入式Linux系统编程 — 3.3 chown、fchown 和 lchown 函数更改文件属主

fchown用于改变一个打开文件描述符的所有权。这个函数允许你更改文件的用户 ID (owner) 和组 ID (group),而不需要知道文件的路径名。fchownfd: 要改变所有权的文件的文件描述符。owner: 新的所有者的用户 ID (UID)。group: 新的组的组 ID (GID)。

2024-06-08 20:20:37 719

论文复现-计及碳捕集电厂低碳特性的含风电电力系统源-荷多时间尺度调度方法

摘要: 逐步提升风电等可再生能源发电占比,并对火电机组进行低碳化改造,辅之以多类需求侧资源,是实现能源电力碳达峰、碳中和目标的重要手段。首先,挖掘源荷两侧低碳资源并分析其低碳特性,源侧在碳捕集电厂中装设烟气旁路系统与溶液存储器,形成碳捕集电厂综合灵活运行方式进而与风电协调配合;荷侧调用不同响应速度的价格型、激励型需求响应资源克服多时间尺度下碳捕集电厂综合灵活运行方式的局限,通过源荷资源协调优化,从而提高系统的低碳性能。其次,构建源荷协调的日前-日内-实时三阶段低碳经济调度模型,优化系统的负荷及旋转备用分配计划,并改善失负荷与弃风问题。最后,在改进的IEEE-39 节点系统中进行算例分析,结果表明本文调度方法能够利用源荷可调节资源的调度优势,实现电力系统低碳经济调度的目标。

2024-03-05

论文复现-碳交易机制下考虑需求响应的综合能源系统优化运行

摘要:首先, 根据负荷响应特性将需求响应分为价格型和替代型 2 类, 分别建立了基于价格弹性矩阵的价格型需求响应模型, 及考虑用能侧电能和热能相互转换的替代型需求响应模型; 其次, 采用基准线法为系统无偿分配碳排放配额, 并考虑燃气轮机和燃气锅炉的实际碳排放量, 构建一种面向综合能源系统的碳交易机制; 最后, 以购能成本、碳交易成本及运维成本之和最小为目标函数, 建立综合能源系统低碳优化运行模型, 并通过 4 类典型场景对所提模型的有效性进行了验证。通过对需求响应灵敏度、燃气轮机热分配比例和不同碳交易价格下系统的运行状态分析发现, 合理分配价格型和替代型需求响应及燃气轮机产热比例有利于提高系统运行经济性, 制定合理的碳交易价格可以实现系统经济性和低碳性协同。

2024-03-03

论文复现-含电动汽车的区域综合能源系统优化调度研究-杨铮

论文复现《含电动汽车的区域综合能源系统优化调度研究_杨铮》

2024-03-01

toolbox-calib相机标定工具箱

toolbox-calib相机标定工具箱

2023-03-12

toolbox-calib工具箱calib-example.zip相机标定案例

toolbox-calib工具箱calib-example.zip相机标定案例

2023-03-12

空空如也

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

TA关注的人

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