计算机化工应用超越方程求解.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机化工应用 第二讲 华南理工大学化学与化工学院方利国 问题1—线性方程组求解策略 方法一 利用主元最大高斯消去法,只要有解,就一定可以计算出来,参考光盘第3章程序,输入对应参数即可。 Private Sub Command1_Click() Dim i, j, m, n As Integer Dim a(), z(), x(), w, aa(), s, t, k, l n = InputBox(n) ReDim a(n + 2, 2 * n), z(n + 2, 2 * n), x(n + 1), aa(n + 2, 2 * n) For i = 1 To n For j = 1 To n + 1 a(i, j) = InputBox(输入系数矩阵A( i , j )) Next j Next I For i = 1 To n If i = n Then GoTo 200 For t = i + 1 To n If Abs(a(i, i)) Abs(a(t, i)) Then For s = i To n + 1 aa(t, s) = a(i, s) a(i, s) = a(t, s) a(t, s) = aa(t, s) Next s Else End If Next t 200 w = a(i, i) For j = 1 To n + 1 a(i, j) = a(i, j) / w Next j If i = n Then GoTo 100 For j = i + 1 To n For k = i + 1 To n + 1 z(i, k) = a(i, k) * a(j, i) a(j, k) = a(j, k) - z(i, k) Next k Next j Next i 100 x(n + 1) = 0 For k = n To 1 Step -1 s = 0 For j = k + 1 To n s = s + a(k, j) * x(j) Next j x(k) = a(k, n + 1) - s Print x(; k; )=; x(k) Next k End Sub 具体应用 运行光盘中的程序,按提示输入4;1,2,3,4,10;3,4,2,1,10;2,1,5,2,10;6,1,2,1,10。系统计算得到: x1=1,x2=1,x3=1,x4=1。 方法2- excel 规划求解 L4=$B$14*B4+$C$14*C4+$D$14*D4 +$E$14*E4+$F$14*F4+$G$14*G4 +$H$14*H4+$I$14*I4+$J$14*J4+$K$14*K4 规划求解器求解线性方程组 方法3-matlab求解 mat lab的命令窗口输入以下命令: a=[1 2 3 4 ;3 4 2 1 ;2 1 5 2 ;6 1 2 1]; b=[10 10 10 10]; x=a\b 或x=inv(a)*b 计算机输出以下结果: x = 1.0000 1.0000 1.0000 1.0000 问题2 非线性方程求解 对于非线性方程或方程组的求解方法和线性方程组求解一样,也有各种迭代方法,如直接迭代、松弛迭代,同时由于非线性方程还可以利用方程本身的信息,延伸出各种加速迭代的方法,如牛顿(newton)迭代、布罗伊登(broyden)迭代、割线(secant)迭代、韦格斯坦(wegsten)迭代。这些迭代法既是非线性方程(组)的求解方法,其实也是大型化工流程模拟时的收敛策略,读者在使用aspen plus 等软件模拟时,如果使用软件默认的收敛策略无法收敛时,可以考虑改变收敛方法。 方法1—二分法 实际问题求解 Dim a2, a3, a4, a5, b2, b3, b5, bv As Double Dim c2, c3, c5, tc, t, p As Double Private Sub Command1_Click() Dim a, b, x, x1, x2, y, k, y1, y2 As Double a2 = -4391473.1 a3 =

文档评论(0)

kbook + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档