成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文帶您了解SymPy:使用Python進(jìn)行符號(hào)數(shù)學(xué)運(yùn)算

人工智能
SymPy 非常適合需要代數(shù)運(yùn)算的問(wèn)題。它可以用于求解復(fù)雜的方程和進(jìn)行微積分運(yùn)算。這里提供了一個(gè)快速入門(mén)的概述,并展示了一些使用 SymPy 的簡(jiǎn)單例子。?

SymPy 是一個(gè) Python 庫(kù),專注于符號(hào)計(jì)算,提供了處理數(shù)學(xué)表達(dá)式、方程和公式的工具。與數(shù)值計(jì)算庫(kù)不同,SymPy 能夠進(jìn)行符號(hào)微分、積分、極限等運(yùn)算,適用于代數(shù)運(yùn)算、微積分和方程求解等。與傳統(tǒng)的數(shù)值計(jì)算庫(kù)(如 NumPy)不同,SymPy 主要用于處理數(shù)學(xué)表達(dá)式、方程和公式的符號(hào)計(jì)算,而不是進(jìn)行數(shù)值計(jì)算。

它支持多項(xiàng)式運(yùn)算、矩陣操作、特征值計(jì)算等線性代數(shù)功能,并能處理數(shù)論和組合數(shù)學(xué)中的問(wèn)題。SymPy 還具備簡(jiǎn)化數(shù)學(xué)表達(dá)式的功能,并能繪制數(shù)學(xué)函數(shù)和圖形。作為一個(gè)完全用 Python 實(shí)現(xiàn)的開(kāi)源庫(kù),SymPy 易于集成到 Python 環(huán)境中,廣泛應(yīng)用于學(xué)術(shù)研究、教育以及需要符號(hào)計(jì)算的領(lǐng)域。

什么是 SymPy?

它是計(jì)算機(jī)代數(shù)系統(tǒng)(computer alegebra systems,CAS)的一部分:一個(gè)允許我們進(jìn)行代數(shù)和數(shù)學(xué)計(jì)算的庫(kù)。

主要功能:

  • 簡(jiǎn)化、重排、因式分解和展開(kāi)代數(shù)表達(dá)式和方程。
  • 求解各種類型的方程,包括線性方程、多項(xiàng)式方程和微分方程。
  • 執(zhí)行微積分運(yùn)算,包括微分和積分。
  • 繪制圖形。
  • 生成原始 LaTeX 輸出。
  • 生成渲染的 LaTeX 輸出。

安裝SymPy

pip install sympy

圖片圖片

簡(jiǎn)化和展開(kāi)

首先,導(dǎo)入 SymPy。然后定義 SymPy 變量,才能使用它們。通過(guò)創(chuàng)建 SymPy 的 symbols 來(lái)實(shí)現(xiàn)這一點(diǎn)。這些符號(hào)代表了數(shù)學(xué)變量:

import sympy
from sympy import latex


a, b, x, y = sympy.symbols("a b x y")


display(a,b,x,y)

圖片圖片

然后,我們可以構(gòu)建表達(dá)式和方程:

from IPython.display import Markdown, display


a = (x + 1)**2
b = x**2 + 2*x + 1 
display(a)
print(latex(a)) 
display(b) 


# Expand a...
expanded = sympy.expand(a)
display(Markdown(f"$a = {latex(expanded)}$"))


# Show a-b without simplifying...
a_minus_b = a-b
display(Markdown(f"$a-b = {latex(a_minus_b)}$"))


# Simplify...
display(Markdown(f"$a-b$ $= {latex(sympy.simplify(a_minus_b))}$"))

圖片圖片

等式判斷

我們可以測(cè)試兩個(gè)表達(dá)式是否相同,方法如下:

圖片圖片

變量賦值和評(píng)估

在定義了一個(gè) SymPy 符號(hào)并將其分配給 Python 變量后,不能簡(jiǎn)單地給 Python 變量賦值。如果這樣做,變量將不再是一個(gè)符號(hào)。相反,你需要使用 subs() 方法將值與 SymPy 符號(hào)關(guān)聯(lián)起來(lái):

x, y = sympy.symbols("x y")
expr = x+y
result = expr.subs({x: 2, y: 5})
print(f"{expr=}, {result=}")

圖片圖片

微分和積分

在 SymPy 中,積分和微分非常簡(jiǎn)單:

x = sympy.symbols("x")
expr = x**2
display(expr)


deriv = sympy.diff(expr)
display(deriv)


integral = sympy.integrate(deriv)
display(integral)

圖片圖片

求解二次方程

求解二次方程很簡(jiǎn)單,只需提供二次方程的系數(shù),然后運(yùn)行 SymPy 的 solve() 函數(shù)即可:

expr = x**2 + 3*x - 10
solutions = sympy.solve(expr, x, dict=True)


for solution in solutions:
    print(f"x={solution[x]}")

圖片圖片

有時(shí),我們只希望看到實(shí)數(shù)解,而不是復(fù)數(shù)解。(復(fù)數(shù)解是包含虛數(shù)部分的解,即以負(fù)數(shù)平方根表示的解。)在這種情況下,我們可以使用 solveset() 并指定僅允許實(shí)數(shù)的域。例如:

