以Logistic混沌映射的初值作为密钥,产生混沌序列构成加密模板来加密二值图像水印。
在DCT变换域进行水印嵌入,进行非盲检测。
该算法符合密码学要求,且仿真结果表明不可见性和鲁棒性良好。
2025/8/15 10:40:32 371KB 混沌加密 二值图像 水印算法
1
Android圆形进度条,支持圆弧进度,中间显示进度值,上下显示提示文案,支持自定义宽度和进度以及文本。
2025/8/15 4:07:47 179KB 圆形进度条
1
本书是作者根据多年在北京大学物理系教学与科研工作的经验而写成,20世纪80年代初出版以来,深受读者欢迎,多次再版重印.本书第二版(1990)做了大幅度修订与增补,分两卷出版,卷Ⅰ可作为本科生教材或主要参考书,卷Ⅱ则作为研究生的教学参考书。
第三版(特别是卷Ⅱ)的内容,做了很大的修订,把近20年来量子力学(实验与理论)的主要的新进展系统介绍给读者,第四版内容又做了修订。
卷Ⅰ内容包括:量子力学的诞生、波函数与Schrodinger方程、一维定态问题、力学量用算符表达、力学量随时间的演化与对称性、中心力场、粒子在电磁场中的运动、表象变换与量子力学的矩阵形式、自旋、力学量本征值的代数解法、束缚定态微扰论、量子跃迁、散射理论、其他近似方法,为帮助读者更深入掌握有关内容,书中安排了适当的例题、练习题和思考题,每一章还先入了适量的习题,供读者选用。
本书适宜作为大学本科生和研究生的教学参考书,也是物理学工作者的一本有用的参考书。
2025/8/15 2:27:28 12.81MB 量子力学 曾谨言
1
通过上机实习,加深对语法制导翻译原理的理解,掌握将语法分析所识别的语法成分变换为中间代码的语义翻译方法。
采用递归下降语法制导翻译法,对算术表达式、赋值语句进行语义分析并生成四元式序列。
2025/8/15 0:24:01 75KB 语义分析
1
这个文件中包括了4个程序的文件夹:1、基本的粒子群算法。
2、mt06问题求解,包括甘特图。
3、工业调度应用-某服装企业决定加工9批本企业品牌服装,各批次服装的加工时间、交货期限和利润如表,求总利润最大的加工顺序。
4、详细的初始化粒子群、速度更新代码,含解释说明。
物超所值。
2025/8/14 21:12:46 889KB MT06 粒子群算法 工业调度 matlab
1
二维方向-of-arrival(DOA)估计是无线通信、雷达和声学信号处理领域中的一个关键问题。
在这些系统中,多个同时发射或接收的信号源可能来自不同的方向,而DOA估计就是确定这些信号源相对于接收阵列的方向。
本程序集是一个用Matlab编写的DOA估计算法实现,提供了对二维空间中信号源方向的估计。
标题中的"二维DOA估计程序_DOA估计_matlab"表明这是一个基于Matlab的软件工具,用于进行二维空间内的DOA估计。
Matlab因其强大的数值计算能力和丰富的信号处理库,常被用于开发此类算法。
描述提到"二维DOA估计程序,直接运行脚本,可以得到角度估计的结果",这说明该程序包含一个可以直接执行的Matlab脚本,用户无需深入了解内部算法细节,只需运行脚本,即可获取信号源的方位角信息。
这对于教学、研究或者快速原型验证来说非常方便。
标签"doa估计"和"matlab"进一步确认了程序的主要功能和所使用的编程语言。
在压缩包中的文件"基本DOA估计程序-20210110"很可能包含了主脚本文件和其他辅助文件,如数据集、函数库等。
这些文件通常会提供算法的实现,包括初始化参数设置、信号模型定义、阵列几何结构描述、估计方法(如MVDR(最小范数均方差准则)、MUSIC(多信号分类)、ESPRIT(估计信号参数的旋转不变技术)等)以及结果的可视化。
在实际应用中,二维DOA估计可以应用于多个场景,如:1.雷达系统:确定目标的精确位置,提升探测能力。
2.无线通信:多用户检测,提高频谱效率。
3.声纳系统:水下目标定位,提高海洋探测精度。
4.智能音频系统:定向麦克风阵列,用于语音增强和噪声抑制。
在Matlab中,实现DOA估计通常涉及以下步骤:1.**信号模型**:定义输入信号的数学模型,包括信号源数量、信号功率、频率、时延等。
2.**阵列设计**:选择合适的天线或麦克风阵列布局,如线阵、圆阵或U型阵列等。
3.**数据预处理**:对采集到的数据进行去噪、采样同步等预处理。
4.**DOA估计算法**:根据选择的算法(如MUSIC、ESPRIT、LMS等)计算角度估计。
5.**后处理**:可能包括角度细化、误检剔除等步骤。
6.**结果展示**:将估计的DOA值以图形方式呈现,便于理解和分析。
通过这个Matlab程序,用户可以方便地调整参数,测试不同算法的效果,并且快速获得直观的结果。
这对于学术研究、工程实践和教育都是非常有价值的资源。
2025/8/14 20:22:56 4KB doa估计 matlab
1
本文来自于简书,本文主要介绍人工神经网络入门知识的总结,希望对您的学习有所帮助。
我们从下面四点认识人工神经网络(ANN:ArtificialNeutralNetwork):神经元结构、神经元的激活函数、神经网络拓扑结构、神经网络选择权值和学习算法。
1.神经元:我们先来看一组对比图就能了解是怎样从生物神经元建模为人工神经元。
人工神经元建模过程下面分别讲述:生物神经元的组成包括细胞体、树突、轴突、突触。
树突可以看作输入端,接收从其他细胞传递过来的电信号;
轴突可以看作输出端,传递电荷给其他细胞;
突触可以看作I/O接口,连接神经元,单个神经元可以和上千个神经元连接。
细胞体内有膜电位,从外界传递过来的电
2025/8/14 15:28:45 672KB 人工神经网络(ANN)简述
1
地震数据剖面显示程序,能将matlab数据按常规剖面显示(正值部分涂黑,负值部分不变)。
用于应用二维数组,生成地震记录剖面,对于地震模型的模拟数据快速生成剖面很有帮助。
2025/8/14 10:15:09 3KB wigb 二维地震记录
1
详细代码和详细结果,1、编写一个Java应用程序,用户从键盘输入十名学生的信息,至少包括姓名、年龄、出生年月日、java课程实验成绩,成绩使用浮点数,年龄使用整型,程序将输出年龄、java课程实验成绩的平均值。
提示:Scanner对象调用nextDouble()或nextFloat()可以获取用户从键盘输入的浮点数。
2、使用Arrays类实现数组排序:使用java.util包中的Arrays类的类方法publicstaticvoidsort(doublea[])可以把参数a指定的double类型数组按升序排序;
publicstaticvoidsort(doublea[],intstart,intend)可以把参数a指定的double类型数组中从位置start到end位置的值按升序排序。
给定数组inta[]={12,34,9,-23,45,6,90,123,19,45,34};从键盘读入一个整数,使用折半查找判断该整数是否在这个数组中,并将结果输出
2025/8/13 19:54:11 90KB 河工大
1
加密算法在信息技术领域中起着至关重要的作用,用于保护数据的安全性和隐私性。
SHA(SecureHashAlgorithm)是一种广泛使用的散列函数,它将任意长度的数据转换为固定长度的摘要值。
SHA512是SHA家族中的一员,提供更强大的安全性能,尤其适合大数据量的处理。
本文将深入探讨SHA512加密算法的原理、C++实现以及其在实际应用中的重要性。
SHA512算法基于密码学中的消息摘要思想,通过一系列复杂的数学运算(如位操作、异或、循环左移等),将输入数据转化为一个512位的二进制数字,通常以16进制形式表示,即64个字符。
这个过程是不可逆的,意味着无法从摘要值推导出原始数据,因此被广泛应用于数据完整性验证和密码存储。
在C++中实现SHA512算法,首先需要理解其基本步骤:1.**初始化**:设置一组初始哈希值(也称为中间结果)。
2.**预处理**:在输入数据前添加特殊位和填充,确保数据长度是512位的倍数。
3.**主循环**:将处理后的数据分成512位块,对每个块进行多次迭代计算,每次迭代包括四个步骤:扩展、混合、压缩和更新中间结果。
4.**结束**:将最后一个中间结果转换为16进制字符串,即为SHA512的摘要值。
C++代码实现时,可以使用位操作、数组和循环来完成这些计算。
为了简化,可以使用`#include`中的`uint64_t`类型表示64位整数,因为SHA512处理的是64位的数据块。
同时,可以利用`#include`中的`memcpy`和`memset`函数来处理内存操作。
此外,`#include`和`#include`库可用于将二进制数据转换成16进制字符串。
以下是一个简化的C++SHA512实现框架:```cpp#include#include#include#include#include//定义常量和初始化哈希值conststd::arraykInitialHashValues{...};std::arrayhashes=kInitialHashValues;//主循环函数voidProcessBlock(constuint8_t*data){//扩展、混合、压缩和更新中间结果}//输入数据的处理voidPreprocess(conststd::string&input){//添加填充和特殊位}//将摘要转换为16进制字符串std::stringDigestToHex(){//转换并返回16进制字符串}//使用示例std::stringmessage="Hello,World!";Preprocess(message);constuint8_t*data=reinterpret_cast(message.c_str());size_tdataSize=message.size();while(dataSize>0){if(dataSize>=128){ProcessBlock(data);dataSize-=128;data+=128;}else{//处理剩余数据}}std::stringresult=DigestToHex();```这个框架只是一个起点,实际的SHA512实现需要填充完整的扩展、混合和压缩步骤,以及处理边界条件。
此外,为了提高效率,可能还需要使用SIMD(SingleInstructionMultipleData)指令集或其他优化技术。
SHA512算法在多种场景下具有广泛的应用,如:-**文件校验**:通过计算文件的SHA512摘要,可以验证文件在传输或存储过程中是否被篡改。
-**密码存储**:在存储用户密码时,不应直接保存明文,而是保存SHA512加密后的哈希值。
当用户输入密码时,同样计算其SHA512值并与存储的哈希值比较,不匹配则表明密码错误。
-**数字签名**:在公钥加密体系中,SHA512可以与非对称加密算法结合,生成数字签名,确保数据的完整性和发送者的身份验证。
了解并掌握SHA512加密算法及其C++实现,对于信息安全专业人员来说至关重要,它不仅有助于提升系统的安全性,也有助于应对不断发展的网络安全威胁。
通过深入学习和实践,我们可以更好地理解和利用这一强大的工具。
2025/8/13 8:50:17 2.14MB 加密算法
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