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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

python符号求导

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

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) # 定義目標(biāo)函數(shù)
print('目標(biāo)函數(shù):f=',f)
print('------')# 對(duì)x求偏一介導(dǎo)
dx = diff(f, x)
print('對(duì)x求一階偏導(dǎo):dx=', dx)# 對(duì)x求偏二介導(dǎo)
print('------')
dx_2 = diff(f, x, 2)
print('對(duì)x求二階偏導(dǎo):dx_2=', dx_2)# 先對(duì)x求導(dǎo)再對(duì)y求導(dǎo)
print('------')
dx_dy = diff(dx, y)
print('先對(duì)x求導(dǎo)再對(duì)y求導(dǎo):dx_dy=', dx_dy)目標(biāo)函數(shù):f= z**x + log(x*y) + sin(x*y) + tan(x**z)
------
對(duì)x求一階偏導(dǎo):dx= y*cos(x*y) + z**x*log(z) + x**z*z*(tan(x**z)**2 + 1)/x + 1/x
------
對(duì)x求二階偏導(dǎo):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
------
先對(duì)x求導(dǎo)再對(duì)y求導(dǎo):dx_dy= -x*y*sin(x*y) + cos(x*y)但是,我發(fā)現(xiàn)個(gè)問題:在sympy模塊中沒有反三角函數(shù)。如果我用numpy去操作,則會(huì)報(bào)錯(cuò)。from sympy import *
import numpy as np
x = symbols('x')  # 定義變量x
f = np.arcsin(x) # 定義目標(biāo)函數(shù)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) # 定義目標(biāo)函數(shù)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}上面這個(gè)方程是我在定好答案的情況下編的,但用python運(yùn)行了好長時(shí)間都沒運(yùn)行出來,感覺電腦都快燒了😂。我就把這個(gè)答案寫上去了,不知道有沒有其它答案,大家可以自己運(yùn)行下😁。
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)

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。