“线性代数”,同微积分一样,是高等数学中两大入门课程之一,不仅是一门非常好的数学课程,也是一门非常好的工具学科,在很多领域都有广泛的用途。它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。本课程讲述了矩阵理论及线性代数的基本知识,侧重于那些与其他学科相关的内容,包括方程组、向量空间、行列式、特征值、相似矩阵及正定矩阵。
2024-10-11 14:05:51 47.57MB 麻省理工 线性代数 学习笔记
1
【吴恩达深度学习笔记】是一份针对吴恩达教授在Coursera平台上的深度学习课程的详尽笔记,旨在帮助已有一定编程基础和机器学习知识的计算机专业人士深入理解和应用深度学习技术。该课程分为5个部分,涵盖了深度学习的基础理论、实践技巧以及多种深度学习模型,如卷积神经网络(CNN)、递归神经网络(RNN)和长短期记忆网络(LSTM)等。 课程的目标是让学生掌握深度学习的核心概念,通过实际项目将所学知识应用于解决现实问题,如医疗诊断、自动驾驶和自然语言处理等前沿领域。课程语言是Python,使用的开发框架是Google的TensorFlow,由吴恩达本人亲自授课,两位助教来自斯坦福大学计算机科学系。完成课程后,学生将获得Coursera颁发的深度学习专业证书。 笔记由黄海广博士组织翻译和整理,旨在弥补Coursera官方字幕的不足,方便学员学习。团队不断更新和完善笔记内容,以促进人工智能在国内的普及,且确保不损害原课程和吴恩达的商业利益。 课程强调了深度学习的重要性,将其比喻为现代的电力革命,认为AI将在各行各业发挥关键作用。吴恩达希望通过这些课程,培养全球范围内的AI人才,共同利用深度学习解决全球性的挑战,提升人类生活质量。 课程内容包括但不限于: 1. 深度学习基础:介绍深度学习的基本原理,如何构建神经网络。 2. 卷积神经网络(CNN):用于图像识别和处理的网络结构。 3. 递归神经网络(RNN)和长短期记忆(LSTM):适用于序列数据处理,如自然语言处理。 4. 实践项目:包括医疗影像分析、自动驾驶技术、音乐生成等。 5. 深度学习工具和技巧:如优化算法Adam、Dropout正则化、BatchNorm以及权重初始化策略等。 此外,课程还邀请了行业内的深度学习专家分享见解,提供与行业实践相结合的视角,帮助学生将理论知识转化为实际能力。通过这门课程,学生不仅能掌握深度学习的理论知识,还能获得在实际工作中应用深度学习技术的实践经验。
2024-09-22 14:00:55 31.81MB 深度学习 吴恩达
1
Fluent软件学习笔记.pdf
2024-09-21 11:18:40 786KB
1
方便大家学习,整理上传了电子档笔记。
2024-09-10 08:52:49 156KB stm32
1
STM32 F103C8T6是意法半导体(STMicroelectronics)推出的一款基于ARM Cortex-M3内核的微控制器,广泛应用于各种嵌入式系统设计。在这个学习笔记中,我们将关注如何使用STM32 F103C8T6通过IIC(Inter-Integrated Circuit)通信协议与MLX90614红外非接触温度计进行数据交互。 我们需要了解IIC通信协议。IIC是一种多主机、双向二线制同步串行接口,由Philips(现NXP)公司在1982年开发,主要用于在系统内部或不同设备之间传输数据。它的主要特点是仅需要两条信号线——SDA(Serial Data Line)和SCL(Serial Clock Line),并支持主从模式,可以连接多个从设备。 MLX90614是一款高精度的红外非接触温度传感器,它能测量环境和物体的表面温度,并以数字方式输出数据。该传感器内置了一个测温元件和一个微处理器,能够计算温度并存储在内部寄存器中。通过IIC接口,我们可以读取这些寄存器的值,从而获取温度数据。 配置STM32 F103C8T6与MLX90614的IIC通信,你需要做以下几步: 1. **GPIO配置**:设置STM32的IIC SDA和SCL引脚为复用开漏输出模式,通常为PB6(SCL)和PB7(SDA)。 2. **时钟配置**:为IIC外设分配合适的时钟源,如APB1的时钟,根据MLX90614的数据手册设置合适的时钟速度。 3. **初始化IIC**:配置IIC控制器,包括启动条件、停止条件、应答位、数据传输方向等参数。 4. **寻址MLX90614**:发送IIC起始信号,然后写入MLX90614的7位设备地址(加上读/写位),等待应答。 5. **读写操作**:根据需求选择读或写操作。写操作时,发送寄存器地址,然后写入数据;读操作时,先发送寄存器地址,然后读取返回的数据,注意在读取数据后需要发送一个应答位,但最后读取的数据不需要应答。 6. **错误处理**:在通信过程中,需要检查并处理可能发生的错误,如超时、数据不匹配等。 7. **结束通信**:完成数据交换后,发送IIC停止信号,释放总线。 理解以上步骤后,你可以使用STM32的标准库或HAL库来实现IIC通信功能。标准库提供底层的寄存器级操作,而HAL库则提供了更高级别的抽象,使代码更易读、易移植。 在实际应用中,可能还需要考虑一些额外因素,如信号线的上拉电阻、通信速率与距离的平衡、抗干扰措施等。同时,要确保MLX90614的电源和接地正确连接,以及其工作电压与STM32的兼容性。 总结来说,这个学习笔记主要涵盖了STM32 F103C8T6如何通过IIC协议与MLX90614红外非接触温度计进行通信的详细过程。通过对IIC协议的理解和STM32的配置,可以实现从温度计获取温度数据的功能,这对于开发涉及环境监测、智能家居等领域的产品非常有用。
2024-08-29 14:14:17 6.04MB stm32 网络 网络
1
### 三菱FX3U系列PLC编程学习笔记 #### 第一章:PLC基础应用介绍 **1.1 PLC输入输出接线** - **颜色标识**:正极为棕色,负极为蓝色,信号线通常为黑色。 - **接线类型**: - **漏型接法(NPN)**:电流从输出端流出,适用于NPN类型的传感器或开关。 - **源型接法(PNP)**:电流从输出端流入,适用于PNP类型的传感器或开关。 **1.2 行程开关接线** - **漏型接线**:行程开关连接到PLC的输入端,外部电源的负极连接到公共端。 - **源型接线**:行程开关连接到PLC的输入端,外部电源的正极连接到公共端。 **1.3 外部电源接线** - **漏型接法**:外部电源的负极连接到PLC的公共端。 - **源型接法**:外部电源的正极连接到PLC的公共端。 **1.4 输出端接线** - **小灯接线**:直接将小灯连接到输出端。 - **中间继电器接线**:通过中间继电器控制更大的负载。 - **交流接触器接线**:通过交流接触器控制电机或其他大功率设备。 #### 第二章:三菱FX3U基础介绍 **2.1 编程语言及软元件介绍** - **2.1.1 编程语言** - **指令表(IL)**:类似于汇编语言,易于编写但不太直观。 - **梯形图(LAD)**:类似于传统的继电器电路,直观且易于接受。 - **顺序功能图(SFC)**:以流程为主线,清晰有序,弥补了梯形图在顺序控制方面的不足。 - **功能块图(FBD)**:适用于复杂系统的控制逻辑设计,具有良好的可视化效果。 - **结构化文本(ST)**:类似于BASIC或C语言,适合于高级编程,但要求操作者具备一定的编程能力。 - **2.1.2 PLC软元件介绍** - **输入继电器(X)**:编号为X000至八进制编号。 - **输出继电器(Y)**:编号为Y0000至八进制编号。 - **辅助继电器(M)**:编号为M0至十进制编号。 - **定时器(T)**:编号为T0起始。 - **计数器(C)**:编号为C0起始。 - **数据寄存器(D)**:编号为D0起始。 - **其他软元件**:状态(S),变址寄存器(V、Z),指针(P、I),高速计数器(C235~)。 **2.2 特殊辅助继电器** - **2.2.1 触点利用型** - **M8000**:运行监视,PLC运行时为ON,停止时为OFF。 - **M8002**:初始化脉冲,仅在PLC启动的第一个扫描周期为ON。 - **M8011~M8014**:分别为10ms、100ms、1s、1min的时钟脉冲。 - **M8005**:电池电压降低时变为ON,提示更换电池。 - **2.2.2 线圈驱动型** - **M8030**:电池电压降低LED熄灭。 - **M8033**:PLC停止后,输出继电器状态保持不变。 - **M8034**:禁止所有输出。 - **M8039**:根据D8039指定的时间进行工作。 #### 第三章:指令入门应用 **3.1 位指令应用** - **3.1.1 边沿触发指令** - **|↑|**:上升沿触发。 - **|↓|**:下降沿触发。 - **3.1.2 置位复位指令** - **SET**:无需自锁即可保持状态。 - **RSET**:复位指令。 - **ZRST**:连续复位多个元件。 **3.2 定时器与计数器指令** - **3.2.1 定时器** - **通电延时定时器**:通电后延时一定时间后输出。 - **断电延时定时器**:断电后延时一定时间后输出。 - **3.2.2 计数器** - **增计数器**:每次输入增加时计数值增加。 - **减计数器**:每次输入增加时计数值减少。 #### 第四章:基本指令的应用 **4.1 数据传输与转换** - **4.1.1 MOV传送指令** - **16位MOV**:将16位的数据从源地址传送到目标地址。 - **32位DEMOV**:将32位的数据从源地址传送到目标地址。 - **4.1.2 BCD转换** - **BCD指令**:将二进制数转换为BCD码。 - **BIN指令**:将BCD码转换为二进制数。 **4.2 四则运算指令应用** - **ADD**:加法指令。 - **SUB**:减法指令。 - **MUL**:乘法指令。 - **DIV**:除法指令。 **4.3 触点比较与比较指令** - **CMP**:比较两个数值大小,并根据比较结果输出相应的触点状态。 - **ZCP**:三个数值之间的比较,当第三个数值介于前两个数值之间时,输出为ON。 **4.4 时钟指令应用** - **TRD**:读取内部时钟数据。 - **年月日时分秒星期**:分别对应D0至D6中的数据。 - **HTOS**:将小时、分钟、秒的数据转换为时间戳格式。 以上内容涵盖了三菱FX3U系列PLC的基础知识和常用指令的应用方法,对于初学者来说是非常宝贵的学习资料。通过学习这些基础知识,可以帮助理解和掌握PLC的工作原理和编程技巧,为进一步深入学习和实践打下坚实的基础。
2024-08-27 14:35:18 41.95MB 编程语言
1
准比例微分(PD)控制器,也称为准比例积分微分(PR)控制器,是一种常见的控制算法,常用于自动化系统和过程控制中。它结合了比例控制器的即时响应和微分控制器对未来误差的预测能力,但不包含积分部分,因此避免了积分饱和和超调等问题。在数字信号处理器(DSP)和单片机中实现准PR控制器,可以有效地提高系统的稳定性和控制精度。 在提供的"myPR.c"和"myPR.h"文件中,我们可以预见到一个已经封装好的准PR控制器函数。通常,这样的函数会接受几个关键参数来定义控制器的行为: 1. **Kp(比例增益)**:这是控制器对当前误差的响应程度。比例增益越大,控制动作越剧烈,系统的响应速度更快,但也可能增加系统的振荡。 2. **Kr(微分增益)**:微分增益决定了控制器对误差变化率的反应。微分作用有助于提前预测误差并减少超调,改善系统的动态性能。 3. **Ts(采样时间)**:这是控制系统采样的周期,决定了控制器更新其输出的频率。合适的采样时间对于保证系统稳定性至关重要。 4. **wc(截止频率)**:这是微分部分的截止频率,决定了微分作用的强度和范围。过高可能会导致系统不稳定,过低则可能减弱微分效果。 5. **wo(自然频率)**:与系统的固有频率有关,用于调整控制器的响应特性,确保系统在期望的频率范围内工作。 在TI的SOLAR库中未找到此函数,意味着这可能是一个自定义实现,适用于特定的应用场景或为了满足特殊的需求。用户可能需要自行编译和测试这个函数,以适应他们的硬件平台和控制任务。 在实际应用中,设计和调整这些参数是一个迭代过程,通常通过模拟或实地试验来完成。开发者需要考虑系统的稳定性、响应速度、抗干扰能力和目标性能指标。在单片机或DSP中实现准PR控制器时,还需要注意计算资源的限制,如处理速度、内存大小等,确保代码优化且能够在有限的硬件资源下高效运行。 "myPR"代码库提供了一个方便的工具,使开发者能够快速集成准PR控制器到他们的控制系统中,通过调整参数来优化控制性能。无论是用于学术研究还是工业应用,理解并熟练掌握这种控制器的原理和应用都将极大地提升项目实施的成功率。
2024-08-26 17:12:31 957B 学习笔记
1
今日学习配置HC-05蓝牙模块 与 STM32 F103C8T6 单片机的通信: 文章提供测试代码讲解、完整工程下载、测试效果图 主要需要用到的知识: 串口通信 目标是配置单片机串口1 与 HC-05蓝牙模块的通信,并借此传送数据打印数据给手机APP
2024-08-23 15:18:32 5.99MB stm32 网络 网络
1
在本学习笔记中,我们将深入探讨如何在STM32 F103C8T6微控制器上使用AHT10温湿度传感器模块。STM32系列是基于ARM Cortex-M3内核的微控制器,广泛应用于嵌入式系统设计,而AHT10是一款高精度、低功耗的温湿度传感器,常用于环境监测和智能家居设备。 我们来了解AHT10的基本特性。AHT10由ams公司生产,它能够提供0.1°C的温度精度和2%RH的湿度精度,具有快速响应和良好的长期稳定性。该传感器通过I2C接口与主控器通信,这使得在STM32上实现数据读取变得简单。 在STM32开发过程中,你需要配置STM32的I2C接口。这通常包括设置GPIO引脚为I2C模式,配置时钟分频器,以及使能I2C外设。F103C8T6有多个可用的I2C接口(如I2C1或I2C2),你可以根据硬件连接选择合适的接口。记得为SDA和SCL引脚配置适当的Pull-up电阻。 接着,你需要编写I2C通信协议的代码。STM32的HAL库提供了方便的API函数来发送和接收数据,如`HAL_I2C_Master_Transmit()`和`HAL_I2C_Master_Receive()`。通过这些函数,你可以向AHT10发送命令并读取其返回的数据。AHT10的操作包括初始化、读取温度和湿度、校准等,每种操作都有特定的命令序列。 在初始化阶段,你需要向AHT10发送特定的配置命令以设置工作模式。AHT10有单次测量和连续测量两种模式,根据应用需求选择合适的模式。之后,可以调用读取命令来获取传感器数据,数据通常以32位字节格式返回,包括两个16位的温度和湿度值。 解析AHT10返回的数据时,需要注意字节顺序和位转换。温度和湿度值分别存储在4个字节中,需要正确地组合和转换为十进制数值。这可能涉及到位移和位与操作。同时,AHT10返回的数据还包含一个校验和,用于检查数据传输的准确性。 在实际应用中,你可能还需要考虑错误处理和中断处理。例如,如果I2C通信超时或数据校验失败,应有相应的错误处理机制。另外,可以使用STM32的中断功能来实时响应AHT10的测量完成事件,提高系统的响应效率。 对于嵌入式系统,优化电源管理也是关键。AHT10具有低功耗特性,可以通过设置命令使其进入待机模式以节省电能。在不需要连续测量的情况下,关闭I2C接口或降低系统频率也能进一步降低功耗。 总结,使用STM32 F103C8T6与AHT10温湿度传感器的集成涉及STM32的I2C接口配置、I2C通信协议编程、数据解析以及错误和电源管理策略。通过理解这些知识点,你将能够成功地在STM32项目中集成并利用AHT10传感器,实现精确的环境监控功能。
2024-08-12 13:57:29 6.12MB stm32
1
Matlab 机器学习笔记 Matlab 是一个功能强大且广泛应用于机器学习和数据分析的工具。本笔记总结了 Matlab 中的机器学习技巧和 GUI 使用方法。 机器学习基础 机器学习是指在计算机科学中,使用算法和统计模型来实现自动化的数据分析和预测的技术。机器学习可以分为有导师学习、无导师学习和半监督学习三种。有导师学习是指在数据集中的每个样本都有标签,而无导师学习是指数据集中的样本没有标签。半监督学习是指数据集中的样本既有标签也有没有标签的样本。 神经网络 神经网络是机器学习中的一种常用模型,用于模拟人脑的神经网络。神经网络可以分为前向神经网络、反馈神经网络和自动编码器等。前向神经网络是指神经网络中的信息流程是单向的,从输入层到输出层。反馈神经网络是指神经网络中的信息流程可以从输出层反馈到输入层。 神经网络的学习方式 神经网络的学习方式可以分为有导师学习和无导师学习。有导师学习是指神经网络在学习过程中,使用已经标注的数据集来调整神经网络的参数。无导师学习是指神经网络在学习过程中,不使用已经标注的数据集,而是使用未标注的数据集来学习。 神经网络的功能分类 神经网络的功能可以分为拟合(回归)、分类和概率神经网络等。拟合神经网络是指神经网络用于预测连续值的输出。分类神经网络是指神经网络用于预测离散值的输出。概率神经网络是指神经网络用于预测概率分布的输出。 Matlab 中的神经网络工具 Matlab 提供了一个强大的神经网络工具箱,名为 Neural Network Toolbox。该工具箱提供了多种类型的神经网络模型,可以用于解决不同的机器学习问题。 其他机器学习算法 除了神经网络外,Matlab 还提供了其他机器学习算法,如决策树、随机森林、遗传算法、粒子群算法等。 Matlab 中的机器学习 GUI Matlab 提供了一个强大的机器学习 GUI,名为 nntool。该 GUI 可以帮助用户快速创建和训练神经网络模型,同时也可以用于其他机器学习算法。 Matlab 中的机器学习应用 Matlab 的机器学习工具箱和 GUI 可以应用于多种领域,如图像识别、自然语言处理、数据挖掘等。 结论 Matlab 是一个功能强大且广泛应用于机器学习和数据分析的工具。通过 Matlab,可以快速创建和训练机器学习模型,并应用于多种领域。本笔记总结了 Matlab 中的机器学习技巧和 GUI 使用方法,为用户提供了一个快速入门的指南。
2024-08-10 20:44:54 4.48MB 机器学习 gui
1