python 数学公式_用python编写数学公式

1586010002-jmsa.png

This is the value I want to calculate.

I am writing it as follows, here i is the imaginary number.I am using python and networkx.Can someone help.

import math

import matplotlib

matplotlib.use('TkAgg')

from pylab import *

import cmath

import networkx as nx

import random as rd

import numpy as np

g=nx.karate_club_graph()

for i in g.nodes_iter():

g.node[i]['theta']=1

a=abs((cmath.exp( (g.node[i]['theta']*(1j)) for i in g.nodes_iter()))/g.number_of_nodes())

The error output that I get is:

"""File "", line 1, in

runfile('C:/Users/Bhawesh/Desktop/workingdirectory/bookpractice.py', wdir='C:/Users/Bhawesh/Desktop/workingdirectory')

File "C:\Users\Bhawesh\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile

execfile(filename, namespace)

File "C:\Users\Bhawesh\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 87, in execfile

exec(compile(scripttext, filename, 'exec'), glob, loc)

File "C:/Users/Bhawesh/Desktop/workingdirectory/bookpractice.py", line 18, in

b=abs((cmath.exp( (g.node[i]['theta']*(1j)) for i in g.nodes_iter()))/g.number_of_nodes())

TypeError: a float is required """

解决方案

Python's sqrt operation doesn't support negative integers. However, numpy works with complex numbers. The imaginary number $i$ is given by 1j in Python. So you will have to convert your equation to:

a=abs((np.exp( (g.node[i]['theta']*(1j)) for i in g.nodes_iter()))/g.number_of_nodes())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值