最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用python求解物理學(xué)中的雙彈簧質(zhì)能系統(tǒng)詳解

 更新時(shí)間:2017年09月29日 11:33:50   作者:caimouse  
這篇文章主要給大家介紹了關(guān)于利用python如何求解物理學(xué)中的雙彈簧質(zhì)能系統(tǒng)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

本文主要給大家介紹了關(guān)于利用python求解物理學(xué)中雙彈簧質(zhì)能系統(tǒng)的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧。

物理的模型如下:

在這個(gè)系統(tǒng)里有兩個(gè)物體,它們的質(zhì)量分別是m1和m2,被兩個(gè)彈簧連接在一起,伸縮系統(tǒng)為k1和k2,左端固定。假定沒有外力時(shí),兩個(gè)彈簧的長度為L1和L2。

由于兩物體有重力,那么在平面上形成摩擦力,那么摩擦系數(shù)分別為b1和b2。所以可以把微分方程寫成這樣:

這是一個(gè)二階的微分方程,為了使用python來求解,需要把它轉(zhuǎn)換為一階微分方程。所以引入下面兩個(gè)變量:

這兩個(gè)相當(dāng)于運(yùn)動(dòng)的速度。通過運(yùn)算可以改為這樣:

這時(shí)可以線性方程改為向量數(shù)組的方式,就可以使用python定義了

代碼如下:

# Use ODEINT to solve the differential equations defined by the vector field 
from scipy.integrate import odeint 
 
def vectorfield(w, t, p): 
 """ 
 Defines the differential equations for the coupled spring-mass system. 
 
 Arguments: 
  w : vector of the state variables: 
     w = [x1,y1,x2,y2] 
  t : time 
  p : vector of the parameters: 
     p = [m1,m2,k1,k2,L1,L2,b1,b2] 
 """ 
 x1, y1, x2, y2 = w 
 m1, m2, k1, k2, L1, L2, b1, b2 = p 
 
 # Create f = (x1',y1',x2',y2'): 
 f = [y1, 
   (-b1 * y1 - k1 * (x1 - L1) + k2 * (x2 - x1 - L2)) / m1, 
   y2, 
   (-b2 * y2 - k2 * (x2 - x1 - L2)) / m2] 
 return f 
 
# Parameter values 
# Masses: 
m1 = 1.0 
m2 = 1.5 
# Spring constants 
k1 = 8.0 
k2 = 40.0 
# Natural lengths 
L1 = 0.5 
L2 = 1.0 
# Friction coefficients 
b1 = 0.8 
b2 = 0.5 
 
# Initial conditions 
# x1 and x2 are the initial displacements; y1 and y2 are the initial velocities 
x1 = 0.5 
y1 = 0.0 
x2 = 2.25 
y2 = 0.0 
 
# ODE solver parameters 
abserr = 1.0e-8 
relerr = 1.0e-6 
stoptime = 10.0 
numpoints = 250 
 
# Create the time samples for the output of the ODE solver. 
# I use a large number of points, only because I want to make 
# a plot of the solution that looks nice. 
t = [stoptime * float(i) / (numpoints - 1) for i in range(numpoints)] 
 
# Pack up the parameters and initial conditions: 
p = [m1, m2, k1, k2, L1, L2, b1, b2] 
w0 = [x1, y1, x2, y2] 
 
# Call the ODE solver. 
wsol = odeint(vectorfield, w0, t, args=(p,), 
    atol=abserr, rtol=relerr) 
 
with open('two_springs.dat', 'w') as f: 
 # Print & save the solution. 
 for t1, w1 in zip(t, wsol):   
  out = '{0} {1} {2} {3} {4}\n'.format(t1, w1[0], w1[1], w1[2], w1[3]); 
  print(out) 
  f.write(out); 

在這里把結(jié)果輸出到文件two_springs.dat,接著寫一個(gè)程序來把數(shù)據(jù)顯示成圖片,就可以發(fā)表論文了,代碼如下:

# Plot the solution that was generated 
 
from numpy import loadtxt 
from pylab import figure, plot, xlabel, grid, hold, legend, title, savefig 
from matplotlib.font_manager import FontProperties 
 
t, x1, xy, x2, y2 = loadtxt('two_springs.dat', unpack=True) 
 
