寫了一個分段函式,引數是單個數字,執行函式 畫圖
其實當出現分段函式時候就不能傳入陣列了,只能一個一個傳入方法如下
[T_r(t, ) for t in R]
R = np.linspace(5, 50, num=500)
y = np.array([T_r(t, ) for t in R])
一般不要用range 這個函式了,用
np.arange(0,51) #range() 不好用
下面是一個分段函式的例子,函式比較複雜,g是一個分段函式
import numpy as np
import math
import matplotlib.pyplot as plt
def C_sp():
return 1 / 3
def C_ap(R):
return 1 / 3 + 3 / 2 * (3.6 / R - 2 / 3) ** 2
def g(R, C_ap, C_sp_):
if C_ap >= 1:
return 1
else:
dividend = -2 * (1 - 3.6 / R) * (1 - C_ap) ** 2
divisor = 3 * 3.6 / R * (C_ap + 1 / 3)
# return math.exp(-2 * (1 - 3.6 / R) * (1 - C_ap) ** 2 / 3 * 3.6 / R * (C_ap + 1 / 3))
return math.exp(dividend / divisor)
def ED_r(R):
dividend = 7 * 0.4 * (90 ** 2)
divisor = 12 * 100 * (R - 3.6)
return dividend / divisor
def ED_p(R, C_ap, g):
dividend = 0.4 * (C_ap + 1)
divisor = (2 / 9) * (1 / 9 - 0.4) * g
return dividend / divisor
def T_r(R):
T_r = ED_r(R) + ED_p(R, C_ap(R), g(R, C_ap(R), C_sp()))
return T_r
# R = np.arange(0,51) #range() 不好用
R = np.linspace(5, 50, num=500)
y = np.array([T_r(t, ) for t in R])
plt.plot(R, y)
plt.show()
相關文章
- 自己實現一個簡單可變引數函式函式
- 函式引數 引數定義函式型別函式型別
- 寫一個函式,輸入一個4位數字,要求輸出這4個數字字元函式字元
- C++行內函數、函式過載與函式預設引數C++函數函式
- 函式的關鍵字引數函式
- Javascript函式引數求值——Thunk函式JavaScript函式
- 函式基礎和函式引數函式
- Vue-render函式的三個引數Vue函式
- Python函式/動態引數/關鍵字引數Python函式
- Python中將函式作為另一個函式的引數傳入並呼叫Python函式
- 分段函式圖形繪製函式
- 封裝一個簡單的動畫函式封裝動畫函式
- 寫一個深度克隆函式函式
- Oracle OCP(03):字元函式、數字函式和日期函式Oracle字元函式
- 正規表示式replace()函式第二個引數$&的作用函式
- 函式、引數、解構函式
- 函式引數詳解函式
- Python函式的位置引數、關鍵字引數精講Python函式
- python---函式引數、變數Python函式變數
- 3.3.2 函式的預設引數和佔位引數 函式過載函式
- //編寫一個函式,傳入一個整數,將數字反轉,檢查數字是不是數字的2倍 果是則返回true,否則返回false函式False
- 函式的動態引數 及函式巢狀函式巢狀
- 第 8 節:函式-函式定義和引數函式
- Python 函式中引數前面一個和兩個星號(**)的區別Python函式
- Scala(一):函式、流程控制、引數函式
- 手寫一個bind函式(大概)函式
- Python函式引數總結Python函式
- JavaScript函式傳遞引數JavaScript函式
- 函式的引數傳遞函式
- 陣列作為函式引數陣列函式
- 程式中的函式引數函式
- 函式中引數傳值函式
- ES6函式引數函式
- python函式變長引數Python函式
- vue在一個函式中呼叫另外一個函式Vue函式
- 一個map函式引發的血案函式
- 07:函式之函式的引數和返回值函式
- 將使用回撥函式作為引數的函式改造為返回 Promise 的一個具體例子函式Promise