不会高数可以学python吗_利用Python来学高数!会达到事半功倍的效果吗?

我们知道,Python在数据分析,机器学习,人工智能,科学计算,网络爬虫这几个方面已经做得非常好了。前面已经讲了很多关于数据分析,机器学习,人工智能,网络爬虫方面的应用。今天就讲一讲Python在科学计算方面的一个小例子。

导入模块

画两条函数曲线:

这张图显得太简单,不能说明问题,进一步作图:

私信小编007有神秘惊喜哦!当然有可能会是惊吓!

首先我们需要求两个曲线交点的值:

由于计算机不能表示无理数,我们取解的精度为0.0001,这里暂且取x=0.7071.

于是我们用定积分和二重积分求解:

结果定积分和二重积分的结果是一样的,都是0.471

这是运用微积分的方式求出正确的解0.471:

当然,我们也可以用前一讲的频率学派,即是蒙特卡洛模拟的方法求近似解。

源代码:

import random # Get the next random number in the range [0.0, 1.0)import matplotlib.pyplot as pltimport numpy as npplt.rcParams['font.sans-serif']=['SimHei']x = np.arange(0, 1, 0.001) y1 = x**2 y2 = -x**2 + 1plt.plot(x, y1, 'b', x, y2, 'r', lw=2) # 开始蒙特卡洛模拟def Simulate(N): #点落在圆内的次数 k = 0.0 for n in range(1, N): x = random.random() # 点落在x轴(0,1)的随机数 y = random.random() # 点落在y轴(0,1)的随机数 if 0 < x="">< 1="" and="" x**2="">< y="">< -x**2="" +="" 1:="" #="" 如果点在圆内="" k+="1" #="" 累加点在圆内的次数="" return="" (k/n)="" #="" 四分之一圆的面积*4既是圆的面积,也即是pi值#="" 模拟一万次点落a区域或单位正方形内n="10000S_list" =="" [simulate(i)="" for="" i="" in="" range(1,="" 10001)]="" s="np.array(S_list)n" =="" np.array(list(range(1,n+1)))="" fig,="" ax1="plt.subplots()ax1.plot(n," s,="" linestyle='-' ,="" linewidth="0.5," color='#00bc57' )="" ax1.set_xlabel('模拟次数',="" fontsize="16)ax1.set_ylabel('面积'," fontsize="16)ax1.set_xlim(0," 10000)ax1.set_ylim(0.3,="" 0.6)plt.title('蒙特卡洛模拟求解',fontsize="20," loc='center' )plt.savefig('d:/fig.jpg',="" dpi="500)" plt.show()="">

可以看出我们如果不知道一个函数曲线的方程式,无法用表达式表示出来,就需要用蒙特卡洛这样的方法求解,在现实生活中,很多事物也不能用函数表达式表示出来,即是用一种模拟仿真的方式去求得近似真实值的解。像在力学方面,分子动力学方面,热力统计学方面等就需要用这种统计模拟的方式来求解。

从图上看,我们可以看到,面积的值基本在0.47附近波动。

我们来看一下每次模拟得到的面积总和的均值:

0.471,这与真实值非常接近。说明我们的模拟基本上已经成功,并且都达到了求解面积的目的。Python在高数、线性代数、统计学方面都是很值得学习的工具。虽然在MATLAB在数学这方面比较强,但是Python同样能实现,Python不仅在数学方面,在机器学习,人工智能,网络爬虫,Web开发等方面都做的非常好,而且其简单易学的语法,优美简洁的程序语句深受人们喜爱,这也是近两年Python排名前三的原因(前两名是Java、C)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值