小编ccc*_*ccc的帖子

Networkx:为给定的一组节点创建一个完整的图

我有一个列表作为c4_leaves = [56,78,90,112]. 我正在尝试使用这些元素c4_leaves作为节点创建一个完整的图形。这是我尝试过的;

    V_ex = c4_leaves
    G_ex = nx.Graph() 
    G_ex.add_nodes_from(V_ex)
    G_ex = nx.complete_graph(4)


    for u,v in G_ex.edges():
        G_ex[u][v]['distance'] = distance(points33, u, v)
Run Code Online (Sandbox Code Playgroud)

然后上图的最小生成树为:

 T_ex= nx.minimum_spanning_tree(G_ex, weight='distance')
 F_ex = list(T_ex.edges())
Run Code Online (Sandbox Code Playgroud)

当我绘制时G_ex,它给了我正确的图形,但是当我打印最小生成树的详细信息时,它显示T_ex.nodes() = [0,1,2,3,56,78,90,112].

有人可以告诉我我正在做的错误吗?

graph minimum-spanning-tree networkx python-3.x

5
推荐指数
2
解决办法
3088
查看次数

Julia编程 - 从集合中的索引创建元组

我有一套S = {1,2,3}.我正在尝试创建一个形式(i,j,1)的元组,其中i和j是S的元素.当S = {1,2,3}时,我的元组(比如说E)应该是{ (1,2,1),(2,1,1),(1,3,1),(3,1,1),(3,2,1),(2,3,1)}.我尝试了以下方式.

    for i in S
      for j in S
        E = Set()
        E = [(i,j,1),(j,i,1), i!=j]
        print(E)
      end
    end
Run Code Online (Sandbox Code Playgroud)

但它没有给我所需的结果.我得到的是

任何[(2,2,1),(2,2,1),假]任何[(2,3,1),(3,2,1),真]任何[(2,1,1), (1,2,1),真]任何[(3,2,1),(2,3,1),真]任何[(3,3,1),(3,3,1),假]任何[(3,1,1),(1,3,1),真]任何[(1,2,1),(2,1,1),真]任何[(1,3,1), (3,1,1),真]任何[(1,1,1),(1,1,1),假]

有人可以帮助我获得所需的结果吗?

tuples julia

4
推荐指数
1
解决办法
177
查看次数

打印约束 Gurobi Python

我在 Python 中使用 Gurobi,对于给定的集合,S我添加了如下约束:

for i in S:
  m.addConstr(quicksum(x[i,j] for j in (set(V) - set(S))) >= 2)
Run Code Online (Sandbox Code Playgroud)

我想在屏幕上S打印集合的每个值的这些约束。V例如,如果S={1,3,4}V= {1,2,3,4,5,6},那么,我的约束将是x[1,2]+x[1,5]+x[1,6]+x[3,2]+x[3,5]+x[3,6]+x[4,2]+x[4,5]+x[4,6]>=2 我希望将此约束预打印在屏幕上。有人可以帮我做吗?

python constraints python-3.x gurobi

4
推荐指数
1
解决办法
1万
查看次数

为平面上的给定两点创建等边三角形 - Python

我有两个点X = (x1,y1)Y=(x2,y2)在笛卡尔平面上。我需要找到第三个点Z = (x,y),使这三个点形成一个等边三角形。

我使用以下代码示例计算两点之间的欧几里德距离:

def distance(points, i, j):
dx = points[i][0] - points[j][0]
dy = points[i][1] - points[j][1]
return math.sqrt(dx*dx + dy*dy)
Run Code Online (Sandbox Code Playgroud)

理论上,我需要使XZYZ的距离相等XY。这给了我们两个可能的答案,我也需要它们。Z但我在代码中启动这一点时遇到困难。有人可以帮我解决这个问题吗?以下是我尝试过的示例。

L = [0, 6]  #known two points
d= distance(points, L[0], L[1])
x = Symbol('x')
y = Symbol('y')
newpoint = x,y   #coordintes of the third point of the triangle
f1 = distance(points, L[0], newpoint)
f2 = distance(points, L[1], newpoint)
print(nsolve((f1, f2), (x, …
Run Code Online (Sandbox Code Playgroud)

euclidean-distance python-3.x

3
推荐指数
1
解决办法
2888
查看次数

list index超出范围 - 带有一个元素的Python列表

我有一个只有一个元素的列表:

tempeqpos2 = [600]
Run Code Online (Sandbox Code Playgroud)

它的坐标存储在一个名为points3如下的列表中:

points3 = [(1795,3866)]
Run Code Online (Sandbox Code Playgroud)

现在我试图将此坐标附加到一个名为originalval2如下的列表中:

 originalval2=[]
 for att in tempeqpos2:  
     originalval2.append(list(points3[att]))
Run Code Online (Sandbox Code Playgroud)

但这给了我一个IndexError: list index out of range.你能在这里找出问题吗?

由于每个tempeqpos2points3只有一个元素,我试图使originalval2通过给 originalval2=points3.但这没效果......

python list append

1
推荐指数
1
解决办法
533
查看次数