附合水准路线是工程建设中水准控制测量的一种主要测量路线,在公路工程、土木建筑工程、水利工程、电力工程及变形监测等工程建设项目中广泛使用。附合水准路线测量的精度与工程建设的质量有着密切的关系,因此,对附合水准路线测量的误差处理方法开展研究,具有重要的意义。为提高附合水准测量的精度,许多学者对附合水准测量的误差处理方法开展了一系列的研究。张琦等人对附合的1条水准路线图解平差方法研究发现,该方法作业步骤简单,且能够满足三、四等水准测量的精度要求。王磊等人通过对间接平差模型的简化,利用Matlab编制了附合水准网经典平差系统,并用假设检验理论检验系统的可靠性,通过实例验证发现,该平差系统可以对一、二、三、四等及等外附合水准网开展经典平差计算。余章蓉等人对水准网间接平差方法进行改进,采用直接观测信息构建方程的方法实现了间接平差,该方法实现程序编制简单、快捷、高效,方便了大型水准网平差计算。
相比之下,水准网平差的人工智能计算方面的研究甚少。吴良才等人把遗传算法和神经网络技术结合在一起,用于GPS高程的转换。通过实例计算,表明人工智能算法用于GPS高程转换的精度较高。作者拟建立附合水准路线的通用平差模型,研究建立蚁群智能水准平差方法。其目的在于改进平差手段,提高水准平差的精度。
平差模型的建立
图1:附合水准路线示意
如《图1:附合水准路线示意》所示,假定待测点为1,2,…,i,…,j,从BMA 到BMB之间设置了n 个测段, 按照五等水准测量的方法施测,各测段的实测高差分别为h1,h2,…,hn, 各测段的距离分别为L1,L2,…,Ln, 设各测段的高差真值分别为h1',h2',…,hn', 设各测段的真误差分别为Δ1,Δ2,…,Δn, 则
附合水准路线平差的蚁群算法
(1)蚁群算法
20世纪90年代,意大利学者Dorigo等人提出模拟蚁群觅食的蚁群算法。该算法的特点是:拥有强鲁棒性、优良的分布式计算机制,且易与其他优化理论相结合。该方法已经被用于解决大多数的优化问题。其应用领域已逐步扩展到工程建设方面。
(2)蚁群搜索方式设计
蚂蚁i的搜索方向与蚁群中其他蚂蚁的位置的信息素以及距离有密切关系,信息素越大,且与当前蚂蚁i的距离越小,被当前蚂蚁选定为搜索方向的概率也就越大,若蚂蚁i与蚂蚁j的距离为dij,则
设
,则蚂蚁i向蚂蚁j方向移动方向移动的概率为:
研究结论
(1)通过对附合水准路线测量的误差特点分析,建立了附合水准路线的误差处理通用优化模型,便于计算机程序优化计算。
(2)提出了附合水准路线的蚁群智能平差方法,建立了附合水准路线平差的蚂蚁搜索方案和蚂蚁的行进策略。采用保留策略,实现快速、高精度平差。
(3)通过实例计算可以发现,附合水准路线采用蚁群智能平差方法的精度明显高于采用传统经典平差方法的精度。
我就弄的用户登入的代码吧.这个挺简单的.
这是题目:
用户登陆验证:
1.创建数据库Test,并新建用户表users
字段包含:username varchar(20) not null
userpwd varchar(20) not null
在JBUILDER中编写Long类,实现登陆界面,并在用户输入用户名和密码后,
完成按纽的单击事件,对用户输入的数据进行验证,
(需要严整数据是否为空,密码长度必须是15位),
并实现与数据库的连接,将用户输入的用户名密码与表中的记录比较,
若用户名正确且密码正确,d出提示框告知登陆成功,否则登陆失败。
这是代码:
//连接数据库
boolean isLogin(String name,String pwd){
boolean flag=false
Connection conn=null
PreparedStatement pst=null
ResultSet rs=null
//加载驱动
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
} catch (ClassNotFoundException ex) {
ex.printStackTrace()
}
//连接数据库
try {
conn=DriverManager.getConnection("jdbc:odbc:login")
String sql="select * from [user] where username=? and userpwd=?"
pst=conn.prepareStatement(sql)
pst.setString(1,name)
pst.setString(2,pwd)
rs=pst.executeQuery()
if(rs.next())
flag=true
} catch (Exception ex) {
ex.printStackTrace()
}finally{
try {
conn.close()
} catch (Exception ex) {
ex.printStackTrace()
}
}
return flag
}
//验证方法
public void jButton1_actionPerformed(ActionEvent e) {
String name=jTextField1.getText()
String pwd=jTextField2.getText()
//错误处理
if(name.equals("")||pwd.equals(""))
JOptionPane.showMessageDialog(this,"请输入完整的信息")
else {
if(isLogin(name,pwd))
JOptionPane.showMessageDialog(this,"登陆成功")
else
JOptionPane.showMessageDialog(this,"用户名或密码错误")
}
}
}
.....
.....
这是在事件里写的,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)