expressions = []
expressions.append(x**2 - 9) 
expressions.append(x**2 + 9) 


for expr in expressions:
    display(expr)
    solutions = sympy.solveset(expr, x)
    display(solutions)


display(expressions[-1])
solutions = sympy.solveset(expressions[-1], x, domain=sympy.S.Reals)
print(f"There are {len(solutions)} real solutions for x.")

圖片圖片

轉(zhuǎn)換為數(shù)值

SymPy 返回的結(jié)果是精確的數(shù)學(xué)符號(hào)。但有時(shí)我們希望將這些結(jié)果轉(zhuǎn)換為數(shù)值表示,可以使用evalf 函數(shù)。示例如下:

expr=sympy.sqrt(8)
display(expr)
display(expr.evalf(4))

圖片圖片

繪制圖形

使用 SymPy 繪制圖形使用 SymPy 的 plot 函數(shù),支持函數(shù)、隱函數(shù)和參數(shù)方程,下面是小幾個(gè)例子。

  • 繪制簡(jiǎn)單的函數(shù)圖形:
from sympy import symbols
from sympy.plotting import plot


x = symbols('x')
f = x**2 + 2*x + 1
plot(f, (x, -10, 10), title="Plot of f(x) = x^2 + 2x + 1")

圖片圖片

  • 繪制多個(gè)函數(shù)在同一圖形上
from sympy import symbols
from sympy.plotting import plot


x = symbols('x')
f = x**2
g = x**3
plot(f, g, (x, -10, 10), title="Plot of f(x) = x^2 and g(x) = x^3",legend=True)

圖片圖片

  • 繪制隱函數(shù)圖形
from sympy import symbols, Eq
from sympy.plotting import plot_implicit


x, y = symbols('x y')
eq = Eq(x**2 + y**2, 9)
plot_implicit(eq, (x, -5, 5), (y, -5, 5), title="Plot of Circle x^2 + y^2 = 9")

圖片圖片

  • 繪制參數(shù)方程圖形
from sympy import symbols, cos, sin, pi
from sympy.plotting import plot_parametric


t = symbols('t')
x = cos(t)
y = sin(t)
plot_parametric(x, y, (t, 0, 2*pi), title="Plot of a Circle")

圖片圖片

SymPy 非常適合需要代數(shù)運(yùn)算的問(wèn)題。它可以用于求解復(fù)雜的方程和進(jìn)行微積分運(yùn)算。這里提供了一個(gè)快速入門(mén)的概述,并展示了一些使用 SymPy 的簡(jiǎn)單例子。

責(zé)任編輯:武曉燕 來(lái)源: 新語(yǔ)數(shù)據(jù)故事匯
相關(guān)推薦

2024-05-21 09:45:40

機(jī)器學(xué)習(xí)人工智能XAI

2024-10-06 14:01:47

Python裝飾器對(duì)象編程

2024-07-11 12:14:20

Pythonmapfilter

2025-04-30 10:36:17

2024-08-19 00:01:00

2025-01-06 07:54:13

SPC控制圖工具

2020-08-11 13:00:34

GNU bcLinuxShell

2022-08-18 15:52:13

開(kāi)發(fā)者阿里云

2020-08-27 07:34:50

Zookeeper數(shù)據(jù)結(jié)構(gòu)

2024-03-12 17:54:55

容器類型Init

2023-07-31 07:25:27

2024-10-17 16:45:46

Python內(nèi)置函數(shù)

2015-09-18 16:26:54

NaSC運(yùn)算Ubuntu

2023-04-26 15:43:24

容器編排容器編排工具

2023-11-20 08:18:49

Netty服務(wù)器

2024-05-13 11:25:08

概念模型邏輯模型物理模型

2022-02-25 07:34:36

MQTT協(xié)議RabbitMQ

2022-06-08 08:11:56

威脅建模網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2025-05-23 09:38:54

JWT開(kāi)發(fā)Go

2023-11-06 08:16:19

APM系統(tǒng)運(yùn)維
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 毛片国产 | 国产一区二区三区 | 福利网站在线观看 | 欧美一区二区三区在线 | 久久精品在线免费视频 | 国产欧美三区 | 成人国产精品久久 | 久在线 | 草草视频在线播放 | 久久这里只有精品首页 | 日日av | 一级h片| 成人国产精品久久 | 欧美日韩亚洲一区二区 | 中文字幕在线一 | 亚洲精品电影在线观看 | 婷婷成人在线 | 国产日产精品一区二区三区四区 | 国产日韩欧美一区 | 91色视频在线| 国产欧美精品区一区二区三区 | chengrenzaixian| 一级免费视频 | 成人在线观看免费视频 | 在线观看视频你懂得 | 日韩av一区二区在线观看 | 亚洲一区成人 | 噜久寡妇噜噜久久寡妇 | 欧美一级黄色免费看 | 91视频国产区 | 国产精品a免费一区久久电影 | 成人欧美一区二区 | 亚洲一区亚洲二区 | 欧美一级免费看 | 日韩中文字幕网 | 91爱啪啪 | 日韩欧美在线观看 | aaa国产大片 | 亚洲精品福利在线 | 国产欧美视频一区二区三区 | 成人一区二区三区 |