- 博客(187)
- 收藏
- 关注
原创 弗洛伊德算法--判圈法寻找环的入口O(n) O(1)
走一步:slow = nums[0] = 2, fast = nums[nums[0]] = nums[2] = 1。走两步:slow = nums[2] = 1, fast = nums[nums[1]] = nums[3] = 4。走三步:slow = nums[1] = 3, fast = nums[nums[4]] = nums[2] = 1。走四步:slow = nums[3] = 4, fast = nums[nums[1]] = nums[3] = 4。
2026-10-19 21:18:34
162
原创 VS配置环境h lib dll
(1)添加文件引用的lib静态库路径:工程-->属性-->配置属性-->链接器-->常规-->附加库目录(Additional Library Directory):加上lib文件存放目录。添加:工程-->属性-->配置属性-->c/c++-->常规-->附加包含目录(Additional Include Directories):加上头文件存放目录。(2)工程-->属性-->配置属性-->链接器-->输入-->附加依赖项(Additional Dependencies):加上lib文件名。
2026-10-16 12:16:33
245
原创 FFmpeg环境搭建10.16
主要是命令行的搭建--如下:我这里是下载的最新版本10.16.2026,如果下载全部的版本也可以,有btbn和gyan两种下载渠道;我从btbn下载感觉会快一点..(下图中为错误,应该拷贝到system32下!吐槽下 , Windows 真会玩 , 64 6464 位的动态库拷贝到 " C:\Windows\System32 " 目录下 , 32 位的动态库拷贝到 " C:\Windows\SysWOW64 " 目录下;输入ffmpeg -version查看结果。然后就可以开始学习指令了!
2026-10-16 11:14:33
158
原创 音视频1-3
这是优先级排序(一般情况下的最佳实践)。优先选择 Audio Master,其次 External Clock Master,最差选 Video Master。因为人耳对音频的容错率极低,所以保证音频流畅是第一位。
2026-10-13 20:57:13
187
原创 1-1 音视频基础
码率 = 每秒的比特预算。关键不是预算多少,而是够不够花、会不会花。图像复杂、分辨率高、编码器老 —— 需要的码率就高;画面静态、分辨率低、编码器新 —— 同样的码率就能更清晰。把这三条记住,码率这个概念你就彻底出师了。FFT也能能量集中啊,为什么不直接上FFT?它在边界处是对称延拓。 也就是说,DCT在块边界不产生显著的人工振铃效应,且变换后的系数全是实数、能量集中度更高。而FFT在边界隐含周期性,容易在块边缘造成振铃和块效应。I帧 B帧 P帧。
2026-10-12 18:00:44
183
原创 音视频开发--图像篇--转b站
一个像素占有一个字节,90min视频不做编码压缩,计算初步有375GB,太大了!通过PCM到AAC--与音频的录制相关--脉冲编码调制--高级音频编码。此类和模拟信号采样基本没有区别,只是有几个参数需要进行注意---实际上 这就是对应于帧数据--查表。重要概念 I P B帧。接下来是PCM--音频。字幕篇SSA-ASS。
2026-05-08 17:32:46
51
原创 音视频开发 5.8 摘要 转自b站 总结,建议看视频
其中YUV444刚好是1:1:1,422是Y+U或者Y+V,420是指YU YV Y,主要看四个相邻的像素点之间。存储格式如下,亮度 色度。如果想要了解RGB 可以从BMP图片格式去查看分析。如YUV444 YUV422 YUV420。如果是本地播放,则不需要解协议。
2026-05-08 16:28:51
31
原创 如何防止自己开发的软件被破解?、
很多做软件产品的程序员,在软件里区别正式版和试用版就仅仅是靠注册码验证而已,这种情况下,只要试用版被破解,那正式版就到手了,而正确的思路应该是,正式版不提供公开下载,只有用户付费后才提供下载地址,公开发布的试用版里彻底不放提供正式版的数据的代码,造成的结果是,很多破解者得到试用版后就破解,令他们高兴的是,软件很容易破解,但令他们沮丧的是,破解成功后,试用版还是试用版,改有的功能还是没有。,做为软件开发者,软件防破解肯定是需要的,软件防护目的不是为了完全防止不被破解,而是尽可能的做到增加破解成本。
2026-03-05 16:54:15
432
原创 MATLAB闪退修复教程
出现这种现象多半是Windows系统预设文件(preferences)损坏,需要清除并重设。1.在Windows屏幕左下角的搜索栏里输入【%AppData%】进入当前账户的。】,找到你安装的Matlab版本,比如:【3.删除【R2020a】天津大学 流体力学博士。15 人赞同了该文章。
2025-10-10 09:46:29
7628
4
原创 matlab雷达错误原因
错误添加噪声方法 直接在原始信号的基础上添加噪声 导致淹没回波信号。% fprintf('添加噪声并合并信号...\n');
2025-08-27 20:24:53
279
原创 Python开发者必备技能:if name == ‘main‘的应用示例
当脚本被导入为模块时,Python解释器会执行模块中的代码,但不会执行模块的主程序逻辑。的作用是在不同的执行方式下执行不同的代码块。具体来说,它允许指定哪些代码应仅在脚本作为主程序运行时执行,而不应在脚本被导入为模块时执行。时,除了基本的用法之外,还需要考虑性能优化和一些注意事项,以确保代码的高效性和可维护性。块中的代码设计成可扩展的。在许多模块中,需要执行一些初始化操作,但这些操作不适合在脚本作为主程序运行时执行。这种模式允许在模块被导入时执行初始化操作,但在模块被直接执行时可以执行额外的操作。
2025-08-21 17:12:53
905
原创 ai五分钟训练
一些类似的训练挑战,比如 BabyLM(https://arxiv.org/html/2412.05149v1#S6),会对训练数据做限制,这其实是有道理的——毕竟在某些领域里,数据本来就稀缺,研究如何在少量数据下最有效地训练模型很有意义。先把答案放在前面:我能在五分钟内训出的最佳模型,是一个大约 180 万参数的 GPT 风格 Transformer,用大约 2000 万个 TinyStories 语料 token 训练出来,在保留的数据集上能做到 9.6 的困惑度(perplexity)。
2025-08-21 16:48:40
537
原创 Q-learning
Q-Learning作为无模型强化学习的开山之作,通过简洁而优雅的迭代更新机制,实现了在未知环境中的自主学习。本文从理论到实践构建了完整的知识链条:首先剖析了强化学习的核心要素与贝尔曼方程的数学基础,随后通过冰冻湖面环境展示了Q-Learning的具体实现,包括Q表初始化、ε-贪婪探索策略、Q值更新规则等关键环节,并通过代码可视化直观呈现了智能体的学习过程。值得注意的是,尽管Q-Learning在简单离散环境中表现出色,但面对高维状态空间时会遭遇"维度灾难"。
2025-08-21 16:44:00
1207
原创 汤普森采样模拟(包含完整MATLAB代码)
这个公式就相当于给运动员的击中次数添加了“初始值”,相当于在赛季开始前,运动员已经有81次击中219次不中的记录。因此,在我们事先不知道概率是什么但又有一些合理的猜测时,贝塔分布能够很好地表示为一个概率的分布。
2025-07-23 11:42:51
1149
原创 关于常见的优化(所谓智能)算法
( Group Search Optimization,GSO ) 、内部搜索算法( Internal Search Algorithm,ISA ) 、矿井爆破算法( Mine Blast Algorithm,MBA ) 和社会群优化算法( Social Group Optimization,SGO ) 、免疫算法(IA)和思维进化算法(MEA)等。基于自然现象的算法通常以物体或粒子的运动作为更新搜索智能体的准则,以物体或环境的稳定性作为优化状态的判断,进而调控算法的下一次迭代。,进而锁定全局最优解。
2025-07-21 19:44:04
521
原创 关于CMake
2]1.用编辑器编写源代码,如.c文件。2.用编译器编译代码生成目标文件,如.o。3.用链接器连接目标代码生成可执行文件,如.exe。但如果源文件太多,一个一个编译那得多麻烦啊?于是人们想到,为啥不设计一种类似批处理的程序,来批处理编译源文件呢?于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编写一个规则文件,make依据它来批处理编译,这个文件就是makefile,所以编写makefile文件也是一个程序员所必备的技能。
2025-04-07 11:49:06
301
原创 分数阶傅里叶变换
1987 年, A. C. McBride 和 F. H. Kerr 用积分形式从数学上严格定义了分数阶 Fourier 变换[31].: : :, 其中 c 是比 x 小的数值, 则 n 阶导数可定义为。
2024-12-23 20:56:25
1013
原创 NASH均衡存在性证明
(N,{Ai},{Hi})是一个标准形式的博弈,设Π(X)是X上所有概率分布的集合,则称局中人i的混合策略集为Si=Π(Ai). 全体混合策略局势的集合S可表示为各局中人混合策略集的笛卡尔积,S=S1×S2×⋯×Sn.混合策略的定义表明,对于策略si,局中人i会依照特定的概率分布选择不同的行为. 显然,纯策略是混合策略的一种特殊形式. 我们。
2024-12-06 16:05:15
1899
原创 深度学习在雷达中的应用
网络结构,该结构可以降低反馈神经网络的复杂性,针对此研究提出了CNN。近些年,针对CNN具有避免图像的复杂前期预处理的优势,该网络被广泛应用于图像的模式分类领域。20世纪60年代, Hubel和Wiese研究猫脑皮层发现用于局部敏感和方向选择的神经元具有独特的。构如图2所示,经典的CNN一般包括卷积层、池化层、全连接层和分类器。
2024-11-26 17:44:07
539
原创 HLS实现图像二值化
从综合结果可知,pixelBinary的Latency和Interval的值是一样的,都是50235,我们的图片尺寸是184*273 = 50232,Latency和Interval的值比图片像素数多3,关于Latency和Interval具体的含义,我还是没有很明白,这两个值到底是怎么来进行计算的,等弄明白了再来分享。这是一个综合的结果,也就是把我们的HLS代码综合成了Verilog或者VHDL代码了,你再solution下面的syn文件夹下就可以看到生成的Verilog或者VHDL代码了。
2024-11-12 11:11:35
406
原创 关于HLS优化问题
常用于改善吞吐率的 directive 有 PIPELINE、ARRAY_PARTITION、UNROLL、DATAFLOW。常用于改善时延的 directives 有 LATENCY、LOOP_MERGE、LOOP_FLATTEN 等。ALLOCATE、ARRAY_MAP、ARRAY_RESHAPE、FUNCTION_INSTANTIATE 等。对于数组可以使用 ARRAY_PARTITION 来把数组分割成不同的部分,有 3 种分割方式。LOOP_FLATTEN 用于将嵌套的循环展开为一个大的循环。
2024-11-12 10:54:54
715
原创 system generator结合高版本matlab的使用
system generator 使用的时候需要结合matlab才能正确打开。2019.1Vivado可以支持2017以及以上全部版本的的matlab。所以其实如果我们电脑里有新版的matlab,是不需要再去退回旧版本的。1、在vivado安装路径下,搜索ml_supported.xml文件,双击点开。可以看到所有支持的matlab版本。2.寻找MATLAB安装路径即可。
2024-11-06 22:19:04
824
原创 QR分解MATLAB,C++实现
在线性代数或矩阵理论中,我们肯定都学过斯密特正交化(Gram-Schmidt Orthogonalization),正交化过程即将欧氏空间的任一基化为标准正交基,构造出的标准正交基正好构成了我们想要的QQ矩阵,而RR矩阵由正交化过程的公式倒推即可得到。A=[→x1→x2→x3]正交化→[→y1→y2→y3]单位化→[→z1→z2→z3]=QA=[x1→x2→x3→]→正交化[y1→y2→y3→]→单位化[z1→z2→z3→]=Q。首先假设初始方阵为AA,→xixi→、→yiyi→、→zizi→都为列向量。
2024-11-05 22:28:54
1517
Qt中如何在多线程中使用信号和槽?
2024-07-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