重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
比较弱的问一下,你确定不是
在善左等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站设计 网站设计制作专业公司,公司网站建设,企业网站建设,品牌网站设计,全网整合营销推广,外贸营销网站建设,善左网站建设费用合理。
'''
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解数学方程,需要用到Python的一个库——SymPy库。
SymPy是符号数学的Python库,它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁、易于理解和扩展。
如果你的电脑上还没有安装sympy库,那就赶紧安装吧,安装命令:
pip3 install sympy
请点击输入图片描述
先来解一个简单点的方程吧。
题目: 5x + 20 = 100
先直接上代码:
from sympy import *
x = Symbol('x')
print(solve([5*x + 20 - 100], [x]))
请点击输入图片描述
再来一个复杂点的二元一次方程吧。
题目: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]))
请点击输入图片描述
有没有发现规律呢,简单总结一下:
1)变量赋值,使用symbol函数转换;
2)将方程式移到方程的左边,使右边等于0;
3)使用solve函数解方程。
当然了,python的基础语法必须掌握,至少需要掌握python最基础的算数运算符。
+ 加 ---- 两个对象相加
- 减 ----- 得到负数或是一个数减去另一个数
* 乘 ----- 两个数相乘或是返回一个被重复若干次的字符串
/ 除 ----- x 除以 y
% 取模 ----- 返回除法的余数
** 幂 ----- 返回x的y次幂
log() 对数-----对数 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.
即函数方程为
y=6x-12
将x=5代入,即
y=6*5-12=18
已知四元一次方程x1+2x2+3x3+5x4=6,列出所有可能的自然数解,并特别求出使函数
f=2x1+3x2+4x3+5x4取最大值的解。求解题的python程序代码。