版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、坐标轮换法程序框图Vb运行界面Vb编程程序Private Sub Command1_Click() Dim s110 As DoubleDim s100 As DoubleDim s200 As DoubleDim s210 As DoubleDim x100(10000000) As Double Dim x110(10000000) As Double Dim x200(10000000) As Double Dim x210(10000000) As Double Dim 1 As DoubleDim 2 As DoubleDim k As LongDim a1#, a2#, a3#,
2、a4#, a5#, a6# Dim h#, e1#, e#Dim 0#, 1#, 2#, 3#, a#, b# Dim xx1#, xx2#, yy1#, yy2#, yy3# Dim f2#, f1#, fxx#0 = Val(Text10.Text)h0 = Val(Text11.Text)e1 = Val(Text12.Text)x100(0) = Val(Text7.Text) x110(0) = Val(Text8.Text)a1 = Val(Text1.Text): a2 = Val(Text2.Text): a3 = Val(Text3.Text): a4 = Val(Text4
3、.Text): a5 =Val(Text5.Text): a6 = Val(Text6.Text)e = Val(Text9.Text)k = 0m1: s100 = 1: s110 = 0'一维搜索求最优解h = h01 = 0xx1 = x100(k) + s100 * 1: xx2 = x110(k) + s110 * 1: yy1 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a62 = 0 + hxx1 = x100(k) + s100 * 2: xx2 = x110(k) + s110
4、* 2: yy2 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6If yy1 > yy2 Thenh = 2 * hElseh = -0.25 * h3 = 11 = 22 = 3yy3 = yy1yy1 = yy2yy2 = yy3End If3 = 0 + hxx1 = x100(k) + s100 * 3: xx2 = x110(k) + s110 * 3: yy3 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx
5、2 + a6Do While yy2 > yy3h = 2 * h1 = 2yy1 = yy22 = 3yy2 = yy33 = 0 + hxx1 = x100(k) + s100 * 3: xx2 = x110(k) + s110 * 3: yy3 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6LoopIf h > 0 Thena = 1ya = yy1b = 3yb = yy3Elsea = 3b = 1ya = yy3yb = yy1End If1 = a + 0.382 * (b -
6、 a)2 = a + 0.618 * (b - a)xx1 = x100(k) + s100 * 1: xx2 = x110(k) + s110 * 1: yy1 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6xx1 = x100(k) + s100 * 2: xx2 = x110(k) + s110 * 2: yy2 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6Do While Abs(b - a) >
7、 e1If yy1 < yy2 Thenn0 = 0b = 22 = 1yy2 = yy1Elsen0 = 1a = 11 = 2yy1 = yy2End IfIf n0 = 0 Then1 = a + 0.382 * (b - a)xx1 = x100(k) + s100 * 1: xx2 = x110(k) + s110 * 1: yy1 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6Else2 = a + 0.618 * (b - a)xx1 = x100(k) + s100 * 2: xx
8、2 = x110(k) + s110 * 2: yy2 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6End IfLoop1 = (a + b) / 2x200(k) = x100(k) + s100 * 1x210(k) = x110(k) + s110 * 1s200 = 0: s210 = 1'一维搜索求最优解h = h01 = 0xx1 = x200(k) + s200 * 1: xx2 = x210(k) + s210 * 1: yy1 = a1 * xx1 2 + a2 * xx2
9、2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a62 = 0 + hxx1 = x200(k) + s200 * 2: xx2 = x210(k) + s210 * 2: yy2 = a1 * xx1 2 + a2 * xx2 2 + a3 *xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6If yy1 > yy2 Thenh = 2 * hElseh = -0.25 * h3 = 11 = 22 = 3yy3 = yy1yy1 = yy2yy2 = yy3End If3 = 0 + hxx1 = x200(k) + s20
10、0 * 3: xx2 = x210(k) + s210 * 3: yy3 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6Do While yy2 > yy3h = 2 * h1 = 2yy1 = yy22 = 3yy2 = yy33 = 0 + hxx1 = x200(k) + s200 * 3: xx2 = x210(k) + s210 * 3: yy3 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6Lo
11、opIf h > 0 Thena = 1ya = yy1b = 3yb = yy3Elsea = 3b = 1ya = yy3yb = yy1End If1 = a + 0.382 * (b - a)2 = a + 0.618 * (b - a)xx1 = x200(k) + s200 * 1: xx2 = x210(k) + s210 * 1: yy1 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6xx1 = x200(k) + s200 * 2: xx2 = x210(k) + s210 *
12、2: yy2 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6Do While Abs(b - a) > e1If yy1 < yy2 Thenn0 = 0b = 22 = 1yy2 = yy1Elsen0 = 1a = 11 = 2yy1 = yy2End IfIf n0 = 0 Then1 = a + 0.382 * (b - a)xx1 = x200(k) + s200 * 1: xx2 = x210(k) + s210 * 1: yy1 = a1 * xx1 2 + a2 * xx2
13、2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6Else2 = a + 0.618 * (b - a)xx1 = x200(k) + s200 * 2: xx2 = x210(k) + s210 * 2: yy2 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6End IfLoop2 = (a + b) / 2x200(k + 1) = x200(k) + s200 * 2x210(k + 1) = x210(k) + s210 * 2xx1 = x200(k):
14、 xx2 = x210(k): f1 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6xx1 = x200(k + 1): xx2 = x210(k + 1): f2 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6If Abs(x200(k + 1) - x200(k) 2 + (x210(k + 1) - x210(k) 2) <= e And Abs(f2 - f1) / f2) <= e Thenxx1 = x200(k + 1): xx2 = x210(k + 1)fxx = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6Elsex1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于Spark的日志处理开发课程设计
- 智能广告强化学习开发课程设计
- Spark实时日志平台设计技巧课程设计
- 基于TLS实验安全防护设计课程设计
- 口腔炎的并发症预防
- 大数据处理实战进阶手册
- 餐具及厨具制作工岗前前瞻考核试卷含答案
- 神秘生物研究承诺书3篇
- 生产安全巡检及问题整改清单
- 飞机桨叶打磨抛光工岗前生产标准化考核试卷含答案
- 门诊常见传染病预防
- 2026年国家心理咨询师职业资格考试真题(含答案)
- 2026四川甘孜州巴塘县考调事业单位工作人员18人重点基础提升(共500题)附带答案详解
- 西门子阀门定位器中文说明书
- 围手术期液体管理
- 2026年广东深圳市高三二模高考语文试卷试题(含答案)
- 基层老年痴呆防治管理指南(2025版)
- 2026河南三支一扶考试押题
- 2026年沈阳水务集团有限公司校园招聘笔试备考试题及答案解析
- YY/T 1992-2025采用机器人技术的辅助手术设备总结性可用性测试方法
- 广东省2026届高三下学期普通高等学校招生全国统一考试模拟测试(一)地理试卷(含答案)
评论
0/150
提交评论