包含变量的矩阵方程

x1=x0+px21=x1+x0x2=x21

 

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))
复制代码

还可以做一些修改

复制代码
 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
复制代码

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

复制代码
 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表示

复制代码
 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
复制代码

 

posted @   华小电  阅读(416)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示