非线性最优化程序

环境系统工程vb编程:非线性最优化程序

(编写:矿大环工12-2班黄金07123097)

(仅供交流学习,请勿乱传;请大家自行练习)Dimx()AsSingle

Dimy()AsSingle

DimnAsInteger

DimaAsSingle

DimbAsSingle

DimcAsSingle

PublicSubForm_Load()

n=Val(InputBox("请输入数据组数"))

a=Val(InputBox("请输入模型参数Kd上限"))

b=Val(InputBox("请输入模型参数Kd下限"))

c=Val(InputBox("请输入迭代精度"))

EndSub

PrivateSubCommand1_Click()

Picture1.Print"模型参数Kd的取值范围为:["&a&","&b&"]"Picture1.Print"迭代精度为:"&Format(c,"0.#####")

DimiAsInteger

ReDimx(1Ton)AsSingle

Picture1.Print"时间T(d):"

Fori=1Ton

x(i)=Val(InputBox("请输入时间T(d)"))

Picture1.PrintSpc(2);Format(x(i),"0.00");

Nexti

Picture1.Print

EndSub

PrivateSubCommand2_Click()

DimiAsInteger

ReDimy(1Ton)AsSingle

Picture1.Print"浓度Y(mg/L):"

Fori=1Ton

y(i)=Val(InputBox("请输入浓度Y(mg/L)"))

Picture1.PrintSpc(2);Format(y(i),"0.000");

Nexti

Picture1.Print

EndSub

PrivateSubCommand3_Click()

Dimf()AsSingle

Dimh()AsSingle

DimdAsSingle

DimeAsSingle

DimzAsSingle

d=a+0.618*(b-a)

e=b-0.618*(b-a)

Dimi1AsInteger

ReDimf(1Ton)AsSingle

ReDimh(1Ton)AsSingle

Fori1=1Ton

f(i1)=(y(i1)-0.202*Exp((-d)*x(i1)))^2

h(i1)=(y(i1)-0.202*Exp((-e)*x(i1)))^2

Nexti1

Dimi2AsInteger

DimgAsSingle

DimjAsSingle

Fori2=1Ton

g=g+f(i2)

j=j+h(i2)

Nexti2

Do

IfAbs(b-a)

z=(b+a)/2

ExitDo

ElseIfg>jThen

b=d

d=e

g=j

e=b-0.618*(b-a)

i1=1

Fori1=1Ton

h(i1)=(y(i1)-0.202*Exp((-e)*x(i1)))^2

Nexti1

i2=1

j=0

Fori2=1Ton

j=j+h(i2)

Nexti2

ElseIfg=jThen

b=d

a=e

d=a+0.618*(b-a)

e=b-0.618*(b-a)

i1=1

Fori1=1Ton

f(i1)=(y(i1)-0.202*Exp((-d)*x(i1)))^2

h(i1)=(y(i1)-0.202*Exp((-e)*x(i1)))^2

Nexti1

i2=1

g=0

j=0

Fori2=1Ton

g=g+f(i2)

j=j+h(i2)

Nexti2

ElseIfg

a=e

e=d

j=g

d=a+0.618*(b-a)

i1=1

Fori1=1Ton

f(i1)=(y(i1)-0.202*Exp((-d)*x(i1)))^2

Nexti1

i2=1

g=0

Fori2=1Ton

g=g+f(i2)

Nexti2

EndIf

Loop

Picture1.Print"模型参数Kd为:";Format(z,"0.00")

Picture1.Print"模型为:"&"Y=0.202*exp(-"&Format(z,"0.00")&"T)"EndSub

环境系统工程vb编程:非线性最优化程序

(编写:矿大环工12-2班黄金07123097)

(仅供交流学习,请勿乱传;请大家自行练习)Dimx()AsSingle

Dimy()AsSingle

DimnAsInteger

DimaAsSingle

DimbAsSingle

DimcAsSingle

PublicSubForm_Load()

n=Val(InputBox("请输入数据组数"))

a=Val(InputBox("请输入模型参数Kd上限"))

b=Val(InputBox("请输入模型参数Kd下限"))

c=Val(InputBox("请输入迭代精度"))

EndSub

PrivateSubCommand1_Click()

Picture1.Print"模型参数Kd的取值范围为:["&a&","&b&"]"Picture1.Print"迭代精度为:"&Format(c,"0.#####")

DimiAsInteger

ReDimx(1Ton)AsSingle

Picture1.Print"时间T(d):"

Fori=1Ton

x(i)=Val(InputBox("请输入时间T(d)"))

Picture1.PrintSpc(2);Format(x(i),"0.00");

Nexti

Picture1.Print

EndSub

PrivateSubCommand2_Click()

DimiAsInteger

ReDimy(1Ton)AsSingle

Picture1.Print"浓度Y(mg/L):"

Fori=1Ton

y(i)=Val(InputBox("请输入浓度Y(mg/L)"))

Picture1.PrintSpc(2);Format(y(i),"0.000");

Nexti

Picture1.Print

EndSub

PrivateSubCommand3_Click()

Dimf()AsSingle

Dimh()AsSingle

DimdAsSingle

DimeAsSingle

DimzAsSingle

d=a+0.618*(b-a)

e=b-0.618*(b-a)

Dimi1AsInteger

ReDimf(1Ton)AsSingle

ReDimh(1Ton)AsSingle

Fori1=1Ton

f(i1)=(y(i1)-0.202*Exp((-d)*x(i1)))^2

