網站首頁 編程語言 正文
numpy的log和ln函數
每次當我想用python實現ln函數時,下意識的就會輸入錯誤的函數代碼,這里特來記錄一下關于numpy中的ln和log函數正確的調用方式。
ln函數
import numpy as np class NumpyStudy: ? ? def lnFunction(self): ? ? ? ? const = np.e ? ? ? ? result = np.log(const) ? ? ? ? print("函數ln(e)的值為:") ? ? ? ? print(result) if __name__ == "__main__": ? ? main = NumpyStudy() ? ? main.lnFunction() """ 函數ln(e)的值為: 1.0 """
我們可以看到得到的值為1,說明在python中,np.log()指代的便是數學中使用的ln函數。
log函數
import numpy as np class NumpyStudy: ? ? def logFunction(self): ? ? ? ? const = 100 ? ? ? ? result = np.log10(const) ? ? ? ? print("函數ln(e)的值為:") ? ? ? ? print(result) if __name__ == "__main__": ? ? main = NumpyStudy() ? ? main.logFunction() """ 函數ln(e)的值為: 2.0 """
我們可以看到得到的值為2,說明在python中,np.log10()指代的便是數學中使用的lg函數。
前幾天看到有一個小伙伴留言說,既然以10和以自然數e為底數的目前都有了,那么以其他數比如2,3,4等等為底數的log函數該怎么辦呢?
這里我們需要用到一下數學上的小技巧—換底公式進行一下變換。例如:我們想要求出log以2為底16的值。
import numpy as np class NumpyStudy: def lnFunction(self): result = np.log(16) / np.log(2) result1 = np.log10(16) / np.log10(2) print("函數ln(e)的值為:") print(result) print(result1) if __name__ == "__main__": main = NumpyStudy() main.lnFunction() """ 函數ln(e)的值為: 4.0 4.0 """
可以看到我們最后成功地獲取到了正確的結果4.0。用這種方法我們可以獲取到以任意數為底數的log函數值。
numpy的部分通用函數
1.數組算術運算符
運算符 | 對應的通用函數 | 描述 |
---|---|---|
+ | np.add | 加法運算(即1+1=2) |
- | np.substract | 減法運算(即3-2=1) |
- | np.negative | 負數運算(即-2) |
* | Nnp.multiply | 乘法運算(即2*3=6) |
/ | np.divide | 除法運算(即3/2=1.5) |
// | np.floor_divide | 向下整除運算(floor division,即3//2=1) |
** | np.power | 指數運算(即2 ** 3=8) |
% | np.mod | 模/余數(即9%4=1) |
這些都是一元通用函數,寫代碼時可直接用左欄的運算符代替
x=np.arrange(4) #array([0, 1, 2, 3]) x + 2 #array([2, 3, 4, 5]) np.add(x,2) #array([2, 3, 4, 5])
2.絕對值通用函數np.absolute()
也可以通過np.abs()訪問
其對復數的運算是求模
x=np.array([-2, -1, 0, 1, 2]) abs(x) #array([2, 1, 0, 1, 2]) np.absolute(x) #array([2, 1, 0, 1, 2])
3.三角函數
np.sin()
np.cos()
np.tan()
反三角同理
4.指數和對數
表達 | 函數 |
---|---|
e^x | np.exp(x) |
2^x | np.exp2(x) |
3^x | np.power(3, x) |
ln(x) | np.log(x) |
log2(x) | np.log2(x) |
log10(x) | np.log10(x) |
exp(x)-1 | np.expm1(x) |
log(1+x) | np.log1p(x) |
原文鏈接:https://blog.csdn.net/u011699626/article/details/118885071
相關推薦
- 2022-10-14 laravel 中關于模型查詢構造器的特殊用法
- 2022-07-12 mongoDB替換replace某個字段的部分內容
- 2022-12-04 Nginx?禁止直接訪問目錄或文件的操作方法_nginx
- 2022-07-25 python如何將自己的包上傳到PyPi并可通過pip安裝的方法步驟_python
- 2023-02-05 詳解Golang中Context的三個常見應用場景_Golang
- 2022-02-27 jwt Claims token 秘鑰稍有不同也能解析成功 signWith setSigningK
- 2023-02-04 python協程之yield和yield?from實例詳解_python
- 2022-12-07 C++?Boost?Container庫示例詳細講解_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支