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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

[转载] 【数学问题】利用python求解表达式

發布時間:2025/3/11 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转载] 【数学问题】利用python求解表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考鏈接: Python 變量 |表達式 |條件和函數

有時候我們會遇到一些很復雜的表達式,或者想要求解某個表達式,但是手動計算的話不但耗時還費精力,我們能不能利用計算機來幫助我們進行計算呢??

1、問題描述?

我們昨天提出了四足機器人的初始姿態的問題,里面給出了很多公式,例如下面這條。:?

?

? ? ?

? ? ??

? ? ? ?

? ? ? ??

? ? ? ? ?

? ? ? ? ??

? ? ? ? ? ?

? ? ? ? ? ??

? ? ? ? ? ? ?α

? ? ? ? ? ??

? ? ? ? ? ??

? ? ? ? ? ? ?=

? ? ? ? ? ??

? ? ? ? ? ?

? ? ? ? ??

? ? ? ? ?

? ? ? ? ?

? ? ? ? ??

? ? ? ? ? ?

? ? ? ? ? ??

? ? ? ? ? ? ?arccos

? ? ? ? ? ??

? ? ? ? ? ??

? ? ? ? ? ? ??

? ? ? ? ? ??

? ? ? ? ? ??

? ? ? ? ? ? ?

? ? ? ? ? ? ? (

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ??

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ?l

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ?1

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ?2

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? +

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ?L

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ?2

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ?l

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ?2

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ?2

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ?

? ? ? ? ? ? ??

? ? ? ? ? ? ??

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? 2

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ?l

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ?1

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? L

? ? ? ? ? ? ? ?

? ? ? ? ? ? ??

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ? )

? ? ? ? ? ? ?

? ? ? ? ? ??

? ? ? ? ? ?

? ? ? ? ??

? ? ? ? ?

? ? ? ??

? ? ? ??

? ? ? ? ?

? ? ? ? ??

? ? ? ? ? ?

? ? ? ? ??

? ? ? ? ?

? ? ? ??

? ? ? ?

? ? ? ?

? ? ? ? \begin{matrix} \alpha =& \arccos{\left(\frac{l_1^2 + L^2 -l_2^2}{2l_1L} \right)}\\ \\ \end{matrix}

? ? ? ?

? ? ??

? ? ?α=?arccos(2l1?Ll12?+L2?l22??)??

如果我們想要知道

? ??

? ? ?

? ? ??

? ? ? ?

? ? ? ? L

? ? ? ?

? ? ??

? ? ??

? ? ? ?L

? ? ??

? ? ?

? ? L關于

? ??

? ? ?

? ? ??

? ? ? ?

? ? ? ? α

? ? ? ?

? ? ??

? ? ??

? ? ? ?\alpha

? ? ??

? ? ?

? ? α的表達式,可能得經過一系列化簡才能得出答案,這時候我們可以借助強大的計算機來幫我們實現這些運算,最終得出答案:?

?

? ? ?

? ? ??

? ? ? ?

? ? ? ??

? ? ? ? ?L

? ? ? ??

? ? ? ??

? ? ? ? ?=

? ? ? ??

? ? ? ??

? ? ? ? ?

? ? ? ? ? l

? ? ? ? ?

? ? ? ? ?

? ? ? ? ? 1

? ? ? ? ?

? ? ? ??

? ? ? ??

? ? ? ? ?cos

? ? ? ??

? ? ? ??

? ? ? ? ??

? ? ? ??

? ? ? ??

? ? ? ? ?

? ? ? ? ? (

? ? ? ? ?

? ? ? ? ?

? ? ? ? ? α

? ? ? ? ?

? ? ? ? ?

? ? ? ? ? )

? ? ? ? ?

? ? ? ??

? ? ? ??

? ? ? ? ?+

? ? ? ??

? ? ? ??

? ? ? ? ?

? ? ? ? ??

? ? ? ? ? ??

? ? ? ? ??

? ? ? ? ??

? ? ? ? ? ?

? ? ? ? ? ? l

? ? ? ? ? ?