h(i1)=(y(i1)-0.202*Exp((-e)*x(i1)))^2

Nexti1

Dimi2AsInteger

DimgAsSingle

DimjAsSingle

Fori2=1Ton

g=g+f(i2)

j=j+h(i2)

Nexti2

Do

IfAbs(b-a)

z=(b+a)/2

ExitDo

ElseIfg>jThen

b=d

d=e

g=j

e=b-0.618*(b-a)

i1=1

Fori1=1Ton

h(i1)=(y(i1)-0.202*Exp((-e)*x(i1)))^2

Nexti1

i2=1

j=0

Fori2=1Ton

j=j+h(i2)

Nexti2

ElseIfg=jThen

b=d

a=e

d=a+0.618*(b-a)

e=b-0.618*(b-a)

i1=1

Fori1=1Ton

f(i1)=(y(i1)-0.202*Exp((-d)*x(i1)))^2

h(i1)=(y(i1)-0.202*Exp((-e)*x(i1)))^2

Nexti1

i2=1

g=0

j=0

Fori2=1Ton

g=g+f(i2)

j=j+h(i2)

Nexti2

ElseIfg

a=e

e=d

j=g

d=a+0.618*(b-a)

i1=1

Fori1=1Ton

f(i1)=(y(i1)-0.202*Exp((-d)*x(i1)))^2

Nexti1

i2=1

g=0

Fori2=1Ton

g=g+f(i2)

Nexti2

EndIf

Loop

Picture1.Print"模型参数Kd为:";Format(z,"0.00")

Picture1.Print"模型为:"&"Y=0.202*exp(-"&Format(z,"0.00")&"T)"EndSub


相关内容

  • 用最速下降法求解无约束非线性规划问题
  • 运 筹 学 实 习 报 告 姓 名: xxxxxxxxxx 学 号: xxxxxxxxxxx 专业班级: xxxxxxxxxxxx 2 0 1 3年 7 月 0 4 日 题目:用最速下降法求解无约束非线性规划问题 摘要: 无约束最优化问题的求解方法分为解析法和直接法两大类.解析法需要计 算函数的梯度 ...

  • 用MATLAB求解非线性优化问题
  • 实验十五 用MATLAB求解非线性优化问题 一.实验目的: 了解Matlab的优化工具箱,利用Matlab求解非线性优化问题. 二.相关知识 非线性优化包括相当丰富的内容,我们这里就Matlab提供的一些函数来介绍相关函数的用法及其所能解决的问题. (一)非线性一元函数的最小值 Matlab命令为f ...

  • 建筑结构优化及应用
  • 内容简介 本书用了较大篇幅介绍了目前常用的结构优化软件,每一个优化软件均进行了实例应用.全书共9章,主要介绍了结构优化准则法.无约束最优化方法.线性规划.非线性规划.几何规划和动态规划.拓扑优化.钢筋混凝土框架优化设计和高层建筑结构抗侧刚度的优化.本书后面的附录中还给出了钢筋混凝土框架优化设计的核心 ...

  • MATLAB与建筑结构分析(前言建筑技术开发)
  • 第30卷第2期2003年2月 建 筑 技 术 开 发 BuildingTechniqueDevelopment Vol.30,No.2 Feb.2003 技术开发报道 MATLAB与建筑结构分析 卢林枫 解 琦 曾 珂 1 2 1 (11西安建筑科技大学土木工程学院,西安710055;21西安高科( ...

  • BFGS和DFP法的最优化问题求解及在MATLAB中的实现
  • 第26卷第5期2012年9月长沙大学学报 JOURNALOFCHANGSHAUNIVERSITYVol.26No.5Sep.2012 BFGS和DFP法的最优化问题求解 及在MATLAB中的实现 * 吴顺秋 (湖南城市学院数学与计算科学学院,湖南益阳413000) 摘 要:对拟Newton方法中的D ...

  • 建筑工程结构分析软件
  • 建筑工程结构分析软件 [一]大型有限元分析软件 1.ANSYS 中文官网: 市面上最多用户CAE 软件--ANSYS 已发展了很多版本, 其实它们核心的计算部分变化不大,只是模块越来越多.比如5.1没有lsdyna ,和cad 软件的接口,到了5.6还有疲劳模块等等.其实这些模块并不是ANSYS 公 ...

  • 有限元分析方法
  • 第1章 有限元分析方法及NX Nastran的由来 1.1 有限元分析方法介绍 计算机软硬件技术的迅猛发展,给工程分析.科学研究以至人类社会带来急剧的革命性变化,数值模拟即为这一技术革命在工程分析.设计和科学研究中的具体表现.数值模拟技术通过汲取当今计算数学.力学.计算机图形学和计算机硬件发展的最新 ...

  • 一文弄清深度学习.TensorFlow和张量之间的关系
  • 播放GIF 图:pixabay 「机器人圈导览」关于深度学习系统,大家或多或少都有一些了解,可是你知道吗?我们今天所用的许多深度学习系统都是基于张量代数的,比如谷歌的TensorFlow,但是张量代数与深度学习的关系到底如何?本文作者是Ted Dunning,MapR Technologies的首席 ...

  • 线性规划在现实生活中的应用
  • 线性规划在现实生活中的应用 [1**********]崔钊 [1**********]王源 [1**********]万成 (电子信息工程四区队) [摘要]:线性规划是运筹学中一种最常用的方法.线性规划在科学决策与经营管理中实效 明显, 但是对于规模较大的线性规划模型, 其求解过程非常烦琐, 不易得 ...