Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. from __future__ import division
  2. import networkx as nx
  3. import matplotlib.pyplot as plt
  4. import numpy as np
  5. from numpy.linalg import inv
  6.  
  7. G = nx.Graph()
  8.  
  9. pos={1:(2,3),2:(0,0),3:(6,0)}
  10. G.add_nodes_from(pos.keys())
  11. nx.set_node_attributes(G, 'coord', pos)
  12.  
  13. PE={1:0,2:60,3:40}
  14. nx.set_node_attributes(G,'PE',PE)
  15. q={1:100,2:0,3:0}
  16. nx.set_node_attributes(G,'q',q)
  17.  
  18. G.add_edge(1,2)
  19. G.add_edge(1,3)
  20. G.add_edge(2,3)
  21.  
  22. import math
  23. lengths={}
  24. inv_lengths={}
  25. for edge in G.edges():
  26. startnode=edge[0]
  27. endnode=edge[1]
  28. lengths[edge]=round(math.sqrt(((pos[endnode][1]-pos[startnode][1])**2)+
  29. ((pos[endnode][0]-pos[startnode][0])**2)),2)
  30. inv_lengths[edge]=round(1/lengths[edge],3)
  31. nx.set_edge_attributes(G, 'length', lengths)
  32. nx.set_edge_attributes(G, 'inv_length', inv_lengths)
  33. nx.draw(G,pos,node_size=1000,node_color='r',with_labels=True)
  34. nx.draw_networkx_edge_labels(G,pos,edge_labels=flow)
  35. plt.show()
  36.  
  37. b=[]
  38. for i,v in enumerate(PE.values()):
  39. b.append(v)
  40. res2=np.dot(a,b) #No inverse is required: x=ab
  41. res2=[round(item,3) for sublist in res2.tolist() for item in sublist]
  42. print res2
  43.  
  44. #res=[-24.62, 19.96, 4.66]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement