精华内容
下载资源
问答
  • python解决数学问题

    千次阅读 2018-11-01 10:52:53
    本文通过python解决一些常见的数学问题,辅助练习。 """ 有20块钱,饮料1块一瓶,2个空瓶子可以换一瓶,总共可以喝多少瓶 """ def drink(): m = 20 # 总共多少钱 p = 1 k = 0 #...

    本文通过python解决一些常见的数学问题,辅助练习。

    """
    有20块钱,饮料1块一瓶,2个空瓶子可以换一瓶,总共可以喝多少瓶
    """
    
    
    def drink():   
        m = 20 # 总共多少钱
        p = 1
        k = 0  # 空瓶数量
        h = 0  # 总共喝了多少瓶
        
        while m > p-1:
            m -= 1
            h += 1
            k += 1
            while k > 1:
                k -= 2
                h += 1
                k += 1
        else:
            while k > 1:
                k -= 2
                h += 1
                k += 1
        if k > 0:
            h += 1
        
        print(h)
    
    
    展开全文
  • python解决数学问题

    2020-02-13 11:40:57
    如题: python代码如下: for a in range(1,5): for b in range(0,9): for c in range(0,9): abc = a*100 + b*10 + c t1 = abc % 8 == 0 #甲说abc可以被2整除3次 t2 = abc...

    如题: 

     

    python代码如下: 

    for a in range(1,5):
        for b in range(0,9):
            for c in range(0,9):
    
                abc = a*100 + b*10 + c
                t1 = abc % 8 == 0 #甲说abc可以被2整除3次
                t2 = abc % 9 == 0 #乙说abc可以被3整除2次
                t3 = abc % 7 == 0 #丙说abc可以被7整除
                t4 = a + b + c == 15 #丁说abc之和是15
    
                if t1 is True and t2 is True and t3 is True:
                    print ("丁说谎,abc = ", abc)
                elif t1 is True and t2 is True and t4 is True:
                    print ("丙说谎,abc = ", abc)
                elif t1 is True and t3 is True and t4 is True:
                    print ("乙说谎,abc = ", abc)
                elif t2 is True and t3 is True and t4 is True:
                    print ("甲说谎,abc = ", abc)

     运行程序得到结果:

    乙说谎,abc =  168

     

     

    展开全文
  • Python解决数学问题(Sympy )

    千次阅读 2020-02-15 15:22:39
    线性方程 微积分 微分方程

    线性方程

    题目
    题目
    相关符号

    from sympy import *
    x = Symbol('x')
    y = Symbol('y')
    
    from sympy import *
    x, y = symbols('x y')
    

    运算符

    • 加号 +
    • 减号 -
    • 除号 /
    • 乘号 *
    • 指数 **
    • 对数 log()
    • e的指数次幂 exp()

    题目表达式

    2 * x - y - 3 = 0
    3 * x + y - 7 = 0
    

    线性方程解法(solve)

    from sympy import *
    x = Symbol('x')
    y = Symbol('y')
    print(solve([2 * x - y - 3, 3 * x + y - 7],[x, y]))
    from sympy import *
    n = Symbol('n')
    s = ((n+3)/(n+2))**n
    print(limit(s, n, oo))
    # result
    # {x: 2, y:1}
    

    答案
    解法

    微积分

    1 求极限

    题目

    题目

    相关符号

    • oo 无穷大(两个字母o)
    • E e
    • pi 圆周率

    打印函数

    • init_printing() 输出更美观
    • 也可直接使用pprint()函数

    示例

    >>> init_printing()
    >>> from sympy import *
    >>> x = Symbol('x')
    >>> x*(sqrt(x**2 + 1) - x)
      /        ________\
      |       /  2     |
    x*\-x + \/  x  + 1 /
    

    求极限解法(limit)

    from sympy import *
    n = Symbol('n')
    s = ((n+3)/(n+2))**n
    print(limit(s, n, oo))
    #result
    #E
    

    答案

    2 求定积分

    题目

    题目
    示例

    >>> integrate(6*x**5, x)
    x**6
    >>> integrate(6*x ** 5, x)
     6
    x 
    >>> integrate(cos(x), x)
    sin(x)
    

    求定积分解法(integrate)

    from sympy import *
    t = Symbol('t')
    x = Symbol('x')
    m = integrate(sin(t)/(pi-t),(t,0,x)) #f(x)
    n = integrate(m,(x,0,pi)) #目标积分式
    print(n)
    #result
    #2
    

    答案
    答案

    微分方程

    题目
    题目
    相关符号

    from sympy import *
    f = Function('f') #f(x)
    x = Symbol('x')
    diff(f(x),x) #y'
    

    示例

    diff(f(x),x)
    d
    --(f(x))
    dx
    

    高阶导

    >>> diff(x**3,x) #y' 
    3*x**2
    >>> diff(x**3,x,1) #y'
    3*x**2
    >>> diff(x**3,x,2) #y''
    6*x
    >>> diff(x**3,x,3) #y'''
    6
    >>> diff(x**3,x,4) #y''''
    0
    

    解微分方程(dslove)

    dsolve(eo, f(x))
    
    • 第一个参数为微分方程(要先将等式移项为右端为0的形式)。
    • 第二个参数为要解的函数(在微分方程中)
    from sympy import *
    f = Function('f')
    x = Symbol('x')
    print(dsolve(diff(f(x),x) - 2*f(x)*x, f(x)))
    

    答案
    答案

    展开全文
  • Python解决高等数学问题

    万次阅读 多人点赞 2021-03-15 13:00:40
    Python解决高等数学问题,妈妈再也不用担心我的学习 from sympy import * 输入“x= symbols(“x”)”命令定义一个符号 x = Symbol("x") y = Symbol("y") 求极限limit limit(sin(x)/x,x,0) 1\displaystyle 11 f2=...

    使用Python中的Sympy库解决高等数学中极限、导数、偏导数、定积分、不定积分、双重积分等问题

    在这里插入图片描述


    Sympy是一个Python的科学计算库,它旨在成为功能齐全的计算机代数系统。 SymPy 包括从基本符号算术到微积分,代数,离散数学和量子物理学的功能。 它可以在 LaTeX 中显示结果。

    Sympy官网


    在这里插入图片描述

    看到这图,是不是感觉快喘不过气了呢。Python来帮你解决。

    from sympy import *
    import sympy
    

    输入“x= symbols(“x”)”命令定义一个符号

    x = Symbol("x")
    y = Symbol("y")
    

    1. 实用技巧

    1.1 符号函数

    sympy提供了很多数学符号,总结如下

    • 虚数单位
    sympy.I
    
    • 自然对数
    sympy.E 
    
    • 无穷大
    sympy.oo
    
    • 圆周率
     sympy.pi
    
    • 求n次方根
     sympy.root(8,3)
    
    • 取对数
    sympy.log(1024,2)
    
    • 求阶乘
    sympy.factorial(4)
    
    • 三角函数
    sympy.sin(sympy.pi)
    sympy.tan(sympy.pi/4)
    sympy.cos(sympy.pi/2)
    

    1.2 展开表达式expand

    f = (1+x)**3
    expand(f)
    

    x3+3x2+3x+1\displaystyle x^{3} + 3 x^{2} + 3 x + 1

    1.3 泰勒展开公式series

    ln(1+x).series(x,0,4)
    

    xx22+x33+O(x4)\displaystyle x - \frac{x^{2}}{2} + \frac{x^{3}}{3} + O\left(x^{4}\right)

    sin(x).series(x,0,8)
    

    xx36+x5120x75040+O(x8)\displaystyle x - \frac{x^{3}}{6} + \frac{x^{5}}{120} - \frac{x^{7}}{5040} + O\left(x^{8}\right)

    cos(x).series(x,0,9)
    

    1x22+x424x6720+x840320+O(x9)\displaystyle 1 - \frac{x^{2}}{2} + \frac{x^{4}}{24} - \frac{x^{6}}{720} + \frac{x^{8}}{40320} + O\left(x^{9}\right)

    (1/(1+x)).series(x,0,5)
    

    1x+x2x3+x4+O(x5)\displaystyle 1 - x + x^{2} - x^{3} + x^{4} + O\left(x^{5}\right)

    tan(x).series(x,0,4)
    

    x+x33+O(x4)\displaystyle x + \frac{x^{3}}{3} + O\left(x^{4}\right)

    (1/(1-x)).series(x,0,4)
    

    1+x+x2+x3+O(x4)\displaystyle 1 + x + x^{2} + x^{3} + O\left(x^{4}\right)

    (1/(1+x)).series(x,0,4)
    

    1x+x2x3+O(x4)\displaystyle 1 - x + x^{2} - x^{3} + O\left(x^{4}\right)

    1.4 符号展开

    a = Symbol("a")
    b = Symbol("b")
    #simplify( )普通的化简
    simplify((x**3 + x**2 - x - 1)/(x**2 + 2*x + 1))
    #trigsimp( )三角化简
    trigsimp(sin(x)/cos(x))
    #powsimp( )指数化简
    powsimp(x**a*x**b)
    

    xa+b\displaystyle x^{a + b}

    2. 求极限limit

    limit(sin(x)/x,x,0)
    

    1\displaystyle 1

    f2=(1+x)**(1/x)
    
    f2
    

    (x+1)1x\displaystyle \left(x + 1\right)^{\frac{1}{x}}

    重要极限

    f1=sin(x)/x
    f2=(1+x)**(1/x)
    f3=(1+1/x)**x
    lim1=limit(f1,x,0)
    lim2=limit(f2,x,0)
    lim3=limit(f3,x,oo)
    print(lim1,lim2,lim3)
    
    1 E E
    

    dir可以表示极限的趋近方向

    f4 = (1+exp(1/x))
    f4
    

    e1x+1\displaystyle e^{\frac{1}{x}} + 1

    lim4 = limit(f4,x,0,dir="-")
    lim4
    

    1\displaystyle 1

    lim5 = limit(f4,x,0,dir="+")
    lim5
    

    \displaystyle \infty

    3. 求导diff

    diff(函数,自变量,求导次数)

    3.1 一元函数

    求导问题

    diff(sin(2*x),x)
    

    2cos(2x)\displaystyle 2 \cos{\left(2 x \right)}

    diff(ln(x),x)
    

    1x\displaystyle \frac{1}{x}

    3.2 多元函数

    求偏导问题

    diff(sin(x*y),x,y)
    

    xysin(xy)+cos(xy)\displaystyle - x y \sin{\left(x y \right)} + \cos{\left(x y \right)}

    4. 积分integrate

    4.1 定积分

    • 函数的定积分: integrate(函数,(变量,下限,上限))
    • 函数的不定积分: integrate(函数,变量)
    f = x**2 + 1
    integrate(f,(x,-1.1))
    

    1.54366666666667\displaystyle -1.54366666666667

    integrate(exp(x),(x,-oo,0))
    

    1\displaystyle 1

    4.2 不定积分

    f = 1/(1+x*x)
    integrate(f,x)
    

    atan(x)\displaystyle \operatorname{atan}{\left(x \right)}

    举例:

    from sympy import *
    x = Symbol('x'); t = Symbol('t')    # 定义两个变量
    lmt = limit(
        (integrate(t*cos(t),(t,0,x))-1+cos(x)) / (sqrt(x*tan(x)+1)-sqrt(x*sin(x)+1)), 
        x,
        0)
    print(lmt)  # -1/3
    
    -1/3
    

    4.3 双重积分

    f = (4/3)*x + 2*y
    integrate(f,(x,0,1),(y,-3,4))
    

    11.6666666666667\displaystyle 11.6666666666667

    5. 求解方程组solve

    #解方程组
    #定义变量
    f1=x+y-3
    f2=x-y+5
    solve([f1,f2],[x,y])
    

    {x: -1, y: 4}

    6. 计算求和式summation

    计算求和式可以使用sympy.summation函数,其函数原型为sympy.summation(f, *symbols, **kwargs)

    加粗样式
    **

    sympy.summation(2 * n,(n,1,100))
    

    10100

    到这里就结束了,如果对你有帮助,欢迎点赞关注评论,你的点赞对我很重要。在此也祝愿大家可以把数学学好


    参考:

    https://docs.sympy.org/latest/index.html

    在这里插入图片描述

    展开全文
  • 摘要:在学习与科研中,经常会遇到一些...本文使用Python语言的NumPy库,解决数学运算问题中的线性方程组问题、积分问题、微分问题及矩阵化简问题,结果准确快捷,具有一定的借鉴意义。1.Sympy库简介SymPy一个用于符...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,159
精华内容 463
关键字:

python解决数学问题

python 订阅