美赛python学习d4--python在高等数学和线性代数中的应用

科学计算设计数值计算和符号计算,在python中作基础数值计算用numpy和scipy工具库,作符号运算用sympy工具库

sympy工具库–符号运算

sympy常见模块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

符号运算基本知识

  1. 利用symbols函数创建符号变量
    构造多个符号变量时中间以空格分隔
    在这里插入图片描述

  2. 利用符号变量创建表达式

  3. 利用符号表达式的subs方法计算表达式的符号值,利用evalf或n方法获得任何对象的浮点近似值
    在这里插入图片描述
    在这里插入图片描述

sympy处理有理数的合并,化简

  1. together函数计算有理数的加法
  2. apart函数计算有理数的除法
    在这里插入图片描述
    上述together函数实现了分式的通分,apart函数实现了分式的化简

用sympy做符号函数画图

支持二维曲线,三维曲面,隐函数等的画图
在这里插入图片描述
在这里插入图片描述

sympy在高等数学中的符号解

可以用于求极限,求导数,级数求和,泰勒展开,不定积分和定积分,求方程的解等

scipy工具库–数值运算

scipy工具库是对numpy的功能扩展,提供了许多高级数学函数,如微积分,方程求解等

scipy常用模块

微积分模块支持数值积分和微分方程数值解的功能

在这里插入图片描述

  1. 利用quad函数求函数的一重积分,f通常采用lamba函数的形式
    在这里插入图片描述
  2. 利用dblquad,tplquad函数求多重积分
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

求非线性方程(组)的数值解

fsolve函数第一个参数是函数f,由于方程可能不止一个解,后面的参数是guess的解的估计值
在这里插入图片描述

在这里插入图片描述

高等数学问题的符号解和数值解

求非线性方程组的数值解

一般阶数大于等于5以上的非线性方程组无法找到准确的解的表达式,只能通过一些特殊的方法找到方程在误差范围内的数值解

二分法

在这里插入图片描述

python求解

e.g
在这里插入图片描述

import numpy as np 

def binary_search(f,eps,a,b):
    c=(a+b)/2
    while np.abs(f(c))>eps:
        if f(a)*f(c)<0 :b=c
        else :a=c
        c=(a+b)/2
    return c
f=lambda x:x**3-2*x-5
print("二分法求得的根为:",binary_search(f,0.5e-3,2,3))

运行结果
二分法求得的根为: 2.09454345703125

牛顿迭代法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

线性代数问题的符号解和数值解

可以求矩阵的行列式,秩,逆矩阵,构造特殊矩阵(单位矩阵),求向量的模等

  1. sympy求解线性方程组的符号解
  2. numpy求解线性方程组的数值解
  • 齐次线性方程组
    在这里插入图片描述
    在这里插入图片描述
  • 非齐次线性方程组
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值