- 博客(47)
- 收藏
- 关注
原创 【FDR校正】显著性差异分析后的校正
对两组数据进行配对t检验,从而得出这两个条件之间是否具有显著性差异。但是这是有一个犯错的概率的,比如5%(若alpha=0.05),也就是会犯一类错误(假阳性)。什么时候需要做事后校正?举个例子:(取自B站【fMRI小知识:什么是多重比较校正?怎么计算FDR,FWE?一条死鱼的脑激活】 https://www.bilibili.com/video/BV1Yh411Z75c/?share_source=copy_web&vd_source=a19e8d7196a2e5be6b796733c6338a39)
2025-02-15 21:27:04
307
原创 【双因素重复测量 ANOVA 分析】
以分类算法(2 个水平)和时间窗(8 个水平)为自变量,分类准确率Acc为因变量进行双因素重复测量 ANOVA 分析。结果显示,分类算法和时间窗的交互效应在统计学上不显著(F (7, 154) = 0.07228,P=0.9994),分类算法的主效应是不显著的(F (1, 22) = 0.3921,P=0.5377),时间窗的主效应是显著的(F (2.174, 47.83) = 95.68,P<0.001)。自变量是时间窗、分类算法,因变量是分类准确率Acc。希望进行双因素重复测量 ANOVA 分析。
2025-02-14 11:46:58
227
原创 【统计分析】两种算法下多个时间窗内的分类准确率,绘制折线图
我有一些数据,是12个被试在A算法和B算法下、八个不同时间窗内的分类准确率,我想绘制折线图,并且还要有误差线。应该在graphpad中使用哪一种表格?在Y轴列的子列中输入每个时间点的重复测量数据(例如每个时间窗下12个被试的准确率)。这样,下图框里放的就应该是100ms、DCPM的每位被试的分类准确率。
2025-01-20 10:43:42
140
原创 【Leetcode学习笔记】路径总和
【题目描述】给你二叉树的根节点 root 和一个表示目标和的整数 targetSum。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum。如果存在,返回 true;输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22。本题难度标记为简单,但是递归思想总是让我头疼,每次都要调试看到一步步的过程才清晰明了。解释:等于目标和的根节点到叶节点路径如上图所示。
2024-09-06 16:38:12
383
1
原创 【Linux系统编程】TCP实现--socket
客户端向服务器发送10次hello,接收到服务器发来的10次大写HELLO;服务器首先打印IP地址和端口号,随后打印收到的10次由客户端传来的hello。
2024-09-03 21:32:42
670
原创 【Linux系统编程】库-动态库和静态库
动态库的制作这是因为系统会默认去/lib,/usr/lib目录下去查找动态函数库。第一种方法:将生成的动态库拷贝到/lib或者/usr/lib里面去,因为系统会默认去这俩个路径下寻找。第二种方法:把我们的动态库所在的路径加到环境变量里面去。第三种方法:修改ubuntu下的配置文件/etc/ld.so.conf,我们在这个配置文件里面加入动态库所在的位置,然后使用命令ldconfig更新目录。这里使用第二种办法:之后即可执行a.out。但是只在当前终端下有效!
2024-08-30 11:57:29
431
原创 【Linux系统编程】文件IO-open函数
第三个参数,mode 是一个八进制的数,mode & (~umask)之后得到的应该是可读可写rw-.意味着我们需要包含以上三个头文件(文件IO),open的使用方法也参考第二行的open函数定义。目的:使用open函数,希望在当前目录下创建一个a.c,并且设置权限为可读可写。第二个参数是flags,参考手册往下可以查找到,我们想。假设我们的mode为xyz, 需要满足。并且在当前目录下也新建了文件a.c。第一个参数是文件名,a.c.,所以mode应该为666.最终运行结果,fd=3,因为。
2024-08-29 16:55:52
299
原创 FreeRTOS队列好在哪里?--全局变量、环形缓冲区、队列
环形缓冲区作为生产者(producer)和消费者(consumer)之间的一个中间层,解耦了它们之间的直接依赖。比如:从汇编的角度来讲(num++分成三步:读取到寄存器R0,R0进行自加运算,内存再读取回去),一旦在这三步中间被打断,这就是不安全的数据传输。我们可以在这个c文件下定义一个全局变量,多个函数都可以获取这个变量的状态,从而完成自己的功能逻辑。因此,我们引入环形缓冲区(RingBuffer),它的核心是使用双指针w和r表示下一个读/写位置,写操作只对w指针进行修改,这样就是安全的。
2024-07-25 21:00:46
845
原创 【Leetcode笔记】406.根据身高重建队列
时间复杂度要大于O(nlogn + n ^ 2),首先C++里的sort函数的时间复杂度就是O(nlogn),这个排序函数内部并不是单一的快速排序或者是其他的,而是动态改变的,可能一开始数据量较大时先快速排序对半分,等分到后面则使用插入排序;C++的vector是一个动态数组,插入操作是先考虑原来的数组大小够不够,如果不够那就二倍扩容,然后把原数组拷贝到新数组再插入新的元素,所以时间复杂度要大于O(n^2)。首先,按照每个人的身高属性(即people[i][0])来排队,顺序是从大到小。
2024-07-05 20:18:25
491
原创 simplicity studio 5 修改设备电压
工装板的soc额定输入电压为1.5v,而常态下ttl高电平为5v/3.3v,所以需要设定烧录程序时的设备电压。烧录.hex文件快捷方法。
2024-06-05 20:52:03
289
原创 【Leetcode笔记】40.组合总和II
这道题目和39.组合总和不一样的地方在于:数组中含有相同的元素。同样地,结果不能含有重复组合。拿第一个示例来看,如何去重?卡哥使用了两种办法,第一种引入了used数组,在深度搜索中将上一个使用过的元素的used位置置一(即used[i]==true),这样当出现 candidates[i] == candidates[i - 1] 并且 used[i - 1] == false 就可以说明上面提到的第一个path已经完成;
2024-06-01 12:34:43
452
原创 心理应用工具包 psychtoolbox 绘制小球走迷宫
psychtoolbox 是 MATLAB 中的一个工具包,对于科研人员设计实验范式来说是不二之选,因为它可以操作计算机的底层硬件,精度可以达到帧的级别。
2024-05-11 18:20:41
2032
原创 PATH环境变量
例如,如果你安装了一个新的软件,通常需要将该软件的可执行文件路径添加到PATH环境变量中,这样你就可以在任何位置通过命令行启动它。当你在命令行中输入一个命令时,系统会在这些路径中查找对应的可执行文件。总的来说,PATH环境变量在Windows系统中起着至关重要的作用,它确保了用户能够在不同位置执行命令,而无需记住每个程序的具体安装路径。此外,如果系统在所有PATH中的路径都未找到对应的可执行文件,那么系统会显示“命令未找到”的错误信息。当在命令行中输入一个命令时,系统会在这些路径中查找可执行文件。
2024-05-04 09:00:09
2898
原创 【Linux-I.MX6ULL裸机学习】中断向量表
代码来自于正点原子阿尔法Linux开发板光盘比如在中断向量表中规定了:在某个地址0x80000A对应着某个中断服务函数,那么在产生这个中断时,就会从0x80000A这个地址去读取中断服务函数,并执行。如果想改变这个地址,也就是要设置地址偏移。具体要做的:需要修改SCB的 VTOR 寄存器为新的中断向量表起始地址。ARM-A7 的中断向量表:你可能会问了:啊?!我的那些外设所需要的外部中断就只有“IRQ interrupt”这一个中断吗?这够吗?
2024-05-04 08:47:21
434
原创 【无线通信开发应用】nRF905数据手册深度解读
希望通过两个stm32、两个nRF905无线通信模块、串口来实现两机通信。但是网络上鲜有NRF905模块的深层解读,故引出此文,主要解读NRF905的官方英文文档,以及部分重要的库函数封装,不涉及功能逻辑,不上传整个工程。
2024-05-01 23:02:55
1717
1
原创 Keil中使用模拟器调试
首先在“魔术棒”选项 -> “Debug” -> 勾选"use simulator"。工程最好存放在英文路径下,否则退出调试时会报错,需要强制退出keil。在 for 循环里执行几次,也就是在buf里写入几个字母。可以看到,buf 的起始地址为0x20000004。来看看 buf 里面现在是什么。打上断点,并且“一路执行”查看变量 buf。
2024-04-29 19:46:15
720
原创 【Leetcode笔记】236.二叉树的最近公共祖先
百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。测试代码中 p、q 的定义,不能简单地定义一个根节点,本题适合从下往上遍历,所以使用。
2024-04-22 12:00:12
407
原创 【Leetcode笔记】501.二叉搜索树中的众数
首先,传入的是 a 和 b 的引用,这样可以提高效率,避免复制操作产生临时变量;另外,因为在排序过程中,sort函数会频繁地访问这些参数,通过将参数声明为const,可以保证这些参数在函数执行过程中不会被修改,增强安全性和可读性。给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。虽然题目对于BST的定义已经违背常识  ̄へ ̄,但依据题意扩展解题思路是有意义的。而全局范围定义的函数就可以不用创建类的实例而直接调用,其次就是只要求出现频次。
2024-04-22 11:30:22
513
原创 【备战蓝桥杯】考前快速大纲
题目要求“使用USB转串口功能完成查询功能:PC端通过串口调试助手向设备发送字符‘X’返回当前频率参数,串口通信波特率设置9600”(13th国赛)。除了要安装串口调试助手,我们还要在CubeMX中打开任意一个USART。EEPROM可以简单理解为是一个掉电不丢失的存储模块,相对于g431,它是一个从机,所以呢,需要用软件IIC来进行主从机的通信。在之前的文章《软硬件对按键消抖》中有提到两种消抖方法:逻辑运算消抖和定时器中断消抖。,可以同时实现按键消抖、长短按以及双击单击(当然,要搭配定时器中断来使用)。
2024-04-02 23:10:00
659
原创 【LeetCode笔记】巧妙写出二叉树前中后序遍历
一条根本原则:一根线从二叉树的根的左部不间断地画到根的右部,要绕整个二叉树一圈。前序遍历,就让每个节点拥有一个左侧的“句柄”;中序遍历,就让每个节点拥有一个底侧的“句柄”;后续遍历,就让每个节点拥有一个右侧的“句柄”。
2024-04-02 11:30:54
566
1
原创 【LeetCode笔记】347.前 K 个高频元素
给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。你的算法的时间复杂度必须优于Onlogn, n 是数组的大小。题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的。你可以按任意顺序返回答案。
2024-03-31 10:01:57
420
1
原创 【Linux笔记】解读Makefile
在对整个工程进行BSP工程管理之后,驱动、始终、延时等函数的源文件和头文件都放置在了不同的文件夹下,这样在编写 Makefile 的时候每次都需要编写路径,很麻烦。
2024-03-28 16:48:10
367
1
原创 Ubantu安装VS Code失败
不想再折腾更新 glibc 了,既然是库的版本过低,那不妨。3. 进入 root 模式,继续执行第2步。如上图,可以下载历史版本的 VS Code。,即可安装 VS Code。
2024-03-26 21:05:18
2193
2
原创 【LeetCode】栈溢出报错
在计算机中,整数类型(如int、long等)有一定的取值范围。当进行加法运算时,如果两个整数的和超过了该类型的取值范围,就会发生溢出,导致结果不正确。为了避免这种情况,可以使用强制类型转换将其中一个或多个操作数转换为更大的整数类型,以确保运算过程中不会发生溢出。这个问题很常见,就是访问到非法内存,一般就是数组越界了。,试图去访问nums[-1]了。,将其强制转换成 long 类型。我们在nums[k]前面加一个。上面这段代码执行出错,这里改完之后继续报错,
2024-02-27 10:37:48
492
原创 windows复制的文件无法粘贴到虚拟机
另外,以上命令均使用了 sudo,sudo(super user do)也就是权限很高。所以首次使用 sudo 时需要输入密码,在一段时间内可能无需再次输入密码。【解决办法】转自博主From now on…【问题描述】windows复制的文件无法粘贴到虚拟机。
2024-02-03 20:25:07
2440
1
原创 下载的KEIL工程打开失败?
【问题描述】从网上下载的keil工程打开失败,显示“read only”。【解决方法】路径不应包含中文 or 该文件夹未解压缩。
2024-01-21 23:58:26
843
1
原创 软硬件对按键消抖
选择哪种方法取决于具体的应用需求和系统资源的限制。在一些简单的嵌入式系统中,逻辑运算的方法可能足够满足要求。在对按键响应时间、稳定性等要求较高的系统中,使用定时器结合中断的方法可能更为合适。在t1产生中断,这时不马上确定按键,而是复位定时器,假设周期时20ms,超时时间为"t1+20ms"由于抖动,在t2再次产生中断,再次复位定时器,超时时间变为"t2+20ms"由于抖动,在t3再次产生中断,再次复位定时器,超时时间变为"t3+20ms"在"t3+20ms"处,按键已经稳定,读取按键值。
2024-01-15 20:26:18
578
原创 【FreeRTOS学习笔记】CHA3 - 任务管理
滴答中断的频率由 configTICK_RATE_HZ 决定,一般情况下,这个值设置为100比较多,对应的时间片就是10毫秒。main() 函数在启动调度器之前创建任务。具体实现如清单3 所示。代码如清单8, 9所示。1.3. 滴答中断(任务调度器)1.0. 相关的 API函数。
2024-01-14 10:11:39
468
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人