比較弱的問一下,你確定不是
在善左等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作專業(yè)公司,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,全網(wǎng)整合營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),善左網(wǎng)站建設(shè)費用合理。
'''
theta22=spy.Symbol('theta22')
theta33=spy.Symbol('theta33')
theta44=spy.Symbol('theta44')
theta55=spy.Symbol('theta55')
'''
這段有問題?
多了引號?或者。。
def?solve(eq,var='x'):
eq1?=?eq.replace("=","-(")+")"
c?=?eval(eq1,{var:1j})
return?-c.real/c.imag
solve('2*x=5',?'x')
2.5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import numpy as np
def solve_quad(a,b,c):
if a == 0:
print('您輸入的不是二次方程!')
else:
delta = b*b-4*a*c
x = -b/(2*a)
if delta == 0:
print('方程有惟一解,X=%f'%(x))
return x
elif delta 0:
x1 = x-np.sqrt(delta)/(2*a)
x2 = x+np.sqrt(delta)/(2*a)
print('方程有兩個實根:X1=%f,X2=%f'%(x1,x2))
return x1,x2
else:
x1 = (-b+complex(0,1)*np.sqrt((-1)*delta))/(2*a)
x2 = (-b-complex(0,1)*np.sqrt((-1)*delta))/(2*a)
print('方程有兩個虛根,如下所示:')
print(x1,x2)
return x1,x2
方法/步驟
用Python解數(shù)學(xué)方程,需要用到Python的一個庫——SymPy庫。
SymPy是符號數(shù)學(xué)的Python庫,它的目標(biāo)是成為一個全功能的計算機代數(shù)系統(tǒng),同時保持代碼簡潔、易于理解和擴展。
如果你的電腦上還沒有安裝sympy庫,那就趕緊安裝吧,安裝命令:
pip3 install sympy
請點擊輸入圖片描述
先來解一個簡單點的方程吧。
題目: 5x + 20 = 100
先直接上代碼:
from sympy import *
x = Symbol('x')
print(solve([5*x + 20 - 100], [x]))
請點擊輸入圖片描述
再來一個復(fù)雜點的二元一次方程吧。
題目:3x + 4y =49,?8x- y = 14
代碼如下:
from sympy import *
x = Symbol('x')
y = Symbol('y')
print(solve([3*x + 4*y - 49, 8*x - y - 14], [x, y]))
請點擊輸入圖片描述
有沒有發(fā)現(xiàn)規(guī)律呢,簡單總結(jié)一下:
1)變量賦值,使用symbol函數(shù)轉(zhuǎn)換;
2)將方程式移到方程的左邊,使右邊等于0;
3)使用solve函數(shù)解方程。
當(dāng)然了,python的基礎(chǔ)語法必須掌握,至少需要掌握python最基礎(chǔ)的算數(shù)運算符。
+ ?加 ---- 兩個對象相加
- ?減 ----- 得到負(fù)數(shù)或是一個數(shù)減去另一個數(shù)
* ?乘 ----- 兩個數(shù)相乘或是返回一個被重復(fù)若干次的字符串
/ ?除 ----- x 除以 y
% ?取模 ----- 返回除法的余數(shù)
** ?冪 ----- 返回x的y次冪
log() ?對數(shù)-----對數(shù) log()
下面來個難度大點的方程。
請點擊輸入圖片描述
代碼如下:
from sympy import *
t = Symbol('t')
x = Symbol('x')
m = integrate(sin(t)/(pi-t), (t, 0, x))
print(integrate(m, (x, 0, pi)))
請點擊輸入圖片描述
直接代入就可以了呀
將x=2,y=0代入方程,即
0=2k+b
將x=1
,y=-6.
代入方程,即
-6=k+b
兩式相減,即6=k,
k=6
代入第一個式子,即得b=-12
2.
即函數(shù)方程為
y=6x-12
將x=5代入,即
y=6*5-12=18
已知四元一次方程x1+2x2+3x3+5x4=6,列出所有可能的自然數(shù)解,并特別求出使函數(shù)
f=2x1+3x2+4x3+5x4取最大值的解。求解題的python程序代碼。