x1=x0+px21=x1+x0x2=x21

 包含变量的矩阵方程 随笔 第1张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

p=1.2

 1 from gekko import GEKKO
 2 m=GEKKO()
 3 p=m.Param(1.2)
 4 x=m.Array(m.Var,3)
 5 eq0 = x[1]==x[0]+p
 6 eq1 = x[2]-1==x[1]+x[0]
 7 m.Equation(x[2]==x[1]**2)
 8 m.Equations([eq0,eq1])
 9 m.solve()
10 for i in range(3):
11    print('x['+str(i)+']='+str(x[i].value))

还可以做一些修改

包含变量的矩阵方程 随笔 第2张
 1 from gekko import GEKKO
 2 m=GEKKO()
 3 p=m.Param(1.2)
 4 x=m.Array(m.Var,3)
 5 eq0 = x[1]==x[0]+p
 6 eq1 = x[2]-1==x[1]+x[0]
 7 eq2 = x[2]==x[1]**2 #m.Equation(x[2]==x[1]**2)
 8 m.Equations([eq0,eq1,eq2])
 9 m.solve(disp=False)
10 for i in range(3):
11    print('x['+str(i)+']='+str(x[i].value))
View Code

变量表示方法还可以修改为

包含变量的矩阵方程 随笔 第4张
 1 from gekko import GEKKO
 2 m=GEKKO()
 3 p=m.Param(1.2)
 4 x0,x1,x2=[m.Var() for i in range(3)]
 5 eq0 = x1==x0+p
 6 eq1 = x2-1==x1+x0
 7 eq2 = x2==x1**2 
 8 m.Equations([eq0,eq1,eq2])
 9 m.solve(disp=False)
10 
11 print('x0='+str(x0.value))
12 print('x1='+str(x1.value))
13 print('x2='+str(x2.value))
View Code

每一个方程还可以单独用Equation表示

包含变量的矩阵方程 随笔 第6张
 1 from gekko import GEKKO
 2 m=GEKKO()
 3 p=m.Param(1.2)
 4 x0,x1,x2=[m.Var() for i in range(3)]
 5 m.Equation (x1==x0+p)
 6 m.Equation (x2-1==x1+x0)
 7 m.Equation (x2==x1**2)
 8 m.solve(disp=False)
 9 
10 print('x0='+str(x0.value))
11 print('x1='+str(x1.value))
12 print('x2='+str(x2.value))
View Code

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