基于MATLAB的幂级数求和与展开(Taylor和Fourier算法)
目录
一. Taylor幂级数展开
1.1 单变量
例题1
例题2
1.2 多变量
例题3
二. Fourier级数展开
例题4
例题5
三. 级数求和
例题6
例题7
例题8
例题9
一. Taylor幂级数展开
1.1 单变量
在x=0点附近的Taylor幂级数如下:
在x=a点展开:
MATLAB格式:
%x=0进行Taylor幂级数展开
taylor(f,x,k)%x=a进行Taylor幂级数展开
taylor(f,x,k,a)
例题1
求函数Taylor幂级数展开的前9项;并求关于x=2和x=a的Taylor幂级数展开。
解:
MATLAB代码:
clc;clear;
syms x a;
f=sin(x)/(x^2+4*x+3);
y1=taylor(f,x,'order',9);
pretty(y1)taylor(f,x,2,'order',9)taylor(f,x,a,'order',5)
运行结果:
ans =sin(2)/15 - ((131623*cos(2))/35880468750 + (875225059*sin(2))/34445250000000)*(x - 2)^8 + (x - 2)*(cos(2)/15 - (8*sin(2))/225) - ((623*cos(2))/11390625 + (585671*sin(2))/2733750000)*(x - 2)^6 + ((262453*cos(2))/19136250000 + (397361*sin(2))/5125781250)*(x - 2)^7 - (x - 2)^2*((8*cos(2))/225 + (127*sin(2))/6750) + (x - 2)^3*((23*cos(2))/6750 + (628*sin(2))/50625) + (x - 2)^4*((28*cos(2))/50625 - (15697*sin(2))/6075000) + (x - 2)^5*((203*cos(2))/6075000 + (6277*sin(2))/11390625)
ans =sin(a)/(a^2 + 4*a + 3) - (cos(a)/(a^2 + 4*a + 3) - (sin(a)*(2*a + 4))/(a^2 + 4*a + 3)^2)*(a - x) - (a - x)^2*(sin(a)/(2*(a^2 + 4*a + 3)) + (cos(a)*(2*a + 4))/(a^2 + 4*a + 3)^2 - (sin(a)*((2*a + 4)^2/(a^2 + 4*a + 3)^2 - 1/(a^2 + 4*a + 3)))/(a^2 + 4*a + 3)) - (a - x)^3*((sin(a)*((2*a + 4)/(a^2 + 4*a + 3)^2 - (((2*a + 4)^2/(a^2 + 4*a + 3)^2 - 1/(a^2 + 4*a + 3))*(2*a + 4))/(a^2 + 4*a + 3)))/(a^2 + 4*a + 3) - cos(a)/(6*(a^2 + 4*a + 3)) + (cos(a)*((2*a + 4)^2/(a^2 + 4*a + 3)^2 - 1/(a^2 + 4*a + 3)))/(a^2 + 4*a + 3) + (sin(a)*(2*a + 4))/(2*(a^2 + 4*a + 3)^2)) + (a - x)^4*(sin(a)/(24*(a^2 + 4*a + 3)) - (sin(a)*(((2*a + 4)^2/(a^2 + 4*a + 3)^2 - 1/(a^2 + 4*a + 3))/(a^2 + 4*a + 3) + ((2*a + 4)*((2*a + 4)/(a^2 + 4*a + 3)^2 - (((2*a + 4)^2/(a^2 + 4*a + 3)^2 - 1/(a^2 + 4*a + 3))*(2*a + 4))/(a^2 + 4*a + 3)))/(a^2 + 4*a + 3)))/(a^2 + 4*a + 3) + (cos(a)*((2*a + 4)/(a^2 + 4*a + 3)^2 - (((2*a + 4)^2/(a^2 + 4*a + 3)^2 - 1/(a^2 + 4*a + 3))*(2*a + 4))/(a^2 + 4*a + 3)))/(a^2 + 4*a + 3) + (cos(a)*(2*a + 4))/(6*(a^2 + 4*a + 3)^2) - (sin(a)*((2*a + 4)^2/(a^2 + 4*a + 3)^2 - 1/(a^2 + 4*a + 3)))/(2*(a^2 + 4*a + 3)))
例题2
对sinx进行Taylor幂级数展开,并观察不同阶次的近似效果。
解:
MATLAB代码:
clc;clear;
x0=-2*pi:0.01:2*pi;
y0=sin(x0);
syms x;
y=sin(x);
plot(x0,y0,'r-'),axis([-2*pi,2*pi,-1.5,1.5]);
hold on
for n=[8:2:16]p=taylor(y,x,'order',n),y1=subs(p,x,x0);line(x0,y1);
end
运行结果:
p =- x^7/5040 + x^5/120 - x^3/6 + x
p =x^9/362880 - x^7/5040 + x^5/120 - x^3/6 + x
p =- x^11/39916800 + x^9/362880 - x^7/5040 + x^5/120 - x^3/6 + x
p =x^13/6227020800 - x^11/39916800 + x^9/362880 - x^7/5040 + x^5/120 - x^3/6 + x
p =- x^15/1307674368000 + x^13/6227020800 - x^11/39916800 + x^9/362880 - x^7/5040 + x^5/120 - x^3/6 + x
1.2 多变量
多变量函数在的Taylor幂级数展开如下:
例题3
求z=f(x,y)的各种Taylor幂级数展开。
解:
MATLAB代码:
clc;clear;
syms x y a;
f=(x^2-2*x)*exp(-x^2-y^2-x*y);
F1=taylor(f,[x,y],[0,0],'order',8)
F2=taylor(f,[x,y],[1,a],'order',3)
运行结果:
F1 =
x^7/3 + x^6*y + x^6/2 + 2*x^5*y^2 + x^5*y - x^5 + (7*x^4*y^3)/3 + (3*x^4*y^2)/2 - 2*x^4*y - x^4 + 2*x^3*y^4 + x^3*y^3 - 3*x^3*y^2 - x^3*y + 2*x^3 + x^2*y^5 + (x^2*y^4)/2 - 2*x^2*y^3 - x^2*y^2 + 2*x^2*y + x^2 + (x*y^6)/3 - x*y^4 + 2*x*y^2 - 2*x
F2 =
(exp(- a^2 - a - 1) - exp(- a^2 - a - 1)*((a/2 + 1)*(a + 2) - 1))*(x - 1)^2 - exp(- a^2 - a - 1) - exp(- a^2 - a - 1)*(a - y)^2*((2*a + 1)*(a + 1/2) - 1) + exp(- a^2 - a - 1)*(a + 2)*(x - 1) - exp(- a^2 - a - 1)*(2*a + 1)*(a - y) + exp(- a^2 - a - 1)*(a - y)*(x - 1)*((2*a + 1)*(a/2 + 1) + (a + 2)*(a + 1/2) - 1)
二. Fourier级数展开
给定f(x)以及如下条件:
Fourier级数,如下:
编写Fourier级数的解析函数:
function [A,B,F]=fseries(f,x,n,a,b)
if nargin==3,a=-pi;b=pi;
end
L=(b-a)/2;
if a+b, f=subs(f,x,x-L-a);
end %变量区域互换
A=int(f,x,-L,L)/L;
B=[];
F=A/2; %计算a0
for i=1:nan=int(f*cos(i*pi*x/L),x,-L,L)/L;bn=int(f*cos(i*pi*x/L),x,-L,L)/L;A=[A,an];B=[B,bn];F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L);
end
if a+b,F=subs(F,x,x+L+a);
end %换回变量区域
end
例题4
求y的Fourier级数展开。
解:
MATLAB代码:
clc;clear;
syms x;
f=x*(x-pi)*(x-2*pi);
[A,B,F]=fseries(f,x,6,0,2*pi)function [A,B,F]=fseries(f,x,n,a,b)
if nargin==3,a=-pi;b=pi;
end
L=(b-a)/2;
if a+b, f=subs(f,x,x-L-a);
end %变量区域互换
A=int(f,x,-L,L)/L;
B=[];
F=A/2; %计算a0
for i=1:nan=int(f*cos(i*pi*x/L),x,-L,L)/L;bn=int(f*sin(i*pi*x/L),x,-L,L)/L;A=[A,an];B=[B,bn];F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L);
end
if a+b,F=subs(F,x,x+L+a);
end %换回变量区域
end
运行结果:
A =[ -16*pi^3, 24*pi, -6*pi, (8*pi)/3, -(3*pi)/2, (24*pi)/25, -(2*pi)/3]
B =
[ -(12*pi - 24*pi^3)/pi, ((3*pi)/2 - 12*pi^3)/pi, -((4*pi)/9 - 8*pi^3)/pi, ((3*pi)/16 - 6*pi^3)/pi, (24*pi^2)/5 - 12/125, (pi/18 - 4*pi^3)/pi]
F =
(sin(x)*(12*pi - 24*pi^3))/pi - 24*pi*cos(x) - 8*pi^3 - 6*pi*cos(2*x) - (8*pi*cos(3*x))/3 - (3*pi*cos(4*x))/2 - (24*pi*cos(5*x))/25 - (2*pi*cos(6*x))/3 - sin(5*x)*((24*pi^2)/5 - 12/125) + (sin(2*x)*((3*pi)/2 - 12*pi^3))/pi + (sin(3*x)*((4*pi)/9 - 8*pi^3))/pi + (sin(4*x)*((3*pi)/16 - 6*pi^3))/pi + (sin(6*x)*(pi/18 - 4*pi^3))/pi
例题5
对区间内的方波信号,当时,y=1,否则y=-1。对它进行Fourier级数拟合,并观察用多少项能有较好的拟合效果。
解:
MATLAB代码:
clc;clear;
syms x;
f=abs(x)/x; %定义方波信号
xx=[-pi:pi/200:pi];
xx=xx(xx~=0);
xx=sort([xx,-eps,eps]); %剔除零点
yy=subs(f,x,xx);
plot(xx,yy,'r-.'), %绘制出理论值
hold on %保持坐标系for n=2:20[a,b,f1]=fseries(f,x,n);y1=subs(f1,x,xx);plot(xx,y1)
endfunction [A,B,F]=fseries(f,x,n,a,b)
if nargin==3,a=-pi;b=pi;
end
L=(b-a)/2;
if a+b, f=subs(f,x,x-L-a);
end %变量区域互换
A=int(f,x,-L,L)/L;
B=[];
F=A/2; %计算a0
for i=1:nan=int(f*cos(i*pi*x/L),x,-L,L)/L;bn=int(f*sin(i*pi*x/L),x,-L,L)/L;A=[A,an];B=[B,bn];F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L);
end
if a+b,F=subs(F,x,x+L+a);
end %换回变量区域
end
运行结果:
三. 级数求和
给定:
符号工具箱中有提供:
S=symsum(fk,k,k0,kn)
例题6
计算求和:
解:
MATLAB代码:
clc;clear;
format long;%数值计算
sum(2.^[0:63])%把2定义为符号量,计算会更准确
sum(sym(2).^[0:63])%工具箱
syms k;
symsum(2^k,0,63)
运行结果:
ans =1.844674407370955e+19
ans =18446744073709551615
ans =18446744073709551615
例题7
试求无穷级数的和
解:
MATLAB代码:
clc;clear;%符号工具箱
syms n;
s=symsum(1/((3*n-2)*(3*n+1)),n,1,inf)%数值计算
format long %以长型方式显示得出的结果
m=1:1000000;
s1=sum(1./((3*m-2).*(3*m+1))) %双精度有效位16
运行结果:
s =1/3
s1 =0.333333222222265
例题8
求解:
解:
MATLAB代码:
clc;clear;
syms n x;
s1=symsum(2/((2*n+1)*(2*x+1)^(2*n+1)),n,0,inf)
运行结果:
s1 =piecewise(1 < abs(2*x + 1), 2*atanh(1/(2*x + 1)))
例题9
求:
解:
MATLAB代码:
clc;clear;
syms m n;
limit(symsum(1/m,m,1,n)-log(n),n,inf);
vpa(ans,70) %显示70位有效数字
运行结果:
ans =
0.5772156649015328606065120900824024310421593359399235988057672348848677
基于MATLAB的幂级数求和与展开(Taylor和Fourier算法)相关推荐
- 基于MATLAB的三维数据插值拟合与三次样条拟合算法(附完整代码)
目录 一. 三维插值 例题1 二. 高维度插值拟合 格式一 格式二 格式三 格式四 格式五 例题2 三. 单变量三次样条插值 例题3 例题4 四. 多变量三次样条插值 例题6 一. 三维插值 首先三维 ...
- 基于MATLAB改进暗通道先验的图像去雾算法
基于MATLAB改进暗通道先验的图像去雾算法 摘要:暗通道先验去雾算法求得的的透射率比较精细,去雾效果优于大多数去雾算法.然而在暗通道求取过程中,最小值滤波的处理会使得暗色向外扩张,导致透射率扩张变大 ...
- 【语音识别】基于matlab语音分帧+端点检测+pitch提取+DTW算法歌曲识别【含Matlab源码 1057期】
⛄一.DTW简介 Dynamic Time Warping(DTW)诞生有一定的历史了(日本学者Itakura提出),它出现的目的也比较单纯,是一种衡量两个长度不同的时间序列的相似度的方法.应用也比较 ...
- 基于Matlab传统有限差分的最小二乘积分波前重构算法
三维面形重建是利用测得的表面梯度(斜率)或法向矢量数据重建物体表面形貌的过程,是光学测量.机器视觉中的一个经典问题,是哈特曼波前检测.干涉测量.光栅投影测量等技术的关键步骤之一. 本文开发了一种基于传 ...
- 基于matlab的sift变换的图像配准和拼接算法仿真
目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 SIFT,即尺度不变特征变换(Scale-invariant feature transform,SIFT),是用于图像处理领 ...
- 【图像分割】基于matlab Kmean聚类分水岭、oust、粒子群算法优化脂肪肝图像分割【含Matlab源码 2277期】
⛄一.粒子群算法自适应多阈值图像分割简介 FCM聚类算法是一种局部搜索算法,对初始值较为敏感,容易陷入局部极小值而不能得到全局最优解.PSO算法是一种基于群体的具有全局寻优能力的优化方法.本文将FCM ...
- 【多目标优化求解】基于matlab非支配排序灰狼优化(NS-GWO)算法求解多目标优化问题【含Matlab源码 2015期】
一.灰狼算法简介 1 前言: 灰狼优化算法(Grey Wolf Optimizer,GWO)由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优化算法.该算法受到了灰狼 ...
- 机械设计matlab,基于MATLAB的机械设计方法分析
随着计算机技术的不断发展,一系列计算软件得到了开发和应用,继而为机械设计带来了新的发展方向.而MATLAB作为强大的数学计算软件,拥有可靠性强.功能多和操作方便等多种优点,所以被广泛地应用在机械设计中 ...
- 基于Matlab的二阶电路的动态电路分析!
基于Matlab的二阶电路的动态电路分析! 算法思路 1.一阶电路 1.只有电感:先得到电感所在端口的戴维宁等效电路: 接着代入公式计算,得到 i-t图像: 2.只有电容:先得到电容所在端口的戴维宁等 ...
- 基于Matlab中Simulink生成FPGA-Verilog语言及联合Vivado的仿真(以卡尔曼-Kalman滤波器为例)
目录 一.简介 二.在Simulink中生成Verilog语言 1.在Simulink中建立Kalman滤波器仿真 2.将Kalman滤波器部分打包 3.生成Verilog程序 3.1.参数配置 3. ...
最新文章
- python因数之和等于数字本身_python找出因数与质因数的方法
- C++中floor,ceil , round , rint用法
- 探测函数 中断 linux,linux中断编程函数
- 四种方案解决ScrollView嵌套ListView问题
- android ViewPager之PagerAdapter中View的重用
- (转)字典树原理+实现
- 8.1个Windows 8.1的不足之处及其解决方法
- Git学习系列(五)分支管理详解
- GIT的使用中的问题处理
- python的序列之列表
- linux 3.10 网卡驱动程序示例,Centos7安装万兆网卡驱动
- 【思想总结】关于最近思想滑坡的反省
- 成绩排序 九度OJ第2题
- matplotlib 的 spines模块详解
- 零基础做油管搬运二创项目的正确方式,短视频小白玩家套利的可能
- python 词云学习
- IEEE Transactions on Industrial Informatics(TII)投稿须知
- 步进电机驱动芯片 DRV8825
- 【BZOJ1791】【IOI2008】【基环树】island(status速度第一)
- 古城南京,加“数”前进——CDEC2021中国数字智能生态大会走进南京
热门文章
- The Elements of Style 4ed ---英文写作指南(一)
- windows下解压xxx.war文件
- 分期手续费转换为年化利率
- QTTabBar 1.5.4(Beta)版本
- alize blue_泽野弘之 | 明明可以靠才华,却非要用脸滚键盘的神曲缔造者
- 使用selenium下载百度图片
- Spring Cloud微服务实战视频教程百度网盘下载
- css最好看最全的按钮样式,动画效果大全,纯css样式
- 四、云计算-国产-华为-运维、灾备和迁移+HCIE Cloud相关知识点+笔试题库
- h5可以获取本机手机号码么_h5页面模板免费制作丨动态h5页面模板挑选