figure(1, figsize=(6, 4.5)) 
 
xlabel('t') 
grid(True) 
lw = 1 
 
plot(t, x1, 'b', linewidth=lw) 
plot(t, x2, 'g', linewidth=lw) 
 
legend((r'$x_1$', r'$x_2$'), prop=FontProperties(size=16)) 
title('Mass Displacements for the\nCoupled Spring-Mass System') 
savefig('two_springs.png', dpi=100) 

最后來查看一下輸出的png圖片如下:


總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • python 自動(dòng)軌跡繪制的實(shí)例代碼

    python 自動(dòng)軌跡繪制的實(shí)例代碼

    今天小編就為大家分享一篇python 自動(dòng)軌跡繪制的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Django中的WebSocket實(shí)時(shí)通信的實(shí)現(xiàn)小結(jié)

    Django中的WebSocket實(shí)時(shí)通信的實(shí)現(xiàn)小結(jié)

    在Django中,使用WebSocket可以實(shí)現(xiàn)實(shí)時(shí)通信,例如聊天應(yīng)用、實(shí)時(shí)更新等,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • Python?turtle編寫簡(jiǎn)單的球類小游戲

    Python?turtle編寫簡(jiǎn)單的球類小游戲

    turtle?(小海龜)?是?Python?內(nèi)置的一個(gè)繪圖模塊,其實(shí)它不僅可以用來繪圖,還可以制作簡(jiǎn)單的小游戲。本文將利用Turtle制作一個(gè)簡(jiǎn)單的球類小游戲,感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • Python安裝Pytorch最新圖文教程

    Python安裝Pytorch最新圖文教程

    這篇文章主要介紹了Python安裝Pytorch最新圖文教程,這里總結(jié)一下Pytorch的安裝教程,做好最快、最簡(jiǎn)單、最好地完成安裝,需要的朋友可以參考下
    2023-04-04
  • 一文弄懂10大Pandas的索引

    一文弄懂10大Pandas的索引

    索引在我們的日常生活中其實(shí)是很常見的,本文主要介紹了一文弄懂10大Pandas的索引,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • python使用opencv換照片底色的實(shí)現(xiàn)

    python使用opencv換照片底色的實(shí)現(xiàn)

    這篇文章主要介紹了python使用opencv換照片底色的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 詳解Python之?dāng)?shù)據(jù)序列化(json、pickle、shelve)

    詳解Python之?dāng)?shù)據(jù)序列化(json、pickle、shelve)

    本篇文章主要介紹了Python之?dāng)?shù)據(jù)序列化,本節(jié)要介紹的就是Python內(nèi)置的幾個(gè)用于進(jìn)行數(shù)據(jù)序列化的模塊,有興趣的可以了解一下。
    2017-03-03
  • Python3基于print打印帶顏色字符串

    Python3基于print打印帶顏色字符串

    這篇文章主要介紹了Python3使基于print打印帶顏色字符串,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Python解析最簡(jiǎn)單的驗(yàn)證碼

    Python解析最簡(jiǎn)單的驗(yàn)證碼

    最近在學(xué)python,正好遇到學(xué)校需要選宿舍,就用python寫了一個(gè)搶宿舍的軟件。下面通過本文給大家介紹python解析最簡(jiǎn)單的驗(yàn)證碼,對(duì)python解析驗(yàn)證碼相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • 在Ubuntu 20.04中安裝Pycharm 2020.1的圖文教程

    在Ubuntu 20.04中安裝Pycharm 2020.1的圖文教程

    這篇文章主要介紹了在Ubuntu 20.04中安裝Pycharm 2020.1的圖文教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04

最新評(píng)論

万荣县| 大冶市| 长泰县| 会昌县| 德钦县| 郑州市| 闸北区| 和硕县| 思茅市| 东乡县| 宁晋县| 巫溪县| 浦江县| 英吉沙县| 岗巴县| 通城县| 定襄县| 永春县| 容城县| 垫江县| 子长县| 辽阳县| 天峨县| 河东区| 郎溪县| 翁源县| 民丰县| 江山市| 调兵山市| 潮安县| 延长县| 青海省| 阿拉善盟| 海伦市| 莱西市| 道孚县| 巴青县| 仁怀市| 神农架林区| 泰顺县| 大洼县|