1 / 189

数学分析实验 - Mathematica 软件的应用

数学分析实验 - Mathematica 软件的应用. 自然数的倒数组成的数列 称为调和数列。它的前 n 项和数列 记作 H ( n ) 。. 数学实验实例一. 调和数列研究. 1 、调和数列. 2 、提出问题: H ( n ) 是否收敛?. 我们借助于数学软件 Mathematica 对 H ( n ) 的收敛性进行观察。. Step1 定义前 n 项和 H ( n ) H[n_]:=Sum[1/k,{k,1,n}]. Step2 列出 H ( n ) 随 n 变化的数据表

halia
Download Presentation

数学分析实验 - Mathematica 软件的应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数学分析实验- Mathematica软件的应用

  2. 自然数的倒数组成的数列 称为调和数列。它的前n项和数列 记作H(n)。 数学实验实例一 调和数列研究 1、调和数列

  3. 2、提出问题:H(n)是否收敛? 我们借助于数学软件Mathematica 对H(n)的收敛性进行观察。 Step1 定义前n项和H(n) H[n_]:=Sum[1/k,{k,1,n}] Step2 列出H(n)随n变化的数据表 t=Table[{n,N[H[n],6]},{n,1,100}]

  4. Step3 根据数据表画出H(n)的图形 ph1=ListPlot[t]

  5. 通过对所得图象的观察和分析,我们发现它很接近对数函数的图象。我们把它与对数函数 y=lnx的图象一起比较一下。 Step4 与对数函数 y=lnx 作比较 ph2=Plot[Log[x],{x,1,100}] Show[ph1,ph2]

  6. 根据图象比较的结果可以看出,当n很大时,H(n)的图象与ln(n)的图象非常相似,但它们大致相差一个常数。这个常数约为根据图象比较的结果可以看出,当n很大时,H(n)的图象与ln(n)的图象非常相似,但它们大致相差一个常数。这个常数约为 C=H(100)-ln100≈0.5822. 我们将 lnx 的图象向上平移C个单位后再进行观察。 c1=H[100]-Log[100] ph3=Plot[Log[x]+c1,{x,1,100}] Show[ph1,ph3]

  7. 猜测1 调和数列的前n项和H(n)是发散数列,它的数值与ln(n)+C 很接近。 猜测2 数列H(n)- ln(n)可能是收敛的。

  8. Step5 用计算数据作印证 对充分大的n,计算H(n)-ln(n)的值: t2=Table[N[{n,H[n],Log[n],H[n]-Log[n]},10], {n,1000,10000,1000}] 可以得到如下的数据表:

  9. 3、研究数列H(n)-ln(n)的收敛性 Step1 令C(n)=H(n)-ln(n),通过图象观察其特性: Cup[n_] :=H[n]-Log[n] tup=Table[ {n, N[Cup[n],6]},{n,1,100}] ph4=ListPlot[tup,PlotStyle->RGBColor[0,0,1]] Step2 令c(n)=H(n)-ln(n+1),通过图象观察其特性: Clow[n_] :=H[n]-Log[n+1] tlow=Table[ {n, N[Clow[n],6]},{n,1,100}] ph5=ListPlot[tlow,PlotStyle->RGBColor[1,0,0]]

  10. Step3 比较C(n)和c(n),在同一坐标系中作出它们的图象。 Show[ph4,ph5]

  11. 通过观察可知如下事实: 1、C(n)是单调递减数列; 2、c(n)是单调递增数列; 3、c(n) ≤ C(n); 4、c(n),C(n)都是收敛数列,而且它们有相同的极限。

  12. 结论: 极限 存在。 4、结论与证明 把这个极限值记为C,C ≈0.5772,称为欧拉(Euler)常数。

  13. 数学实验工具 常见的数学工具软件: 1、Mathematica; 2、Matlab; 3、Maple; 4、MathCad. 我们主要使用Mathematica这一数学工具软件。

  14. Mathematica介绍 Mathematica是一个功能强大的数学工具软件,具有数值计算、符号演算、图象制作、公式编辑和编程等各项功能。 1、运行和退出Mathematica系统。 2、界面介绍。 3、输入和计算表达式。 4、保存和打开文件。 5、使用帮助系统。

  15. 变量与函数 一、Mathematica中的数据类型 Mathematica系统中,数值分成四种类型:整数、有理数、实数和复数。 整数型数据可以表示任意长度的精确整数,不受计算机字长的限制。 如:264; 最大素数 21257787-1等。

  16. 有理型数据可以精确表示任意的既约分数,当两个整数相除而又不能整除时,就用有理数型表示。有理型数据可以精确表示任意的既约分数,当两个整数相除而又不能整除时,就用有理数型表示。 如:3/39. 实数型数据可以表示任意精度的近似实数。 如:Pi. 复数型数据可以表示复数,其实部和虚部可以是整数型、有理型或实数型。 如:I2;Arg[1+I].

  17. Mathematica中的数据类型

  18. 二、系统中的数据常数

  19. 三、函数与变量的命名规则 在Mathematica系统中,变量名和函数名遵从如下命名规则: (1) 以字母开头的任意长度的字符或数字串; (2) 区分大小写; (3) 为与系统函数相区别,通常以小写字母开头; (4) 函数的形式为f[x].

  20. 四、变量赋值与变量替换 举例如下: x=5; ( 赋值) x=. (取消赋值) /. x ->3 (变量替换,计算时用3暂时替换x的值) Clear[x] (清除x的定义及其赋值)

  21. 五、四则运算 优先级:乘方>乘除>加减;同级运算从左到右;乘方运算从右到左。

  22. 六、初等函数

  23. 例1 完成下列初等函数运算 1、 2、求 在x=3处的值,保留20位有效数字。 相应的命令如下: N[Sin[Pi/5+Tan[Pi/5]]] a1=Sin[x+Tan[x]]/.x->Pi/5 N[a1,10] t=Exp[-x^2/2]/Sqrt[2 Pi] N[t/.x->3,20]

  24. 七、自定义函数 (1) 出现在 f[x_]中的x是一类实体,用来表示函数定义中的变量。x_可以用任何形式的参数来替代,右端定义式中的x将会随之变化。看下面的例子:

  25. f[x_]:=2x-1 g[x]:=2x-1 f[10] f[x] f[Log[y]] g[10]+g[x]+g[y] f[10]+f[x]+f[y] 从这些例子中可以看出两者之间的差别。

  26. (2) 如果在定义函数时需要用几个命令才能完成,可以将几个命令依次排列,命令之间用分号分隔,用圆括号把首尾命令括起来。例如: h[x_]:=(y=Max[x];z=Min[x];y^2-z^2) a={1,2,4,6,8} h[a] 更恰当的方法是用模块形式来定义:其格式是: Module[{局部变量}, 函数表达式] 例如:上面的例子可以改写为: hh[x_]:=Module[{y,z}, y=Max[x];z=Min[x];y^2-z^2] a={1,2,4,6,8} hh[a]

  27. 例2 设 ,其中a, k是参数. 当 时, (1) 作出 f(x) 在x=0, 0.5, 1, 1.5, 2, 2.5, 3 处的数据表. (2) 画出函数 f(x) 的图形. g[x_,a_,k_]:=a Exp[-k^2 x^2] a=1/Sqrt[2 Pi]; k=1/2 Table[g[x,a,k],{x,0,3,0.5}] Plot[g[x,a,k],{x,-4,4}]

  28. 数学常数e的探讨 编制一个对数表,使任意给出的N都能简便地求出其对数值log a N . 借助于乘方运算容易得到如下对数表: 当 a =10时,得到下表:

  29. 问题1 怎样选择 a的值才能使 N 的取值间隔很小? 由于N=ab,a 的取值越接近于1,N 的间隔就越小。例如,取 a =1.0001,可以作出下面的对数表: NBase[r_,b_]:=(1+r)^b Table[{NBase[0.0001,b],b},{b,0,100,10}] Table[{NBase[0.0001,b],b},{b,100,1000,100}] Table[{NBase[0.0001,b],b},{b,1000,10000,1000}] Table[{NBase[0.0001,b],b},{b,10000,100000,10000}] 相应的对数表可以从Mathematica中得出。

  30. 由于对给定的 N, b*实际上是以 为底的对数。当r→0时,a→e. 从而得到以e为底的对数 ln N。 问题2 如何解决 b 过大的问题? 由于r 是一个已知的非常小的正数,取 b*=r b, b*的值就比较合适。

  31. 一位顾客在银行开设了一个1000元的存款帐户,银行每年支付10%的利息。用 an 表示 n 年后帐户中的存款总额。于是 其中a0=1000表示开户时的存款。 若银行改为每月结算一次利息,每月利率为r/12,n年后的本息之和为: 若每天结算一次利息,n年后的本息之和为: 连续利率与e

  32. 一般地,设银行每年结算m次利息,则n年之后的本息之和为一般地,设银行每年结算m次利息,则n年之后的本息之和为 设r为年利率,银行每年结算m次利息,每个结算周期的利率为r/m,n年后的存款总额为: 用Mathematica作如下的计算: 数学探讨

  33. 每年结算一次: a0=1;r=0.10;n=10; b[m_,n_,r_]:=a0(1+r/m)^(m n) b[1,n,r] 2.59374 每月结算一次: b[12,n,r] 2.70704 每天结算一次: b[365,n,r] 2.71791 每秒钟结算一次: b[365*24*3600,n,r] 2.71828

  34. 从计算结果可以看出,随着结算次数的增加,1元存款10年后的存款总额越来越接近e. 事实上,这是因为: 对一般情况,有: 结论: 连续结算方式下n年后的存款额计算公式为:

  35. 1.3 分段函数 Mathematica 的常用函数

  36. 例1 观察取整函数Round, Floor, Ceiling的用法。 Print[Round[1.4],Floor[1.4],Ceiling[1.4]] Print[Round[-1.4],Floor[-1.4],Ceiling[-1.4]] Print[Round[1.5],Floor[1.5],Ceiling[1.5]] Print[Round[-1.5],Floor[-1.5],Ceiling[-1.5]] 例2 观察符号函数Sign及Max, Min对函数的影响。 Plot[Sign[Cos[x]], {x,-2Pi,2Pi}] Plot[Max[Sin[x],Cos[x]], {x,-2Pi,2Pi}] Plot[Min[Sin[x],Cos[x]], {x,-2Pi,2Pi}]

  37. 用递归方法定义函数 Mathematica中可以利用递归方式定义函数。 例如,定义求阶乘的函数: fac[0]=1 fac[n_]:=n fac[n-1] 求前n个自然数的和: he[1]=1 he[n_]:=n+he[n-1] 注意:n应该是整数,否则出现无限循环。 系统默认的循环次数为256次。可设置系统 变量$RecursionLimit 的值修改这个缺省值。

  38. 例3 定义分段函数 定义分段函数 1、使用约束条件控制定义范围 y1[x_]:=3-Sqrt[-x]/;x<0 y1[x_]:=x^2

  39. 2、使用If 条件语句定义分段函数 y2[x_]:=If[x<0,3-Sqrt[-x],x^2,100]

  40. 3、使用Which条件语句定义分段函数 如: Which[x==2,1,x>3,3,True,0]

  41. 例3 定义分段函数 y[x_]:=Which[x<=0,0,x<=1,x^2,x<=2,1,x<=3,3-x,True,0]

  42. 4、关系判别和逻辑表达式

  43. 基本逻辑运算符有: Implies[p,q]等价于 !p||q.

  44. 个人所得税的纳税问题 1、实际背景 税法规定:公民的个人工资、薪金应依法纳税。所得税的计算办法为:在每个人的月收入中超过800元以上的部分应该纳税。应纳税款实行分段累积税率,按下列税率表计算:

  45. 若某人的月工资收入为x,请列出他应交纳的税款y与x之间的函数关系。若某人的月工资收入为x,请列出他应交纳的税款y与x之间的函数关系。

  46. 2、数学推导 • 按税法规定,当x≤800元时,不必纳税. y=0; • 当800<x≤1300元时,纳税部分是x-800. y=5%(x-800); • 当1300<x≤2800元时, y=25+10%(x-1300); • 以此类推,可以得出如下的纳税计算公式:

More Related