? ? ? ? ? ?

? ? ? ? ? ? 1

? ? ? ? ? ?

? ? ? ? ? ?

? ? ? ? ? ? 2

? ? ? ? ? ?

? ? ? ? ??

? ? ? ? ??

? ? ? ? ? ?

? ? ? ? ? ??

? ? ? ? ? ? ?sin

? ? ? ? ? ??

? ? ? ? ? ??

? ? ? ? ? ? ??

? ? ? ? ? ??

? ? ? ? ? ?

? ? ? ? ? ?

? ? ? ? ? ? 2

? ? ? ? ? ?

? ? ? ? ??

? ? ? ? ??

? ? ? ? ? ?

? ? ? ? ? ? (

? ? ? ? ? ?

? ? ? ? ? ?

? ? ? ? ? ? α

? ? ? ? ? ?

? ? ? ? ? ?

? ? ? ? ? ? )

? ? ? ? ? ?

? ? ? ? ??

? ? ? ? ??

? ? ? ? ? ?+

? ? ? ? ??

? ? ? ? ??

? ? ? ? ? ?

? ? ? ? ? ? l

? ? ? ? ? ?

? ? ? ? ? ?

? ? ? ? ? ? 2

? ? ? ? ? ?

? ? ? ? ? ?

? ? ? ? ? ? 2

? ? ? ? ? ?

? ? ? ? ??

? ? ? ? ?

? ? ? ??

? ? ? ?

? ? ? ?

? ? ? ? L =l_1 \cos{\left(\alpha \right)} + \sqrt{- l_1^{2} \sin^{2}{\left(\alpha \right)} + l_{2}^{2}}

? ? ? ?

? ? ??

? ? ?L=l1?cos(α)+?l12?sin2(α)+l22?

? ? ? ? ? ??

? ? ? ? ? ? ?

? ? ? ? ? ? ??

這個關于

? ??

? ? ?

? ? ??

? ? ? ?

? ? ? ? L

? ? ? ?

? ? ??

? ? ??

? ? ? ?L

? ? ??

? ? ?

? ? L的表達式一看就很復雜,是作者手算出來的嗎?當然不是,我是利用smypy這個庫計算出來的表達式。?

sympy是一個Python的科學計算庫,用一套強大的符號計算體系完成諸如多項式求值、求極限、解方程、求積分、微分方程、級數展開、矩陣運算等等計算問題?

2、代碼?

這里直接給出代碼?

from sympy import *

import numpy as np

?

# 定義我們的符號

l1 = symbols('11')

l2 = symbols('l2')

L = symbols('L')

a = symbols('a')

?

# 定義等式,右邊要等于0

eq = cos(a) - (l1**2 + L**2 - l2**2)/(2*l1*L)

?

# 求解

result = solve(eq, L)

?

# 打印結果

print('L:', result)

?

# 將結果轉化成latex格式

print(latex(result))

?

?

輸出如下,因為是二次函數,所以這里會給出兩個解,實際上只有一個是符合實際情況的。?

L: [11*cos(a) - sqrt(-11**2*sin(a)**2 + l2**2), 11*cos(a) + sqrt(-11**2*sin(a)**2 + l2**2)]

\left[ 11 \cos{\left(a \right)} - \sqrt{- 11^{2} \sin^{2}{\left(a \right)} + l_{2}^{2}}, \? 11 \cos{\left(a \right)} + \sqrt{- 11^{2} \sin^{2}{\left(a \right)} + l_{2}^{2}}\right]

?

?

solve()函數第一個參數是一個方程式(等于零),第二個參數是想要求解的符號。?

3、求解一般代數方程?

from sympy.solvers import solve

from sympy import Symbol

x = Symbol('x')

result = solve(x**2 - 1, x)

?

[-1, 1]

?

更多使用方法可以參考官方文檔?

?

?

?如果覺得ok,點個贊,點個關注,也歡迎給個打賞支持一下編者的工作

總結

以上是生活随笔為你收集整理的[转载] 【数学问题】利用python求解表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

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