在此 python 代码中,未显示结果图
In this python code, the result plot is not being shown
这是我的 python 代码,我不知道如何让它正常工作!
我想通过子图在 2 行中绘制 2 个图。
这就是它所说的:------------>
发生异常:AttributeError
'AxesSubplot' 对象没有属性 'show'
文件“E:# Civil Engineering Undergraduate\Projects\Python\NUMPY_1\import numpy as np.py”,第 28 行,在
pp1.show()
import numpy as np
import matplotlib.pyplot as plt
kesai=0.0
k=2*541*3*29000/(16*12)**3+597*3*29000/(20*12)**3
w=30
m=w/386.4
Wn=(k/m)**0.5
Wd=Wn*(1-kesai**2)**0.5
pi=3.141592654
Tp=2
P0=20
n=5
nn=1000
Omeg=2*pi/Tp
t=np.linspace(0,10,nn)
dt=t[1]-t[0]
Pt=P0*np.cos(t*Omeg)/np.abs(np.cos(t*Omeg))
pp1=plt.subplot(2,1,1)
pp1.plot(t,Pt,'r')
f=0
for i in range(1,n+1):
an=(2*P0)/(i*Omeg*Tp)*(np.sin(i*Omeg*(Tp/4))-np.sin(i*Omeg*(3*Tp/4))+\
np.sin(i*Omeg*(Tp/4))+np.sin(i*Omeg*(Tp))-np.sin(i*Omeg*(3*Tp/4)))
print('Pt=',an,'cos(',i,'*',Omeg,'*t)')
f=f+an*np.cos(i*Omeg*t)
pp1.plot(t,f,'k')
pp1.title:'External Load'
#pp1.show()
c1=Pt*np.exp(kesai*Wn*t)*np.cos(Wd*t)
c1=0.5*dt*(c1[0:nn-1]+c1[1:nn])
A=np.exp(-kesai*Wn*t)*np.sin(Wd*t)
c2=Pt*np.exp(kesai*Wn*t)*np.sin(Wd*t)
c2=0.5*dt*(c2[0:nn-1]+c2[1:nn])
B=np.exp(-kesai*Wn*t)*np.cos(Wd*t)
U=c1*A[0:nn-1]+c2*B[0:nn-1]
pp2=plt.subplot(2,1,2)
pp2.plot(t[0:nn-1],U)
pp2.title:'Response'
#pp2.show()
感谢帮助
最后改为:
plt.show()
这是我的 python 代码,我不知道如何让它正常工作! 我想通过子图在 2 行中绘制 2 个图。 这就是它所说的:------------> 发生异常:AttributeError 'AxesSubplot' 对象没有属性 'show' 文件“E:# Civil Engineering Undergraduate\Projects\Python\NUMPY_1\import numpy as np.py”,第 28 行,在 pp1.show()
import numpy as np
import matplotlib.pyplot as plt
kesai=0.0
k=2*541*3*29000/(16*12)**3+597*3*29000/(20*12)**3
w=30
m=w/386.4
Wn=(k/m)**0.5
Wd=Wn*(1-kesai**2)**0.5
pi=3.141592654
Tp=2
P0=20
n=5
nn=1000
Omeg=2*pi/Tp
t=np.linspace(0,10,nn)
dt=t[1]-t[0]
Pt=P0*np.cos(t*Omeg)/np.abs(np.cos(t*Omeg))
pp1=plt.subplot(2,1,1)
pp1.plot(t,Pt,'r')
f=0
for i in range(1,n+1):
an=(2*P0)/(i*Omeg*Tp)*(np.sin(i*Omeg*(Tp/4))-np.sin(i*Omeg*(3*Tp/4))+\
np.sin(i*Omeg*(Tp/4))+np.sin(i*Omeg*(Tp))-np.sin(i*Omeg*(3*Tp/4)))
print('Pt=',an,'cos(',i,'*',Omeg,'*t)')
f=f+an*np.cos(i*Omeg*t)
pp1.plot(t,f,'k')
pp1.title:'External Load'
#pp1.show()
c1=Pt*np.exp(kesai*Wn*t)*np.cos(Wd*t)
c1=0.5*dt*(c1[0:nn-1]+c1[1:nn])
A=np.exp(-kesai*Wn*t)*np.sin(Wd*t)
c2=Pt*np.exp(kesai*Wn*t)*np.sin(Wd*t)
c2=0.5*dt*(c2[0:nn-1]+c2[1:nn])
B=np.exp(-kesai*Wn*t)*np.cos(Wd*t)
U=c1*A[0:nn-1]+c2*B[0:nn-1]
pp2=plt.subplot(2,1,2)
pp2.plot(t[0:nn-1],U)
pp2.title:'Response'
#pp2.show()
感谢帮助
最后改为:
plt.show()