- 浏览: 2185196 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (1878)
- [网站分类]ASP.NET (141)
- [网站分类]C# (80)
- [随笔分类]NET知识库 (80)
- [随笔分类]摘抄文字[非技术] (3)
- [随笔分类]养生保健 (4)
- [网站分类]读书区 (16)
- [随笔分类]赚钱 (7)
- [网站分类].NET新手区 (233)
- [随笔分类]网站 (75)
- [网站分类]企业信息化其他 (4)
- [网站分类]首页候选区 (34)
- [网站分类]转载区 (12)
- [网站分类]SQL Server (16)
- [网站分类]程序人生 (7)
- [网站分类]WinForm (2)
- [随笔分类]错误集 (12)
- [网站分类]JavaScript (3)
- [随笔分类]小说九鼎记 (69)
- [随笔分类]技术文章 (15)
- [网站分类]求职面试 (3)
- [网站分类]其他技术区 (6)
- [网站分类]非技术区 (10)
- [发布至博客园首页] (5)
- [网站分类]jQuery (6)
- [网站分类].NET精华区 (6)
- [网站分类]Html/Css (10)
- [随笔分类]加速及SEO (10)
- [网站分类]Google开发 (4)
- [随笔分类]旅游备注 (2)
- [网站分类]架构设计 (3)
- [网站分类]Linux (23)
- [随笔分类]重要注册 (3)
- [随笔分类]Linux+PHP (10)
- [网站分类]PHP (11)
- [网站分类]VS2010 (2)
- [网站分类]CLR (1)
- [网站分类]C++ (1)
- [网站分类]ASP.NET MVC (2)
- [网站分类]项目与团队管理 (1)
- [随笔分类]个人总结 (1)
- [随笔分类]问题集 (3)
- [网站分类]代码与软件发布 (1)
- [网站分类]Android开发 (1)
- [网站分类]MySQL (1)
- [网站分类]开源研究 (6)
- ddd (0)
- 好久没写blog了 (0)
- sqlserver (2)
最新评论
-
JamesLiuX:
博主,能组个队么,我是Freelancer新手。
Freelancer.com(原GAF – GetAFreelancer)帐户里的钱如何取出? -
yw10260609:
我认为在混淆前,最好把相关代码备份一下比较好,不然项目完成后, ...
DotFuscator 小记 -
日月葬花魂:
大哥 能 加我个QQ 交流一下嘛 ?51264722 我Q ...
web应用程序和Web网站区别 -
iaimg:
我想问下嵌入delphi写的程序总是出现窗体后面感觉有个主窗体 ...
C#自定义控件:WinForm将其它应用程序窗体嵌入自己内部 -
iaimg:
代码地址下不了啊!
C#自定义控件:WinForm将其它应用程序窗体嵌入自己内部
自己写的一个 web 版简易 C# Code Generator,可快速产生某个数据库中,所有表 Mapping 的 C# 3.0 类。可当作网站分层开发、表单大量传递用户输入值、在内存里持久化保存值之用,亦可当作 NHibernate 等 O/R Mapping 框架套用时的 C# 代码生成器。
因敝人觉得 CodeSmith、MyGeneration 软件产生的类和代码太复杂,不见得符合自己所需,甚至市面上有些代码生成器还要收费,遂自己随手用 ASP.NET 写了一个代码生成器,并分享出来。功能尚简,以后有时间再继续扩充。
-------------------------------------------------
本帖的示例下载点:
http://files.cnblogs.com/WizardWu/091216.zip
(执行本示例,需要 SQL Server 的 Northwind 数据库,以及 VS 2008 或 IIS)
-------------------------------------------------
双击 CodeGenerator.sln,开启网站后,如下图 1,下拉菜单中,会自动撷取网站 Web.config 中,一至多个数据库连接的字符串。
图 1 程序执行画面,用户可自定义要生成的 C# 类其部分内容
图 2 程序会自动撷取 Web.config 中的一至多个数据库连接字符串
如下图 3,单击「列出此数据库的所有表」按钮后,会在 GridView 控件中,列出这个数据库的所有「表 (Table)」和「视图 (View)」。用户可逐一勾选,或全选要创建的表之后,再单击「开始创建」按钮即可。
图 3 创建后的 C# 类,会自动产生在此网站 底下的 Entities 文件夹里
下图 4 为创建的 C# 类其内容。C# 的类型,会和数据库中的类型自动做对应,例如 string 对应 varchar、Int16 对应 smallint。当然您可视自己的需求,修改代码再扩充。
图 4 创建的 C# 类其内容,用户可选择是否要加入 NHibernate 的 Attribute
本示例用了一个 ADO.NET 书上教的技巧,搭配 DataReader,在单一次的数据库 connection 中,一次就取回多句 SQL 语句,所要撷取的多个 ResultSet (此为多行多列的二维类型数据), 以提升程序性能,如下方代码所示:


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> 1 using (SqlConnection conn = new SqlConnection(strConnString))
2 {
3 conn.Open();
4 using (SqlCommand cmd = new SqlCommand())
5 {
6 cmd.Connection = conn;
7 cmd.CommandText = strSql;
8 using (SqlDataReader dr = cmd.ExecuteReader())
9 {
10 //多次颉取 ResultSet (多行多列的二维类型数据)
11 for (int ii = 0; ii < intDataTableCount; ii++ )
12 {
13 dtInsertInput = new DataTable();
14
15 dcInsertInput = new DataColumn();
16 dcInsertInput.DataType = Type.GetType("System.String");
17 dcInsertInput.ColumnName = "TableName";
18 dtInsertInput.Columns.Add(dcInsertInput);
19
20 dcInsertInput = new DataColumn();
21 dcInsertInput.DataType = Type.GetType("System.String");
22 dcInsertInput.ColumnName = "ColumnName";
23 dtInsertInput.Columns.Add(dcInsertInput);
24
25 dcInsertInput = new DataColumn();
26 dcInsertInput.DataType = Type.GetType("System.String");
27 dcInsertInput.ColumnName = "DataType";
28 dtInsertInput.Columns.Add(dcInsertInput);
29
30 while (dr.Read())
31 {
32 drInsertInput = dtInsertInput.NewRow();
33 drInsertInput["TableName"] = dr.GetString(1);
34 drInsertInput["ColumnName"] = dr.GetString(2);
35 drInsertInput["DataType"] = dr.GetString(6);
36 dtInsertInput.Rows.Add(drInsertInput);
37 //Response.Write(dr.GetString(1) + ", " + dr.GetString(2).ToString() + ", " + dr.GetString(6).ToString() + "<br>");
38 }
39
40 //将这一次撷取的 ResultSet,存入一个新的 DataTable 后,再把这一个 DataTable 存入 DataSet 里
41 ds.Tables.Add(dtInsertInput);
42
43 //dtInsertInput.Clear();
44
45 dr.NextResult(); //到 DataReader 的下一个 ResultSet 继续读取数据
46
47 Label1.Text += "已经创建了第 " + ds.Tables.Count + " 个类<br>";
48 }
49 }
50
51 dcInsertInput.Dispose();
52 dtInsertInput.Dispose();
53 }
54 }
55
有关此 ADO.NET 的小技巧,有兴趣的网友可参考这篇文章:
使用 ADO.NET 的 NextResult 方法取得多个 Result Set
http://www.cnblogs.com/WizardWu/archive/2008/07/11/1241174.html
有些网站系统的设计,会采用「分层式; 多层式 (n-Tier)」的架构,如下图 5 所示。在 Layer 与 Layer 之间的数据传递,或电子表单中用户所输入的多个字段值的传递,亦可透过此种 Mapping 映射类的 instance,来帮忙传递大量的数据;还有些 Java/J2EE 的书中会提到,可再将这些数据暂存在内存中,以做一些「持久性 (persistence)」的延伸应用,这些暂存在内存里的 class 的多个字段值,以后随时可从内存中取出再使用。
图 5 分层的网站系统,透过 Model 实例层、C# 实例 (instance),帮忙传递用户在表单中输入的大量数据


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->namespace com.公司名称.项目名称.Model
{
public class Product //此一「类」的名称,会对应至数据库的同名「数据表」Product
{
private int _id; //此为 .NET 的「字段(field)」,对应至 Product 表的同名「字段」ID
private string _name;
private decimal _price;
public int ID //此为 .NET 的「属性(property)」,对应至 Product 表的同名「字段」ID
{
set { _id = value; }
get { return _id; }
}
public decimal Price
{
set { _price = value; }
get { return _price; }
}
public string Name
{
set { _name = value; }
get { return _name; }
}
}
}


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->public partial class _Default : System.Web.UI.Page
{
//用户单击 submit 送出按钮,欲「添加」一笔记录到数据库的 Product 表
protected void Button1_Click(object sender, EventArgs e)
{
com.公司名称.项目名称.Model.Product model = new com.公司名称.项目名称.Model.Product(); //一个 Model 实例层的对象
com.公司名称.项目名称.BLL.Product bll = new com.公司名称.项目名称.BLL.Product(); //一个 BLL 层的对象
model.ID = TextBox1.Text; //将用户在表单中,所输入的 ID 数据,存储(set) 至 Model 实例层的对象
model.Name = TextBox2.Text; //将用户在表单中,所输入的 Name 数据,存储(set) 至 Model 实例层的对象
model.Price = TextBox3.Text; //将用户在表单中,所输入的 Price 数据,存储(set) 至 Model 实例层的对象
bll.executeInsert(model); //将包装好的用户输入数据的集合,传递至 BLL 商业逻辑层
}
}


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->namespace com.公司名称.项目名称.BLL
{
public class Product
{
//一个 DAL 数据访问层的对象
private com.公司名称.项目名称.DAL.Product dal = new com.公司名称.项目名称.DAL.Product();
public int executeInsert(com.公司名称.项目名称.Model.Product model)
{
//这里可以加入其他的商业逻辑
//将包装好的用户输入数据的集合,传递至 DAL 数据访问层
return dal.executeInsert(model);
}
}
}


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->namespace com.公司名称.项目名称.DAL
{
public class Product
{
public int executeInsert(com.公司名称.项目名称.Model.Product model)
{
StringBuilder strSql = new StringBuilder();
//在这里组合出完整的 SQL 语句
strSql.Append("INSERT INTO Product(ID, Name, Price) VALUES (@ID, @Name, @Price)");
//ADO.NET 中的 SqlParameterCollection 类的应用,表单中所有输入数据的集合
System.Data.SqlClient.SqlParameter[] params = {
new SqlParameter("@ID", SqlDbType.Int),
new SqlParameter("@Name", SqlDbType.NVarchar, 30),
new SqlParameter("@Price", SqlDbType.Decimal) };
//在这将用户在表单中输入的多个数据,逐一填入 SQL 语句里的「参数(parameters)」
params[0].Value = model.ID;
params[1].Value = model.Name;
params[2].Value = model.Price;
//将组合好的整句 SQL 语句,透过共用的「DBUtility 数据库访问类」DbHelper,抛入数据库去执行「添加」的动作com.公司名称.项目名称.DBUtility.DbHelper dbh;
int intResult = dbh.executeInsert(strSql.ToString(), params);
return intResult;
}
}
}
当然,若您只是单纯要传递用户在表单中输入的多个值,并非一定要透过此种 Mapping 的 C# 类 instance,微软 ADO.NET 提供的 SqlParameterCollection 类也很好用,且可事先设置好对应的数据表里,字段的类型和长度,如上方 DAL 数据访问层里的代码。
若真正要谈到 O/R Mapping 的议题,其特性及优点甚多,例如可避免在代码中,直接写死特定的数据表字段名称,或避免在前端代码中出现 SQL 语句,以利于中大型系统日后的维护。其内容非三言两语可道尽,本文不再深入探讨。
发表评论
-
UML
2010-08-09 11:39 1314开放分类:计算机技术计算机术语计算机科学 收藏分享到顶[6] ... -
用WebService实现调用新浪的天气预报功能
2010-07-15 21:47 2987用WebService实现调用新 ... -
Cookie简介及JSP处理Cookie的方法
2010-07-29 09:28 982Cookie简介及JSP处理Cookie的方法 一.什么是 ... -
SQL Server 2005/2008 用户数据库文件默认路径和默认备份路径修改方法
2010-06-09 22:16 1269一直想把数据库的默认 ... -
C#Winform调用网页中的JS方法
2010-07-12 11:07 2249其实还是还是相当的简单,本文将详细的用代码来展示一下如何调用, ... -
用WebService实现调用新浪的天气预报功能
2010-07-15 21:47 1519用WebService实现调用新 ... -
SQL Server 2005/2008 用户数据库文件默认路径和默认备份路径修改方法
2010-06-09 22:16 1105一直想把数据库的默认 ... -
基于 VS 2010 阐述C# 4个特性
2010-05-28 09:26 1097基于 VS 2010 阐述C# 4个特性基于 VS 20 ... -
Google AdSense中文官方博客今天公布了AdSense内容广告与AdSense搜索广告的收入分成比例
2010-05-25 09:12 1157google adsense 的广告分成比例总算是公布出来了。 ... -
权限管理数据表设计说明
2010-05-21 15:19 1093权限管理数据表设计说明 B/S系统中的权限比C/S中的更显的 ... -
权限管理的设计方法
2010-05-20 09:26 1445权限管理的设计方法是 ... -
多表分页存储过程
2010-05-17 14:25 1073分页存储过程 在网站设计,网页开发中,是要被经常遇到的。 ... -
vs2010跟vs2008比较增加了哪些功能
2010-05-18 09:10 2263随着vs2010的发布,新的 ... -
COM域名难逃实名监管 CN域名简化流程抢用户
2010-05-13 09:22 1207互联网实名制的落实第 ... -
网站安全之XSS漏洞攻击以及防范措施
2010-04-29 08:59 1454在网站开发中,安全问题是重中之重的问题,特别像一个sql注入, ... -
深入了解ASP.NET运行内幕
2010-04-28 09:04 1189做事情要知道根本所在 ... -
WebBrowser中显示乱码
2010-04-22 09:09 1759最近在开发cs项目的时候,因为嵌套了一个网页,要用到we ... -
vps配置笔记(10)架设svn服务
2010-04-21 09:41 1292linux 下面架设svn服务器,有点难度,我找了好多资料,现 ... -
IEnumerable
2010-04-16 09:12 1288在平常的代码编写中,虽然不常用到Ienumerable 但却不 ... -
JS代码实例:实现随机加载不同的CSS样式
2010-04-19 13:38 1435如果让网页浏览者每次打开页面都有新的感觉,可以通过替换css样 ...
相关推荐
目录: ChromeOS-PC-20130222-oscome.com ChromeOS-Vanilla-4028.0.2013_04_20_1810-r706c4144 ChromeOS-Vanilla-4028.0.2013_04_20_1810-r706c4144-VirtualBox ChromeOS-Vanilla-4028.0.2013_04_20_1810-r706c4144-VMWare ChromeOS-virtualbox-20130222-OSCOME.COM ChromeOS-vmware-20130222-OSCOME.COM 网盘文件永久链接
IEEE33节点模型搭建,matlab
3GPP R15 38.331 5G NR无线资源控制(RRC)协议规范解析
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款
19考试真题最近的t44.txt
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款,质量优质,放心下载使用
19考试真题最近的t49.txt
19考试真题最近的t61.txt
电动汽车充电站选址定容优化:基于MATLAB建模求解与成本最小化策略,电动汽车充电站选址定容优化:基于MATLAB的最优规划模型及初学者指南,电动汽车充电站的最优选址定容MATLAB程序 以规划期内充电站的总成本 (包括投资、运行和维护成本)和网损费用之和最小为目标,考虑了相关的约束条件,构造了电动汽车充电站最优规划的数学模型。 从34个位置中,选取7个充电站地址,进行选址优化 关键词:电动汽车;充电站;选址和定容 程序注释清晰,适合初学者学习 ,电动汽车; 充电站选址定容; MATLAB程序; 规划模型; 成本优化; 网损费用; 初学者学习; 程序注释清晰,基于MATLAB的电动汽车充电站选址定容优化程序:成本最小化与约束条件下的选址策略
威纶通触摸屏图库模板程序:多尺寸适用,PS原文件可自由修改,便捷电气助手应用,威纶通触摸屏图库模板程序:多尺寸适用,PS原文件可自由修改,便捷电气助手应用,威纶通触摸屏图库模板程序(电气助手) 可直接使用。 内附原图、PS原文件可自行修改 不同触摸屏,不同寸尺都可以使用 ,威纶通触摸屏; 图库模板程序; 电气助手; 直接使用; 原图; 修改; 兼容不同寸尺,威纶通触摸屏图库模板程序:电气助手,便捷编辑通用模板
修复 "保存'/opt/rr'的修改" 后 主菜单锁死问题. 修复 trivial 插件的语法错误. 修复 open-vm-tools 套件 缺失的 SOCKETS 驱动. 添加 vmtools 插件, 包含 qemu-ga & open-vm-tools. 4.1. 该插件会自动判断环境并启用对应的功能, 物理机也不用刻意删除该插件. 4.2. 新安装用户会默认选中, 升级用户如需要请手动添加该插件. 4.3. 如启用该插件, 请不要再在系统中安装套件. 修复 wireless 插件. 5.1. 修复 RR 下无线网络 IP 显示和刷新问题. 5.2. 修复 RR 下设置 SSID&PSK 后 DSM 下不驱动的问题. 5.3. 同步 RR 下的 SSID&PSK 到 DSM 下. 5.4. 修复 junior 模式下无线网络的支持, 已支持 无线网卡的 DSM 系统安装. (暂时不支持 intel 无线网卡) 5.5. wpa_supplicant.conf 文件位于引导盘第一个分区根目录, 纯无线环境可手动放置该文件后其启动引导.
19考试真题最近的t66.txt
19考试真题最近的t37.txt
Arduino_Mega2560开发板工程文件 包含 原理图 PCB图
内容概要:本文详述了一种用于智能养猪的高精度称重系统设计及其实现方法,主要涵盖了卡尔曼滤波、数据采集与预处理、重量估算与存储等功能。文中提供了完整的Python代码示例和详细的代码解释,旨在减少噪声干扰并提高数据准确性。具体而言,通过对采集的数据进行卡尔曼滤波,去除异常值,并使用一定时间段内数据的平均值作为最终的体重估计。此外,还实现了一个简单的图形用户界面,能够实时显示称重数据和估计的重量。 适合人群:农业自动化领域的开发者和技术爱好者,尤其关注智能畜牧业的技术应用。 使用场景及目标:适用于智能养猪场的精准称重,提高养猪效率和管理水平,确保获取高精度、可靠的牲畜体重数据,帮助养殖场更好地管理饲养过程。同时,提供完整的源代码有助于相关人员理解和优化现有系统。 阅读建议:对于想要深入了解智能畜牧业相关技术的读者来说,可以通过本教程掌握从硬件接入、软件设计再到数据处理全流程的具体细节。重点关注各个关键算法的实现原理及其应用场景,从而为自己的项目带来启示与借鉴。
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款
## 01、数据简介 产业链韧性是指在产业链部分环节出现问题或遭受内外部冲击时,产业链仍能保持其稳定性和动态平衡,迅速做出反应并恢复正常运转的能力。这种能力体现了产业链的复杂适应性,是其能够应对各种不确定性因素和破坏性事件的重要保障。 产业链韧性是保障产业链安全稳定运行的重要基础,对于提升产业竞争力、推动经济高质量发展具有重要意义。 数据名称:地级市-产业链韧性数据 数据年份:2006-2021年 ## 02、相关数据 代码 年度 城市 产业结构HHI 获得专利数 第一产业增加值占GDP比 第二产业增加值占GDP比 第三产业增加值占GDP比 产业链韧性
PNP发射极接地开关仿真原理图
上门预约服务小程序v4.10.9+前端 文章列表单图时,图标统一左侧对齐 文章内增加视频位置,显示在文章顶部 文章内底部导航增加首页、分享、自定义按钮,可跳转内部页面、其他小程序、业务域名内的H5页面,方便宣传使用
Python环境下的滚动轴承故障诊断优化算法:基于改进WDCNN的一维卷积神经网络与LSTM融合的时序信号处理研究,Python环境中基于改进WDCNN与LSTM融合的滚动轴承故障诊断方法研究——优化卷积核大小,提升诊断准确率并加速收敛速度的应用,Python环境下一种基于WDCNN的滚动轴承故障诊断方法 算法采用pytorch深度学习模块,对WDCNN进行改进,搭建了卷积核大小逐层递减的一维卷积神经网络,并减少了卷积层数量,达到了98%以上的诊断准确率,同时有着较快的收敛速度。 另外,针对时序信号的特点,将长短时记忆网络(LSTM)与搭建的一维卷积神经网络结合,提高分类准确率至99%以上,但收敛速度较单一的卷积神经网络较慢。 算法可迁移至金融时间序列,地震信号,语音信号,声信号,生理信号(ECG,EEG,EMG)等一维时间序列信号。 ,基于WDCNN的故障诊断方法; 卷积神经网络; 算法改进; 高诊断准确率; 收敛速度快; LSTM结合; 一维时间序列信号; 金融、地震、语音、生理信号诊断,Python下改进WDCNN的滚动轴承故障诊断法:深度学习提升诊断准确率与收敛速度