日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

python符号求导

發布時間:2023/11/28 生活经验 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python符号求导 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://blog.csdn.net/m0_46149708/article/details/109024564

from sympy import *
x, y, z = symbols('x, y, z')  # 定義變量x,y,z
f = z**x + ln(x*y) + sin(x*y) + tan(x**z) # 定義目標函數
print('目標函數:f=',f)
print('------')# 對x求偏一介導
dx = diff(f, x)
print('對x求一階偏導:dx=', dx)# 對x求偏二介導
print('------')
dx_2 = diff(f, x, 2)
print('對x求二階偏導:dx_2=', dx_2)# 先對x求導再對y求導
print('------')
dx_dy = diff(dx, y)
print('先對x求導再對y求導:dx_dy=', dx_dy)目標函數:f= z**x + log(x*y) + sin(x*y) + tan(x**z)
------
對x求一階偏導:dx= y*cos(x*y) + z**x*log(z) + x**z*z*(tan(x**z)**2 + 1)/x + 1/x
------
對x求二階偏導:dx_2= -y**2*sin(x*y) + z**x*log(z)**2 + 2*x**(2*z)*z**2*(tan(x**z)**2 + 1)*tan(x**z)/x**2 + x**z*z**2*(tan(x**z)**2 + 1)/x**2 - x**z*z*(tan(x**z)**2 + 1)/x**2 - 1/x**2
------
先對x求導再對y求導:dx_dy= -x*y*sin(x*y) + cos(x*y)但是,我發現個問題:在sympy模塊中沒有反三角函數。如果我用numpy去操作,則會報錯。from sympy import *
import numpy as np
x = symbols('x')  # 定義變量x
f = np.arcsin(x) # 定義目標函數AttributeError                            Traceback (most recent call last)
AttributeError: 'Symbol' object has no attribute 'arcsin'The above exception was the direct cause of the following exception:TypeError                                 Traceback (most recent call last)
<ipython-input-5-8d85f13312a8> in <module>3 4 x, y, z = symbols('x, y, z')  # 定義變量x,y,z
----> 5 f = np.arcsin(x) # 定義目標函數TypeError: loop of ufunc does not support argument 0 of type Symbol which has no callable arcsin method2.解方程
2.1 多元一次方程"""
4*x + y + z + 2 = 0
2*x - y + z = 0
x - y + z - 1 = 0
"""from sympy import *
x, y, z = symbols('x, y, z')  # 定義變量x,y,z
f1 = 4*x + y + z + 2
f2 = 2*x - y + z
f3 = x - y + z - 1
result = solve([f1, f2, f3], [x, y, z])result: {x: -1, y: 0, z: 2}"""
x^2 + y^(1/2) - 17 = 0
x^(1/2) 1 y^3 - 2 = 0
"""from sympy import *
x, y = symbols('x, y')
f1= x**2 + sqrt(y) - 17
f2 = sqrt(x) - y**3 - 1
result = solve([f1, f2], [x, y])
print("result:", result)result: {x: 4, y: 1}上面這個方程是我在定好答案的情況下編的,但用python運行了好長時間都沒運行出來,感覺電腦都快燒了😂。我就把這個答案寫上去了,不知道有沒有其它答案,大家可以自己運行下😁。
2.3 微分方程"""
f(x)'' - 2f(x)' + 2f(x) = cos(x)
"""from sympy import *
f = symbols('f', cls=Function)
x = symbols('x')
eq = Eq(f(x).diff(x, x) - 2*f(x).diff(x) + 2*f(x), cos(x))
print(dsolve(eq, f(x)))Eq(f(x), (C1*sin(x) + C2*cos(x))*exp(x) - 2*sin(x)/5 + cos(x)/5)

總結

以上是生活随笔為你收集整理的python符号求导的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。