中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

正規(guī)制作網站公司哪家好西安全網優(yōu)化

正規(guī)制作網站公司哪家好,西安全網優(yōu)化,公眾號怎么建立,自己建設博客網站文章目錄 前言一、sympy基本函數(shù)介紹變量定義1. sp.Symbol("x") 或 sp.symbols("m n")2. sp.Function("y")3. func(x).diff(x, n) 定義方程與求解符號1. sp.Eq(lhs, rhs)2. 求解函數(shù)(*代表了常用且重要,其他部分作為拓展&…

文章目錄

  • 前言
  • 一、sympy基本函數(shù)介紹
    • 變量定義
      • 1. sp.Symbol("x") 或 sp.symbols("m n")
      • 2. sp.Function("y")
      • 3. func(x).diff(x, n)
    • 定義方程與求解符號
      • 1. sp.Eq(lhs, rhs)
      • 2. 求解函數(shù)(*代表了常用且重要,其他部分作為拓展,可以有需要的時候再查詢使用)
      • 3. func.subs(a, b) 或者 func.subs({a: b})
      • 4. func.evalf(subs, n)
  • 二、 常見錯誤(持續(xù)更新)
    • TypeError: cannot create mpf from x
    • TypeError: 'Equality' object is not subscriptable
  • 三、計算模板


前言

本文將針對常用的函數(shù)進行用途分析與介紹,對代碼過程中可能會遇到的報錯進行分析,并給出實例幫助理解代碼。文章較長,可以針對感興趣的部分進行跳轉


一、sympy基本函數(shù)介紹

變量定義

1. sp.Symbol(“x”) 或 sp.symbols(“m n”)

這是定義變量,如f(x)中的x就是使用Symbol定義的
使用Symbol只能定義一個變量, 想要一次性定義多個變量,需要使用symbols,不同的變量之間用空格間隔

2. sp.Function(“y”)

定義函數(shù),相當于f(x)中的f,這時候程序沒法判斷它是誰的函數(shù),需要顯式的定義指定函數(shù)的變量,如f(x)

3. func(x).diff(x, n)

定義函數(shù)關于x的n階導數(shù)
在求解過程中盡量都采用diff方法,而非使用Derivative()函數(shù)

定義方程與求解符號

1. sp.Eq(lhs, rhs)

lhs, rhs 分別代表了等式左邊與等式右邊公式
例如y = x就需要表示為sp.Eq(y(x), x)
tip: 如果不是y(x),在求解這個等式的時候會報錯哦,一定要記得定義它是誰的函數(shù)

2. 求解函數(shù)(*代表了常用且重要,其他部分作為拓展,可以有需要的時候再查詢使用)

函數(shù)名稱用途主要參數(shù)說明示例
solve解普通方程的解析解f(方程或方程組)
symbols(求解的變量)
多個變量或方程需要用 [] 框起來
通用函數(shù),用于解一元或多元代數(shù)方程或方程組。solve(x**2 - 4, x) # 相當于求解 x 2 ? 4 = 0 x^2 - 4 = 0 x2?4=0
# [ -2, 2 ]
nsolve解普通方程數(shù)值解f
x(待求解變量)
x0(初始猜測值,與結果有關)
用于求方程的數(shù)值解,需要輸入初始猜測值,并尋找該猜測值附近的數(shù)值解。通常返回一個近似解,也可使用 .evalf() 方法進行數(shù)值化。nsolve(sin(x) - 0.5, 0)
# 因為是從0為初始值,求解 s i n ( x ) = 0.5 sin(x) = 0.5 sin(x)=0.5 最近的答案,所以應該是 π 6 \frac{\pi}{6} 6π?約等于0.5236
# 返回的結果是數(shù)值解
dsolve解微分方程eq(方程)
func(求解的函數(shù),如 f(x)
ics(初始條件,可選)
用于求解一階或高階常微分方程的解析解,支持線性和非線性方程。傳入 ics,可以直接算出微分方程中的常數(shù)。x = symbols(‘x’)
f = Function(‘f’)(x)
ode = Eq(diff(f, x), f) # 求解最常規(guī)的微分方程 f ′ ( x ) = f ( x ) f'(x) = f(x) f(x)=f(x)
dsolve(ode, f) # [Eq( f ( x ) , C 1 ? e x f(x), C1* e^x f(x),C1?ex)]
pdsolve解偏微分方程 (復雜一些時無法直接求解)eq
func
專門用于求解偏微分方程的解析解,通常需要配合分離變量法。當直接輸入的偏微分方程過于復雜時,先進行變量分離再嘗試求解。# 一般使用方法類似 dsolve,但處理偏微分方程時
# pdsolve(eq, func)
linsolve解線性方程組 (符號解)system
symbols
適合求解線性方程組,返回向量形式的解。x, y = symbols(‘x y’)
system = [x + y - 2, x - y - 0]
linsolve(system, [x, y]) # 求解一個簡單的線性方程組,記住system里的式子右側都是0
# { (1, 1) }
nonlinsolve解非線性方程組 (符號解)system
symbols
用于求解非線性方程組,返回集合形式的符號解。x, y = symbols(‘x y’)
system = [ x 2 + y ? 4 x^2 + y - 4 x2+y?4, x ? y 2 + 1 x - y^2 + 1 x?y2+1]
nonlinsolve(system, [x, y])
solve_poly_system解多項式方程組 (多變量,符號解)system
symbols
用于解特定的多項式方程組。# 用法與 solve 類似,但主要針對多項式方程
# solve_poly_system([Eq(…)], [x, y])
solve_univariate_inequality解一元不等式ineq(不等式)
symbol(變量)
用于求解一元不等式,返回區(qū)間形式或邏輯表達式。x = Symbol(‘x’, real=True)
ineq = (x**2 < 4)
solve_univariate_inequality(ineq, x) # -2 < x < 2
reduce_inequalities簡化或求解不等式組inequalities
symbols
簡化復雜的不等式組,返回符號形式的解集。x = symbols(‘x’, real=True)
reduce_inequalities([[x > 1, x < 3]], [x]) # 1 < x < 3

3. func.subs(a, b) 或者 func.subs({a: b})

subs輸入一個字典或者兩個參數(shù),可以將變量換成指定的值,如上式中的a替換為了b
例如:
對于微分方程中輸出的結果中有C1,在已知某個初始值(如 y ( 0 ) = 1 2 y(0) = \frac{1}{2} y(0)=21?)的情況下,對結果
r e s = E q ( y ( x ) = C 1 e ? x + e x 2 ) res = Eq(y{\left(x \right)} = C_{1} e^{- x} + \frac{e^{x}}{2}) res=Eq(y(x)=C1?e?x+2ex?)進行常數(shù)的求解

C1 = sp.Symbol("C1")  # 必須先定義C1是一個變量,才能作為nsolve中的實參進行求解
res = res.subs({y(x): 1/2, x: 0})  # 必須先替換y(x),再替換x
C = sp.nsolve(res, C1, 0)  # 這樣就可以解得常數(shù)值

4. func.evalf(subs, n)

evalf是一個方法,是基于結果上的方法,可以計算某個表達式的具體值,也可以對nsolve的結果進行位數(shù)調整或者
例如:

(1 / a).evalf(subs={a: 2}, n=4)
# 結果為0.5000

二、 常見錯誤(持續(xù)更新)

TypeError: cannot create mpf from x

nsolve(f, x, x0), 這通常與nsolve中沒有初始值有關,設置一個初始值就好了

TypeError: ‘Equality’ object is not subscriptable

因為dsolve解的的結果是一個列表,使用dsolve[0]獲取的equality是不可用索引的
只能通過lhs和rhs分別獲得等式左右兩邊的式子

三、計算模板

  1. 設置變量, 利用symbols和Function設定變量與函數(shù)
  2. 利用sp.Eq設置等式
  3. 使用對應的solve函數(shù)進行求解(如有初值注意初值條件帶入)
  4. (可選)使用subs對求解的結果進行值代入,再使用nsolve對某些常量進行求解

例子 d y d x + y ( x ) = e x \frac{d y}{d x} + y{\left(x \right)} = e^{x} dxdy?+y(x)=ex

# 1. 進行變量設置
y = sp.Function('y')
x = sp.symbols('x')
y_ = y(x).diff(x)  # 直接使用這個為一階導數(shù)
# 2. 設置方程 
eq = sp.Eq(y_ + y(x), sp.exp(x))
# 3. 求解方程,因為是微分方程所以用dsolve
res = sp.dsolve(eq, y(x))
sp.pprint(res)# 4. 如果有初值
res = sp.dsolve(eq, y(x), ics={y(0):1}) # 使用ics(初始條件)可以直接求解常量
# 或對結果使用sub后利用nsolve求解
http://www.risenshineclean.com/news/33217.html

相關文章:

  • 泉州做媽祖雕像網站常用的網絡營銷工具
  • 有什么值得做的網站企業(yè)網頁設計公司
  • 建購物網站怎么建呀微商怎么做推廣加好友
  • 廣州響應網站建設網頁設計友情鏈接怎么做
  • 深圳方維網站建設公司百度推廣運營公司
  • 我們的愛情網站制作網絡推廣外包聯(lián)系方式
  • 物流網站畢業(yè)論文如何做網站搜索引擎優(yōu)化
  • 渭南房產網站制作搜索引擎營銷策略有哪些
  • 網站初期 權重怎么做長春網站提升排名
  • 響應式網站適合優(yōu)化嗎百度優(yōu)化插件
  • 網站建設加盟域名網
  • 杭州網站建設V芯ee8888e保定seo建站
  • 如何免費自己做個網站seo入門基礎知識
  • 電子政務網站代碼如何讓產品吸引顧客
  • 新聞網站怎樣做seo優(yōu)化淘寶運營培訓班去哪里學
  • 汅app下載大全2022昭通網站seo
  • 梧州網站建設服務商抖音關鍵詞推廣怎么做
  • 贛icp南昌網站建設產品推廣軟文
  • 個體營業(yè)執(zhí)照可以做網站嘛微商軟文
  • 房地產怎么做網站推廣子域名網址查詢
  • 網站建設品牌公司一鍵優(yōu)化免費下載
  • 搭建一個微信小程序要多少錢快速整站優(yōu)化
  • 響水網站建設公司外貿網站推廣服務
  • 中文網站做google廣告怎么樣北京企業(yè)網站推廣哪家公司好
  • 江都網站建設外鏈平臺
  • windows系統(tǒng)做ppt下載網站搜索引擎營銷的主要模式
  • 網頁設計教程孟憲寧課后題答案seo實戰(zhàn)培訓王乃用
  • 像芥末堆做內容的網站百度上怎么發(fā)布作品
  • 用服務器ip怎么做網站百度官方推廣
  • php網站開發(fā)最新需求商家聯(lián)盟營銷方案