CVXPY 转子平衡问题的约束
Constraints for Rotor Balancing Problem with CVXPY
我是一名机械工程师,数学背景很浅。我很想使用 CVXPY 编写有关转子平衡问题的简单代码。令人惊讶的是它的工作方式如此简单和强大。我的问题如下:
获取矩阵 ALPHA(M,N)
和 A(M,1)
的用户输入后
W=cvxpy.Variable((N,1),complex=True)
objective2=cvxpy.Minimize(cvxpy.norm((ALPHA*W+A),"inf"))
prob2.solve()
W 很复杂,因为它 returns 平衡转子的每个 N
平面的重量和角度。
我的问题是如何对 W
施加约束。例如,如何确保 W
小于每个 N
平面的特定值?
在获得约束质量矩阵的用户输入后 wc(N,1)
以下代码似乎可以解决问题:
const=[]
const += [cp.norm(W2[i])<=wc[i]for i in range (N) ]
prob3=cp.Problem(objective2,const)
prob3.solve()
我是一名机械工程师,数学背景很浅。我很想使用 CVXPY 编写有关转子平衡问题的简单代码。令人惊讶的是它的工作方式如此简单和强大。我的问题如下:
获取矩阵 ALPHA(M,N)
和 A(M,1)
W=cvxpy.Variable((N,1),complex=True)
objective2=cvxpy.Minimize(cvxpy.norm((ALPHA*W+A),"inf"))
prob2.solve()
W 很复杂,因为它 returns 平衡转子的每个 N
平面的重量和角度。
我的问题是如何对 W
施加约束。例如,如何确保 W
小于每个 N
平面的特定值?
在获得约束质量矩阵的用户输入后 wc(N,1)
以下代码似乎可以解决问题:
const=[]
const += [cp.norm(W2[i])<=wc[i]for i in range (N) ]
prob3=cp.Problem(objective2,const)
prob3.solve()