用Julia进修微积分:这有一份高赞数学教程 | 附习题+代码_导数_函数
量子位 宣布 | 公众年夜众号 QbitAI
以快速简洁有名Julia,本身便是为打算科学的须要而生。用它来学习微积分再得当不过了,而且Julia的语法更贴近实际的数学表达式,对没学过编程语音的初学者非常友好。
最近,来自纽约斯塔顿岛学院的数学系教授John Verzani编写了一份微积分与Julia的教程,里面常见的微积分观点和图像演示都有,比教材更生动直不雅观,每个章节后还附习题供读者巩固知识。
虽然很多学校在利用Mathematica、Maple等数学软件在进行传授教化,但是Julia的上风是完备开源和免费。
准备事情
在利用教程之前,我们先给Julia安装Plots包,这是用来绘制函数图像的扩展包。此外还要安装SymPy科学打算库等其他软件包。
using PkgPkg.add(\"大众Plots\公众)Pkg.add(\公众SymPy\公众)Pkg.add(\公众Roots\"大众)Pkg.add(\"大众ForwardDiff\公众)Pkg.add(\公众ImplicitEquations\"大众)using Plotsplot(sin, 0, 2pi)
安装完以上的扩展包,就可以绘制函数图像了。我们大略绘制0到2π范围的正弦函数图像:
using Plotsplot(sin, 0, 2pi)
Julia支持输入分外数学符号,详细的方法是斜杠\后紧跟符号的LaTeX名称,然后按下Tab键,就能输出分外字符。比如:
θ = 45; v₀ = 200
输入θ的方法是\theta[tab],输入v₀的方法是v\_0[tab]。
导数
完成了Julia部分的基本传授教化后,下面便是微积分的基本观点了。
先回顾一下导数的定义,从函数图像上来看,导数便是函数割线斜率的极限,当割线上两点合并成一点时,它就变为切线。
实在便是求下面的极限:
Julia集成了求极限的功能,对付正弦函数sin(x)而言,求它的导数便是[sin(x+h)-sin(x)]/h在h趋于0时的极限
using SymPylimit((sin(x+h) - sin(x))/ h, h, 0)
通过以上方法求得sin(x)在x=0处的导数为1,绘制成函数图像便是:
f(x) = sin(x)c = 0tl(x) = f(c) + 1 (x - c)plot(f, -pi/2, pi/2)plot!(tl)
导数的运用
1、牛顿法
通过切线逐步逼近,求方程的近似解。
2、洛必达法则求极限
写成Julia措辞:
using SymPya,x = symbols(\"大众a, x\公众, positive=true, real=true)f(x) = sqrt(2a^3x - x^4) - a (a^2x)^(1//3)g(x) = a - (ax^3)^(1//4)
上面的表达式过于繁芜,是0/0的未定式,对分子f(x)和分母g(x)分别分别求导:
fp, gp = subs(diff(f(x),x), x=>a), subs(diff(g(x),x), x=>a)
得到结果
(-4a/3, -3/4)
以是极限值为16a/9。
积分
定积分便是求函数曲线下包围面积:
上图展示了求定积分的方法:把函数下方图形分割成多少个长条,随着长条越分越细,这些长条的面积之和就越来越靠近曲线下包围的面积。
为了求函数f(x)=x2在[0,1]区间里的定积分的近似值,我们把全体区域划分成50000份:
a, b = 0, 1f(x) = x^2n = 50_000xs = a:(b-a)/n:bdeltas = diff(xs) cs = xs[1:end-1] sum(f(cs[i]) deltas[i] for i in 1:length(deltas))
末了求得结果为:
0.3333233333999998
显然用这种方法求定积分太过繁芜,这就须要引入不定积分的观点。不定积分是已知导数f’(x)求原函数f(x)。
定积分与不定积分由牛顿-莱布尼兹公式联系起来:
积分的运用
学会了积分往后,教程里给出了它的几个实际运用案例:
1、求曲线长度
求解f(x)=x2在[0,1]这段区间里的弧长,实际上求积分。
先求不定积分:
using SymPy@vars xF = integrate(sqrt(1 + (2x)^2), x)
F(1)-F(0)便是所求弧长:
2、求体积
求体积的方法是把物体“切”成一圈圈的米其林,每一圈的体积加起来便是总体积。
将直线x/r+y/h=1绕着y轴旋转一周,得到一个底面直径为r,高度为h的圆锥体。
using SymPy@vars r h x yR = r(1 - y/h)integrate(piR^2, (y, 0, h))
末了求得体积:
教程中还有很多其他基本观点,由于篇幅较长,我们就不一一先容了,感兴趣的朋友可以去博客中进一步学习。
原文地址:
https://calculuswithjulia.github.io/
— 完 —
诚挚招聘
量子位正在招募编辑/,事情地点在北京中关村落。期待有才华、有激情亲切的同学加入我们!
干系细节,请在量子位"大众号(QbitAI)对话界面,回答“招聘”两个字。
量子位 QbitAI · 号签约作者
վ'ᴗ' ի 追踪AI技能和产品新动态
本文系作者个人观点,不代表本站立场,转载请注明出处!