wujie工作
2024-11-12 16:15:22 5.8MB
1
python爬虫 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。例如:传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具也存在着一定的局限性,通用搜索引擎的目标是尽可能大的网络覆盖率,返回的结果包含大量用户不关心的网页,为了解决上述问题,定向抓取相关网页资源的爬虫应运而生。 由于互联网数据的多样性和资源的有限性,根据用户需求定向抓取网页并分析,已成为主流的爬取策略。只要你能通过浏览器访问的数据都可以通过爬虫获取,爬虫的本质是模拟浏览器打开网页,获取网页中我们想要的那部分数据。 1.2、Python为什么适合爬虫 因为python的脚本特性,python易于配置,对字符的处理也非常灵活,加上python有丰富的网络抓取模块,所以两者经常联系在一起。 相比与其他静态编程语言,如java,c#,C++,python抓取网页文档的接口更简洁;相比其
2024-10-25 08:56:30 15KB
1
python爬虫 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。例如:传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具也存在着一定的局限性,通用搜索引擎的目标是尽可能大的网络覆盖率,返回的结果包含大量用户不关心的网页,为了解决上述问题,定向抓取相关网页资源的爬虫应运而生。 由于互联网数据的多样性和资源的有限性,根据用户需求定向抓取网页并分析,已成为主流的爬取策略。只要你能通过浏览器访问的数据都可以通过爬虫获取,爬虫的本质是模拟浏览器打开网页,获取网页中我们想要的那部分数据。 1.2、Python为什么适合爬虫 因为python的脚本特性,python易于配置,对字符的处理也非常灵活,加上python有丰富的网络抓取模块,所以两者经常联系在一起。 相比与其他静态编程语言,如java,c#,C++,python抓取网页文档的接口更简洁;相比其
2024-10-25 08:55:29 13KB
1
在机器学习领域,回归预测是一种常见且重要的任务,主要用于预测连续数值型的输出。在这个案例中,我们将探讨如何利用一些基础的机器学习模型来解决材料能耗问题,即预测材料生产或加工过程中的能量消耗。这有助于企业优化能源利用,降低成本,并实现更环保的生产流程。 1. **线性回归**:线性回归是最基础的回归模型之一,通过构建一个最佳的直线关系来预测目标变量。在材料能耗问题中,可以考虑输入参数如材料类型、重量、加工条件等,线性回归模型将找出这些参数与能耗之间的线性关系。 2. **岭回归**:当数据存在多重共线性时,线性回归可能表现不佳。岭回归是线性回归的改进版本,通过引入正则化参数来缓解过拟合,提高模型稳定性。 3. **lasso回归**:Lasso回归(Least Absolute Shrinkage and Selection Operator)在正则化中采用L1范数,不仅可以减少过拟合,还能实现特征选择,即某些不重要的特征系数会被压缩至零,从而达到特征筛选的目的。 4. **决策树回归**:决策树模型通过一系列基于特征的“如果-那么”规则进行预测。在材料能耗问题上,决策树能处理非线性关系,易于理解和解释,适合处理包含类别和数值特征的数据。 5. **随机森林回归**:随机森林是多个决策树的集成,每个决策树对目标变量进行预测,最后取平均值作为最终预测结果。随机森林可以有效降低过拟合风险,提高预测准确度,同时能评估特征的重要性。 6. **梯度提升回归**(Gradient Boosting Regression):这是一种迭代的增强方法,通过不断训练新的弱预测器来修正前一轮的预测误差。在材料能耗问题中,梯度提升能逐步优化预测,尤其适用于复杂数据集。 7. **支持向量回归**(Support Vector Regression, SVR):SVR使用支持向量机的概念,寻找一个最能包容所有样本点的“间隔”。在处理非线性和异常值时,SVR表现优秀,但计算成本较高。 8. **神经网络回归**:神经网络模拟人脑神经元的工作原理,通过多层非线性变换建模。深度学习中的神经网络,如多层感知器(MLP),可以捕捉复杂的非线性关系,适应材料能耗问题的多元性和复杂性。 在实际应用中,我们需要对数据进行预处理,包括缺失值处理、异常值检测、特征缩放等。然后,使用交叉验证进行模型选择和调参,以找到最优的模型和超参数。评估模型性能,通常使用均方误差(MSE)、均方根误差(RMSE)、R²分数等指标。在模型训练完成后,可以将模型部署到生产环境中,实时预测新材料的能耗。 总结起来,解决材料能耗问题涉及多种机器学习模型,每种模型都有其优势和适用场景。根据数据特性以及对模型解释性的需求,选择合适的模型并进行适当的调整,将有助于我们更准确地预测材料的能耗,进而优化生产流程。
2024-10-12 15:56:04 5.35MB
1
一些高质量的学习Delphi的资源清单.zip
2024-09-20 22:44:30 64KB Delphi
1
Visual Basic(VB)是Microsoft开发的一种面向对象的编程语言,尤其适合初学者和快速应用程序开发。这个压缩包“一些高质量的学习Visual Basic(VB)的资源清单”提供了丰富的学习材料,帮助用户深入理解和掌握VB的基本概念、语法以及实际应用。 1. **VB基础** - **变量与数据类型**:VB支持多种数据类型,如Integer、Double、String等,理解它们的用途和限制是编程的基础。 - **控制结构**:包括If...Then...Else、For...Next、While...Wend等,用于决定程序流程。 - **函数与过程**:VB中的Sub和Function可以封装代码,提高可重用性。 - **事件驱动编程**:VB的一大特色,通过响应用户的操作或系统事件来执行特定的代码。 2. **对象与类** - **对象导向编程**:VB基于Windows API,许多控件本身就是对象,理解对象的属性、方法和事件至关重要。 - **自定义控件**:通过继承现有控件,可以创建具有特殊功能的新控件。 - **集合与数组**:了解如何操作集合对象和数组,以处理多个相同类型的数据。 3. **界面设计** - **Form设计**:VB的用户界面设计主要通过Form,包括控件的布局、属性设置、事件处理。 - **控件使用**:诸如Label、TextBox、Button等,每个控件都有其独特的属性和事件。 - **对话框应用**:如OpenFileDialog和SaveFileDialog,用于增强用户交互。 4. **文件操作** - **读写文件**:使用FileOpen、Input#、Write#等函数处理文本文件。 - **二进制文件操作**:处理图像、音频等非文本数据。 - **XML和数据库访问**:XML用于数据交换,ADO.NET用于连接和操作数据库。 5. **高级话题** - **多线程**:VB支持多线程编程,以实现并发操作。 - **错误处理**:Try...Catch结构用于捕获和处理运行时错误。 - **组件开发**:通过COM或.NET Framework开发可重用的组件。 6. **学习资源** - **在线教程**:如MSDN Library,提供官方文档和示例代码。 - **书籍**:涵盖从入门到高级的VB专著,如《Visual Basic从入门到精通》。 - **视频课程**:网站上的教学视频,适合视觉学习者。 - **论坛讨论**:Stack Overflow、CSDN等平台上的问题解答和经验分享。 7. **实践项目** - **小程序开发**:如计算器、日历等,巩固基础知识。 - **企业级应用**:如库存管理、CRM系统,提升实战技能。 通过这些资源,无论是初学者还是有一定经验的开发者,都能找到合适的学习路径,逐步精通Visual Basic,从而能够编写出高效、稳定的应用程序。
2024-09-20 22:44:05 64KB
1
城市问题上的词云方法 Scopus提供的一些关于城市问题的简单统计数据 数据来源 本统计以爱思唯尔的摘要和应用数据库作为数据来源,所选文献均是标题,摘要以及关键词中匹配检索关键词的文章,时间范围是2012年(含)以来的文章。 方法 本统计利用Scopus自带的文献检索以及信息输出功能,检索命令分别如下: TITLE-ABS-KEY ( "smart city" ) AND PUBYEAR > 2011 TITLE-ABS-KEY ( "urban resilience" ) AND PUBYEAR > 2011 TITLE-ABS-KEY ( "urban water" ) AND PUBYEAR > 2011 TITLE-ABS-KEY ( "urban" ) OR TITLE-ABS-KEY ( "city" ) AND TITLE-ABS-KEY (
2024-09-12 14:38:03 3.57MB
1
**FOC控制技术详解** **1. FOC(Field-Oriented Control)的本质与核心思想** FOC(Field-Oriented Control)是一种先进的电机控制策略,其核心思想是通过实时控制电机的定子磁场,使其始终与转子磁链保持90度的相位差,以实现最佳的转矩输出。这被称为超前角控制。电机的电角度用于指示转子的位置,以便在固定坐标系和旋转坐标系之间转换磁场,进而生成精确的PWM信号来控制电机。电角度的定义可以灵活,如轴与轴的夹角,主要目的是简化Park和反Park变换的计算。 **2. 超前角控制的原理** 超前角控制的关键在于使电机的磁通与转矩方向垂直,以获得最大的转矩。当转子磁场相对于定子磁场滞后90度时,电机的扭矩最大。因此,通过实时调整定子电流,使它超前于转子磁链90度,可以达到最优的扭矩性能。 **3. Clark变换** Clark变换是将三相交流电流转换为两相直轴(d轴)和交轴(q轴)的直流分量的过程,目的是将复杂的三相系统解耦为易于控制的两相系统。在Clark变换中,通过一定的系数(等幅值变换或恒功率变换)将三相电流转换为两相电流,使得电机的动态特性更易于分析和控制。 **3.1 数学推导** Clark变换的公式如下: \[ I_d = k(I_a - \frac{1}{\sqrt{3}}(I_b + I_c)) \] \[ I_q = k(\frac{1}{\sqrt{3}}(I_a + I_b) - I_c) \] 其中,\(k\) 是变换系数,等幅值变换时 \(k = \frac{1}{\sqrt{3}}\),而恒功率变换时 \(k = \frac{2}{\sqrt{3}}\)。 **4. Park变换与逆变换** Park变换是将两相直轴和交轴电流进一步转换为旋转变压器坐标系(d轴和q轴),以便进行磁场定向。逆Park变换则将旋转变压器坐标系的电流再转换回直轴和交轴电流。这两个变换在数学上涉及到正弦和余弦函数,对于实时控制至关重要。 **5. SVPWM(Space Vector Pulse Width Modulation)** SVPWM是一种高效的PWM调制技术,通过优化电压矢量的分配,实现接近理想正弦波的电机电压。SVPWM涉及到扇区判断、非零矢量和零矢量的作用时间计算、过调制处理以及扇区矢量切换点的确定。这一过程确保了电机高效、低谐波的运行。 **6. PID控制** PID(比例-积分-微分)控制器是自动控制领域常见的反馈控制策略。离散化处理是将连续时间的PID转换为适合数字处理器的形式。PID控制算法包括位置式和增量式两种,各有优缺点,适用于不同的控制场景。积分抗饱和是解决积分环节可能导致的饱和问题,通过各种方法如限幅、积分分离等避免控制器性能恶化。 **7. 磁链圆限制** 磁链圆限制是限制电机磁链的模长,以防止磁饱和现象。通过对MAX_MODULE和START_INDEX的设定,确保电机在安全的工作范围内运行,同时保持良好的控制性能。 以上知识点涵盖了FOC控制的基础理论和实际应用,包括数学推导、算法实现以及相关的控制策略。通过深入理解并实践这些内容,可以有效地设计和优化电机控制系统。
2024-09-12 11:01:38 7.34MB simulink
1
Unity-WebGL-实用程序 基于Unity团队的博客文章和WebGL Essentials资产包并从中获得启发的Unity WebGL游戏的一些有用实用程序。 正在安装 获取并将unitypackage导入到您的项目中。 WebGLMemoryStats 这是一种简单的行为,您可以将其添加到持久性游戏对象中。 它将定期将WebGL内存统计信息记录到浏览器控制台,以帮助您调整WebGL内存大小: 更新了CachedXMLHttpRequest 不幸的是,CachedXMLHttpRequest的原始版本存在一些错误。 该软件包包括一个更新的嵌入式替换,可以解决以下问题: 在Firef
2024-09-06 14:16:47 18KB webgl unity unity3d UnityC#
1
STM32是一款基于ARM Cortex-M内核的微控制器系列,由意法半导体(STMicroelectronics)生产。STM32在嵌入式系统领域广泛应用,因其高性能、低功耗和丰富的外设接口而受到青睐。本资源包含STM32的中文说明手册和库函数的使用说明,对于初学者和开发者来说,是非常宝贵的参考资料。 STM32中文说明手册通常包括以下内容: 1. **概述**:介绍STM32系列的特点、性能指标以及不同型号之间的差异。 2. **硬件特性**:详述STM32微控制器的内核、内存结构、引脚配置、电源管理、时钟系统、中断和事件控制等。 3. **外设**:涵盖各种内置外设,如通用输入输出(GPIO)、定时器、串行通信接口(SPI/I2C/UART)、CAN、USB、ADC、DAC、DMA、CRC、浮点单元(FPU)等,以及它们的工作原理和配置方法。 4. **开发工具**:介绍常用的开发环境,如STM32CubeIDE、Keil uVision、IAR Embedded Workbench等,以及如何设置和使用它们进行项目开发。 5. **编程模型**:讲解Cortex-M内核的中断、异常处理,以及嵌入式C语言的注意事项。 6. **调试技术**:介绍SWD、JTAG等调试接口的使用,以及如何通过调试器进行程序调试。 7. **应用示例**:提供实际的代码示例,帮助理解和运用STM32的各种功能。 库函数的使用说明通常会涵盖以下部分: 1. **HAL库**:STM32 HAL库(Hardware Abstraction Layer)提供了一套与具体硬件无关的API,简化了跨系列的移植工作。它包括了初始化、配置和操作外设的函数,如HAL_GPIO_Init()用于初始化GPIO,HAL_TIM_PWM_Start()用于启动PWM定时器等。 2. **LL库**:Low-Layer库是接近硬件层的库,提供了更高效、更灵活的函数,但需要对STM32硬件有更深入的理解。 3. **CMSIS库**:Cortex Microcontroller Software Interface Standard库提供了与处理器内核相关的功能,如中断处理、浮点运算等。 4. **库函数用法**:详细介绍每个库函数的功能、参数、返回值和使用注意事项,以及常见问题的解决方法。 5. **示例代码**:提供完整的示例程序,展示如何使用库函数实现特定功能,如定时器、串口通信、ADC采样等。 学习STM32,你需要理解微控制器的基本工作原理,熟悉HAL库和LL库的使用,掌握基本的编程技巧,并能根据需求选择合适的外设和配置方式。此外,通过阅读手册中的示例代码,可以加深对外设操作和库函数的理解,快速上手STM32的开发工作。
2024-08-12 14:15:33 12.61MB stm32
1