我画了两条线:一组实验数据点和一个数学模型。我得到的实验数据绘制如预期,但数学模型不会绘制一条线(只有符号)。此外,我得到了重复的传说,尽管尝试了一些我在网站上看到的建议,我没有得到工作(可能我没有正确执行它)
import numpy as np
from sympy import *
from sympy import Matrix
import matplotlib.pyplot as plt
Stretch = [0.998122066, 1.0157277, 1.034507042, 1.052112676, 1.06971831, 1.088497653, 1.106103286, 1.12370892, 1.143661972, 1.160093897, 1.178873239, 1.196478873, 1.214084507, 1.23286385, 1.249295775, 1.266901408, 1.28685446, 1.303286385, 1.322065728, 1.339671362, 1.357276995, 1.374882629, 1.393661972, 1.411267606, 1.430046948, 1.447652582, 1.464084507, 1.48286385, 1.500469484, 1.518075117, 1.535680751, 1.554460094, 1.572065728, 1.59084507, 1.608450704, 1.626056338, 1.643661972, 1.661267606, 1.680046948, 1.697652582, 1.715258216, 1.734037559, 1.751643192, 1.770422535, 1.78685446, 1.805633803, 1.824413146, 1.844366197, 1.860798122, 1.878403756, 1.894835681, 1.912441315, 1.930046948, 1.948826291, 1.967605634, 1.985211268, 2.00399061, 2.021596244, 2.038028169, 2.057981221, 2.075586854, 2.092018779, 2.110798122, 2.128403756, 2.147183099, 2.165962441, 2.183568075, 2.201173709, 2.218779343, 2.237558685, 2.255164319, 2.272769953, 2.291549296, 2.307981221, 2.326760563, 2.344366197, 2.361971831, 2.380751174, 2.398356808, 2.415962441, 2.434741784, 2.452347418, 2.469953052, 2.488732394, 2.505164319]
Stress = [0.010526316, 0.010549481, 0.01188998, 0.011913146, 0.012594206, 0.012618915, 0.013299975, 0.013323141, 0.014665184, 0.0153447, 0.016027304, 0.016708364, 0.017389424, 0.018729923, 0.018751544, 0.019432604, 0.019458858, 0.019480479, 0.020163084, 0.020844144, 0.020867309, 0.021548369, 0.022230974, 0.022254139, 0.022278849, 0.023617803, 0.024297319, 0.024979923, 0.025660983, 0.026999938, 0.027023104, 0.027705708, 0.029044663, 0.029069372, 0.030408327, 0.031747282, 0.033086237, 0.034425191, 0.035107796, 0.036446751, 0.037785705, 0.039784099, 0.041123054, 0.042463553, 0.044458858, 0.046457252, 0.048455646, 0.051113479, 0.053108784, 0.055763529, 0.059074623, 0.061729367, 0.065042006, 0.069014085, 0.072986163, 0.077614591, 0.081586669, 0.086872992, 0.092815666, 0.099420867, 0.106680875, 0.114597233, 0.123174574, 0.132408265, 0.142301396, 0.152852422, 0.164059797, 0.177240857, 0.191079812, 0.206236101, 0.22073295, 0.238519274, 0.256307141, 0.273434025, 0.293195577, 0.314929269, 0.335347171, 0.357740301, 0.382105572, 0.406470843, 0.434785026, 0.461123981, 0.488778725, 0.516435014, 0.544088213]
c= [6.11739377e+00, 4.78409591e-04]
plt.show()
for o, d in zip (Stress, Stretch):
d1 = d2 = d
d3 = 1/(d1*d2)
d3 = 1/(d1*d2)
C11 = d1**2
C22 = d2**2
C33 = d3**2
p = 4*(c[1]/c[0])*(d3**(c[0]-2))
S11 = -p/C11 + 4*C11*(c[1]/c[0])*(d1**(c[0]-2))
S22 = -p/C22 + 4*C22*(c[1]/c[0])*(d2**(c[0]-2))
T112 = (d1*S11)/(d2*d3)
T222 = (d2*S22)/(d1*d3)
plt.plot(d, T112, 'g--^', label = 'Model')
plt.plot(Stretch, Stress, 'b-o', label = 'Experimental')
plt.subplots_adjust(left=0.15)
plt.grid(True)
plt.ylabel('Stress')
plt.xlabel('Applied Stretch')
plt.title('Stress as a Function of Applied Stretch')
plt.legend()
plt.show()
plt.plot不应包含在单个数据的循环中,因为它使用2个列表或2个数组。作为第一步,我为您的模型数据创建了2个列表,然后我可以绘制它:
相关问题 更多 >
编程相关推荐