在 Python 中绘制图形
Plot graph in Python
将 numpy 导入为 np
导入 pandas 作为 pd
将 matplotlib.pyplot 导入为 plt
'''
K=1
Rmv = 26
SigS = 111.7
M = 2.050
N = 2
SigD = (-249.4)
def Mittelspannung():
result = []
Z = []
SigM = []
for i in range(1,31):
output = 1 - pow((((i-1)*1/14.5)-1),2)
result.append(output)
#print(output)
for value in range(0,15):
C4 = (Rmv) - (result[value]) * (Rmv)
Z.append(C4)
print(C4)
for value in range(15,30):
B11 = (SigD) - (result[value]) * (SigD)
Z.append(B11)
print(B11)
for x in range(0,30):
SigMean = ((SigS**M * (1-(Z[x] + SigS)**N/(Rmv + SigS)**N))**(1/M)) / K
SigM.append(SigMean)
return SigM
打印(Mittelspannung())
'''
我正在尝试绘制 'Z' 和 'SigM' 之间的图表。我收到一个错误。谁能帮忙画一下图。
您应该创建一个列表 Z
,您将在其中附加每次迭代计算的 Z 值,如下所示:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
K = 1
Rmv = 26
SigS = 111.7
M = 2.050
N = 2
SigD = (-249.4)
def Mittelspannung():
result = []
Y = []
SigM = []
Z = []
for i in range(1,31):
output = 1 - pow((((i-1)*1/14.5)-1),2)
Z.append(Rmv - (output*Rmv))
result.append(output)
for value in range(0,15):
C4 = (Rmv) - (result[value]) * (Rmv)
Y.append(C4)
for value in range(15,30):
B11 = (SigD) - (result[value]) * (SigD)
Y.append(B11)
for x in range(0,30):
SigMean = ((SigS**M * (1-(Z[x] + SigS)**N/(Rmv + SigS)**N))**(1/M)) / K
SigM.append(SigMean)
return Z, SigM
Z, SigM = Mittelspannung()
plt.figure()
plt.plot(Z, SigM)
您没有在函数调用中定义 Z。根据您使用的工具,您应该能够在错误消息中看到类似“Z is being used before initializing”之类的内容。
Z, SigM = Mittelspannung()
plt.figure()
plt.plot(Z, SigM)
此代码将向您显示错误
#error
----> 1 Z, SigM = Mittelspannung()
2 plt.figure()
3 plt.plot(Z, SigM)
ValueError: too many values to unpack (expected 2)
// 试试这个
SigM = Mittelspannung()
plt.figure()
plt.plot(SigM)
将 numpy 导入为 np
导入 pandas 作为 pd
将 matplotlib.pyplot 导入为 plt
'''
K=1
Rmv = 26
SigS = 111.7
M = 2.050
N = 2
SigD = (-249.4)
def Mittelspannung():
result = []
Z = []
SigM = []
for i in range(1,31):
output = 1 - pow((((i-1)*1/14.5)-1),2)
result.append(output)
#print(output)
for value in range(0,15):
C4 = (Rmv) - (result[value]) * (Rmv)
Z.append(C4)
print(C4)
for value in range(15,30):
B11 = (SigD) - (result[value]) * (SigD)
Z.append(B11)
print(B11)
for x in range(0,30):
SigMean = ((SigS**M * (1-(Z[x] + SigS)**N/(Rmv + SigS)**N))**(1/M)) / K
SigM.append(SigMean)
return SigM
打印(Mittelspannung())
'''
我正在尝试绘制 'Z' 和 'SigM' 之间的图表。我收到一个错误。谁能帮忙画一下图。
您应该创建一个列表 Z
,您将在其中附加每次迭代计算的 Z 值,如下所示:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
K = 1
Rmv = 26
SigS = 111.7
M = 2.050
N = 2
SigD = (-249.4)
def Mittelspannung():
result = []
Y = []
SigM = []
Z = []
for i in range(1,31):
output = 1 - pow((((i-1)*1/14.5)-1),2)
Z.append(Rmv - (output*Rmv))
result.append(output)
for value in range(0,15):
C4 = (Rmv) - (result[value]) * (Rmv)
Y.append(C4)
for value in range(15,30):
B11 = (SigD) - (result[value]) * (SigD)
Y.append(B11)
for x in range(0,30):
SigMean = ((SigS**M * (1-(Z[x] + SigS)**N/(Rmv + SigS)**N))**(1/M)) / K
SigM.append(SigMean)
return Z, SigM
Z, SigM = Mittelspannung()
plt.figure()
plt.plot(Z, SigM)
您没有在函数调用中定义 Z。根据您使用的工具,您应该能够在错误消息中看到类似“Z is being used before initializing”之类的内容。
Z, SigM = Mittelspannung()
plt.figure()
plt.plot(Z, SigM)
此代码将向您显示错误
#error
----> 1 Z, SigM = Mittelspannung()
2 plt.figure()
3 plt.plot(Z, SigM)
ValueError: too many values to unpack (expected 2)
// 试试这个
SigM = Mittelspannung()
plt.figure()
plt.plot(SigM)