概述
文章目录
- 摘要
- 1 级数求和
- 1.1 MATLAB级数求和函数
- 1.2 级数求和应用实例
- 1.3 特例
- 2 泰勒级数
- 2.1 泰勒级数函数的调用
- 2.2 泰勒级数的应用
- 结语
摘要
本文是《科学计算与MATLAB语言》专题七第3小节的学习笔记,如果大家有时间的话,可以去听听课,没有的话,可以看看我的笔记,还是很不错的。本节主要讲了如何利用MATLAB求级数之和以及泰勒级数如何计算,文中每个代码我都跑过一遍,可以直接复制到MATLAB中运行。
1 级数求和
1.1 MATLAB级数求和函数
求无穷级数的和需要符号表达式求和函数symsum(),其调用格式为:
symsum(s,v,n,m)
其中,s表示一个级数的通项,是一个符号表达式。v是求和变量,v省略时使用系统的默认变量。n和m是求和变量v的初值和末值。
银行利率的计算问题
例1 求下列级数之和。
(1)
S
1
=
1
+
4
+
9
+
16
+
…
+
10000
S_1=1+4+9+16+…+10000
S1=1+4+9+16+…+10000
(2)
S
2
=
1
−
1
2
+
1
3
−
1
4
+
.
.
.
+
(
−
1
)
n
+
1
1
n
.
.
.
S_2=1-frac{1}{2}+frac{1}{3}-frac{1}{4}+...+(-1)^{n+1}frac{1}{n}...
S2=1−21+31−41+...+(−1)n+1n1...
(3)
S
3
=
1
−
1
3
+
1
5
−
1
7
+
.
.
.
+
(
−
1
)
n
+
1
1
2
n
−
1
.
.
.
S_3=1-frac{1}{3}+frac{1}{5}-frac{1}{7}+...+(-1)^{n+1}frac{1}{2n-1}...
S3=1−31+51−71+...+(−1)n+12n−11...
(1)
S
1
=
1
+
4
+
9
+
16
+
…
+
10000
S_1=1+4+9+16+…+10000
S1=1+4+9+16+…+10000
syms n;
s1=symsum(n^2,1,100)
s1 =
338350
(2) S 2 = 1 − 1 2 + 1 3 − 1 4 + . . . + ( − 1 ) n + 1 1 n . . . S_2=1-frac{1}{2}+frac{1}{3}-frac{1}{4}+...+(-1)^{n+1}frac{1}{n}... S2=1−21+31−41+...+(−1)n+1n1...
s2=symsum((-1)^(n-1)/n,1,inf)
s2 =
log(2)
(3) S 3 = 1 − 1 3 + 1 5 − 1 7 + . . . + ( − 1 ) n + 1 1 2 n − 1 . . . S_3=1-frac{1}{3}+frac{1}{5}-frac{1}{7}+...+(-1)^{n+1}frac{1}{2n-1}... S3=1−31+51−71+...+(−1)n+12n−11...
s3=symsum((-1)^(n-1)/(2*n-1),n,1,inf)
s3 =
hypergeom([-1/2, 1], 1/2, -1) - 1
上式是什么意思呢?
hypergeom([-1/2, 1], 1/2, -1) - 1
ans =
0.7854
看 看 4 倍 的 S 3 是 什 么 意 思 。 看看4倍的S_3是什么意思。 看看4倍的S3是什么意思。
s3=symsum((-1)^(n-1)/(2*n-1),n,1,inf)
eval(s3)*4
ans =
3.1416
可以看出 S 3 = π 4 S_3=frac{pi}{4} S3=4π。
1.2 级数求和应用实例
假设某人在银行存款50000元,年利率为4.5%,按复利计息。
①若半年期计息一次,请问一年后总金额是多少?
②若每季度计息一次,请问一年后总金额是多少?
③若每月计息一次,请问一年后总金额是多少?
④若计息时间无限短,即计息期数趋于无穷,则一年后总金额是多少?
思考:期数无限多,总金额是否也会无限增长?
问题分析:
假
设
存
款
(
初
始
总
金
额
)
为
p
,
年
利
率
为
r
,
计
息
期
数
为
k
。
第
一
期
后
总
金
额
为
p
∗
(
1
+
r
/
k
)
。
第
二
期
后
总
金
额
为
p
∗
(
1
+
r
/
k
)
2
。
第
三
期
后
总
金
额
为
p
∗
(
1
+
r
/
k
)
3
。
依
此
类
推
,
第
k
期
后
总
金
额
为
p
∗
(
1
+
r
/
k
)
k
。
color{green}假设存款(初始总金额)为p,年利率为r,计息期数为k。\ 第一期后总金额为p*(1+r/k)。\ 第二期后总金额为p*(1+r/k)^2。\ 第三期后总金额为p*(1+r/k)^3。\ 依此类推,第k期后总金额为p*(1+r/k)^k。
假设存款(初始总金额)为p,年利率为r,计息期数为k。第一期后总金额为p∗(1+r/k)。第二期后总金额为p∗(1+r/k)2。第三期后总金额为p∗(1+r/k)3。依此类推,第k期后总金额为p∗(1+r/k)k。
①若半年期计息一次,请问一年后总金额是多少?
syms k r;
p2=symsum(50000*(1+0.045/k)^k,k,2,2);
eval(p2)
ans =
5.2275e+04
②若每季度计息一次,请问一年后总金额是多少?
syms k r;
p4=symsum(50000*(1+0.045/k)^k,k,4,4);
eval(p4)
ans =
5.2288e+04
③若每月计息一次,请问一年后总金额是多少?
syms k r;
p12=symsum(50000*(1+0.045/k)^k,k,12,12);
eval(p12)
ans =
5.2297e+04
④若计息时间无限短,即计息期数趋于无穷,则一年后总金额是多少?
limit((1+r/k)^k,k,inf)%计算一下lim(1+r/k)^k,k趋于无穷大时的结果。
ans =
exp(r)
所以,即使是无数次计息,只要年利率确定,总金额也不会无限增长,它收敛于
p
e
r
pe^r
per。
当p=5000,r=4.5%时。
5000*exp(0.045)
ans =
5.2301e+03
1.3 特例
注
意
:
在
符
号
计
算
中
,
因
为
小
数
都
表
示
为
有
理
分
数
的
形
式
,
随
着
计
算
次
数
的
增
加
,
容
易
导
致
分
子
或
分
母
出
现
极
大
整
数
从
而
无
法
计
算
的
情
况
。
color{red}注意:\在符号计算中,因为小数都表示为有理分数的形式,随着计算次数的增加,\容易导致分子或分母出现极大整数从而无法计算的情况。
注意:在符号计算中,因为小数都表示为有理分数的形式,随着计算次数的增加,容易导致分子或分母出现极大整数从而无法计算的情况。
求以下级数之和
(1)
S
1
=
1
+
1
/
4
+
1
/
9
+
.
.
.
+
1
/
n
2
+
.
.
.
S_1=1+1/4+1/9+...+1/n^2+...
S1=1+1/4+1/9+...+1/n2+...
(2)
S
2
=
1
+
1
/
4
+
1
/
9
+
.
.
.
+
1
/
50
0
2
S_2=1+1/4+1/9+...+1/500^2
S2=1+1/4+1/9+...+1/5002
syms n;
s1=symsum(1/n^2,n,1,inf)
s1 =
pi^2/6
syms n;
s2=symsum(1/n^2,n,1,500)
s2 =
409896675094...
eval(s2)
ans =
NaN
第2个级数无法使用symsum函数求和。但可以使用循环计算。
s=0
for i=1:500
s=s+1/i^2
end
s =
1.6429
2 泰勒级数
2.1 泰勒级数函数的调用
MATLAB提供了taylor()函数将函数展开为幂级数,其调用格式为:
taylor(f,v,a,Name,Value)
该函数将函数f按变量v在a点展开为泰勒级数,v的默认值与diff函数相同,a的默认值是0。Name和Value为选项设置,经常成对使用,前者为选项名,后者为该选项的值。
Name有3个可取字符串:
①’ExpansionPoint’:指定展开点,对应值可以是标量或向量。
未设置时,展开点为0。
②’Order’:指定截断参数,对应值为一个正整数。未设置时,截断参数为6,即展开式的最高阶为5。
③’OrderMode’:指定展开式采用绝对阶或相对阶,对应值为
’Absolute’或’Relative’。未设置时取Absolute’。
例2 求函数
f
f
f在
x
=
1
x=1
x=1处的5阶泰勒级数展开式。
(1)
f
=
1
+
x
+
x
2
1
−
x
+
x
2
f=frac{1+x+x^2}{1-x+x^2}
f=1−x+x21+x+x2
syms x;
f=(1+x+x^2)/(1-x+x^2);
taylor(f,x,1,'order',6)
ans =
2*(x - 1)^3 - 2*(x - 1)^2 - 2*(x - 1)^5 + 3
expand(ans)
ans =
- 2*x^5 + 10*x^4 - 18*x^3 + 12*x^2 + 1
2.2 泰勒级数的应用
复杂函数的计算方法问题
除
了
四
则
运
算
以
外
,
计
算
机
对
其
他
复
杂
函
数
怎
么
计
算
?
是
否
存
在
一
种
方
法
,
使
得
计
算
机
只
需
要
通
过
四
则
运
算
,
就
能
计
算
其
他
复
杂
函
数
?
color{blue}除了四则运算以外,计算机对其他复杂函数怎么计算?\是否存在一种方法,使得计算机只需要通过四则运算,就能计算其他复杂函数?
除了四则运算以外,计算机对其他复杂函数怎么计算?是否存在一种方法,使得计算机只需要通过四则运算,就能计算其他复杂函数?
泰勒级数展开就是一种非常好的解决方案。
例3 利用泰勒展开式计算三角函数的值。
syms x;
f=taylor(cos(x),x,pi)%求cos(x)的泰勒展开式并赋值给f
f =
(x - pi)^2/2 - (x - pi)^4/24 - 1
syms x;
f=taylor(cos(x),x,pi);
x=3;
eval(f)
ans =
-0.9900
cos(3)
ans =
-0.9900
通过泰勒级数展开的方法,成功地将三角函数的计算转换成了四则运算。
是不是感觉数学实在是太美妙了。
结语
最后欢迎大家点赞????,收藏⭐,转发????,
如有问题、建议,请您在评论区留言????哦。
最后
以上就是心灵美小刺猬为你收集整理的利用MATLAB计算级数之和与泰勒级数的应用摘要1 级数求和2 泰勒级数结语的全部内容,希望文章能够帮你解决利用MATLAB计算级数之和与泰勒级数的应用摘要1 级数求和2 泰勒级数结语所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复