久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Python進行數(shù)值計算

 星光閃亮圖書館 2019-12-19

1.計算積分

(1)計算定積分

from scipy import integrate

#定義函數(shù)
def half_circle(x):

   return (1-x**2)**0.5

pi_half, err = integrate.quad(half_circle, -1, 1)

print(pi_half*2)  #err為誤差精度

(2)計算二重積分

def half_sphere(x, y): return (1-x**2-y**2)**0.5

print(integrate.dblquad(half_sphere, -1, 1,lambda x:-half_circle(x),lambda x:half_circle(x))[0])

2.計算常微分方程

(1)案例一,,計算洛侖茲吸引子的軌跡

# -*- coding: utf-8 -*-
from scipy.integrate import odeint 
import numpy as np 

def lorenz(w, t, p, r, b): 
    # 給出位置矢量w,,和三個參數(shù)p, r, b計算出
    # dx/dt, dy/dt, dz/dt的值
    x, y, z = w
    # 直接與lorenz的計算公式對應 
    return np.array([p*(y-x), x*(r-z)-y, x*y-b*z]) 

t = np.arange(0, 30, 0.01) # 創(chuàng)建時間點 
# 調(diào)用ode對lorenz進行求解, 用兩個不同的初始值 
track1 = odeint(lorenz, (0.0, 1.00, 0.0), t, args=(10.0, 28.0, 3.0)) 
track2 = odeint(lorenz, (0.0, 1.01, 0.0), t, args=(10.0, 28.0, 3.0)) 

# 繪圖
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt 

fig = plt.figure()
ax = Axes3D(fig)
ax.plot(track1[:,0], track1[:,1], track1[:,2])
ax.plot(track2[:,0], track2[:,1], track2[:,2])
plt.show()

(2)案例二 

#y"+a*y'+b*y=0
from scipy.integrate import odeint
from pylab import *
def deriv(y,t): # 返回值是y和y的導數(shù)組成的數(shù)組
  a = -2.0
  b = -0.1
  return array([ y[1], a*y[0]+b*y[1] ])
time = linspace(0.0,50.0,1000)
yinit = array([0.0005,0.2]) # 初值
y = odeint(deriv,yinit,time)

figure()
plot(time,y[:,0],label='y') #y[:,0]即返回值的第一列,,是y的值,。label是為了顯示legend用的,。
plot(time,y[:,1],label="y'") #y[:,1]即返回值的第二列,,是y’的值
xlabel('t')
ylabel('y')
legend()
show()

 

 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多