- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验七 matlab求解级数有关计算
??? 1.级数的基本概念
常数项级数:称用加号将数列的项连成的式子
为(常数项)无穷级数,简记为。称级数前项构成的和
为级数的部分和。若,则称级数收敛,其和为。
Taylor级数:设函数在包含的区域内具有各阶导数,则称幂级数
为函数在的Taylor级数,当时称为Maclaurin(麦克劳林)级数。
??? 2.级数的MATLAB命令
MATLAB中主要用symsum,taylor求级数的和及进行Taylor展开。
?
?
symsum(s,v,a,b) 表达式s关于变量v从a到b求和
taylor(f,a,n) 将函数f在a点展为n-1阶Taylor多项式
可以用help symsum, help taylor查阅有关这些命令的详细信息
??? 例1 先用taylor命令观测函数的Maclaurin展开式的前几项,例如观测前6项, 相应的MATLAB代码为:
clear; syms x;
taylor(sin(x),0,1)
taylor(sin(x),0,2)
taylor(sin(x),0,3)
taylor(sin(x),0,4)
taylor(sin(x),0,5)
taylor(sin(x),0,6)
结果为:
ans =0
ans =x
ans =x
ans =x-1/6*x^3
ans =x-1/6*x^3
ans =x-1/6*x^3+1/120*x^5
然后在同一坐标系里作出函数和它的Taylor展开式的前几项构成的多项式函数的图形,观测这些多项式函数的图形向的图形的逼近的情况。例如,在区间上作函数与多项式函数图形的MATLAB代码为:
x=0:0.01:pi;? y1=sin(x);? y2=x; y3=x-x.^3/6; y4=x-x.^3/6+ x.^5/120;
plot(x,y1,x,y2,’:’,x,y3, ’:’,x,y4,’:’)
结果如图3.1,其中实线表示函数的图形。
图3.1 的泰勒级数
类似地,根据函数的Taylor级数
作图观测其展开式的前几项多项式逼近原函数的情况。
例2 ????? 利用幂级数计算指数函数。指数函数可展开为幂级数
其通项为x^n/prod(1:n),因此用下列循环相加就可计算出这个级数
x=input(x=); n=input(n=); y=1;? %输入原始数据,初始化y
for i=1:n y=y+x^i/prod(1:i); end, vpa(y,10), %将通项循环相加,得y
执行此程序,分别带入x=1,2,4,-4这四个数,取n=10,y的结果如下
2.718281801, 7.388994709, 54 .9671957672e-1
而用vpa(exp(1),10), vpa(exp(2),10), vpa(exp(4),10), vpa(exp(-4),10)命令可得的10位精确有效数字为
2.718281828,? 7.389056099,? 54? .1831563889e-1
对照可知,用级数法计算的有效数字分别为8,4,2,0位。
由此可以看出,这个程序虽然原理上正确,但不好用。对不同的x,精度差别很大。其他存在的问题有:
这个程序不能用于x的元素群运算;当x为负数时,它成为交错级数,收敛很慢;此程序要做次乘法,n很大时,乘法次数太多,计算速度很低;对不同的x,要取不同的n才能达到精度要求,因此n不应由用户输入,应该由软件按精度要求来选。
正对上面的四个问题,可以采用下面四种方法改进:
(1)允许数组输入,改进输出显示
x=input(x=); n=input(n=); y=ones(size(x));? %输入原始数据,初始化y
for i=1:n
y=y+x.^i/prod(1:i); %循环相加
s1=sprintf(%13.0f,i); s2=sprintf(%15.8f,y); %将结果变为字符串
disp([s1,s2])? %显示
end,
执行此程序,输入x=[1 2 4 -4],n=10,结果为
??????????? 1???? 2??? 3??? 5?? -3??????????? 2???? 2??? 5?? 13??? 5??????????? 3???? 2??? 6?? 23?? -5??????????? 4???? 2??? 7?? 34.33333
您可能关注的文档
最近下载
- 2025年法考刑诉向高甲主观佛脚.pdf VIP
- 2025年新版人教版四年级上册英语 四上Unit 5 The weather and us 单元整体教学设计.pdf VIP
- 二年级上册音乐全册教案(人教版) .pdf VIP
- 新人教版七年级数学上册第一单元测试卷(含答案).docx VIP
- 2025初中数学课程标准+解读完整版++【2025版】.docx VIP
- 江苏省海安高级中学2024-2025学年高二上学期10月月考试题 物理含答案.docx VIP
- 档案 - 油橄榄低产园改造技术规程.pdf VIP
- 2025年法考刑诉考前知识点总结【预测版】.pdf VIP
- 义务教育语文课程标准(2025版)解读.pptx VIP
- 央视《美丽中国》英文文稿集合-Amazing-.docx VIP
文档评论(0)