感悟网 导航

MATLAB中函数taylor(f)的作用 matlab 2013a中计算Taylor级数的问题

作者&投稿:笪勇 (若有异议请与网页底部的电邮联系)
大神给我解释一下下面这些Matlab泰勒公式的用法~

这些是泰勒公式的一般用法:
taylor(f)就是展开到5阶,展开点在x=0;
taylor(f,v,a)就是对函数f的变量v进行展开,到5阶,展开点在v=a;
taylor(f,v)就是对函数f的变量v进行展开,到5阶,展开点在v=0;

taylor(y,x,'Order',8) ans = x^7 + x^6 + x^5 + x^4 + x^3 + x^2 + x + 1

在 2013a 中 taylor函数 多了一个控制参数 ,当你需要展开成8阶泰勒级数时,在2013a中就需要加入控制参数 Order ,但是在MATLAB 7中 由于默认的第三个参数就是 阶数,所以不用加控制参数


在MATLAB中,taylor()是对符号表达式(函数)进行泰勒级数展开的命令。现在介绍taylor对3个常见函数做泰勒级数展开。
一·符号运算
1、符号运算基本语法
数值运算必须先对变量赋值再运算,然后才能参与运算。符号运算无须事先的运算对象可以使没有赋值的符号变量,可以获得任意精度的解。
①符号表达式可以代表数字、函数、算子、变量的matlab字符串。
②建立单个符号量:符号量名 = sym(‘符号表达式’)。
syms 符号表达式1 符号表达式2 符号表达式3 表达式4;
2、符号矩阵
符号矩阵也是一种符号表达式,所以前面介绍符号表达式运算也可以在矩阵意义下进行,但应该注意这些函数作用于符号矩阵时,是分别用于矩阵的每个元素。比如A =sym(‘[a,3*b;3*a,c]’);由于符号矩阵是一个矩阵,所以它可以进行矩阵相关运算(diag,tril,det等函数)。
numeric(A):将符号矩阵转化为数值矩阵。
tranpose(A):返回A的装置矩阵
determ(A):返回矩阵的行列式值
3、符号表达式的4则运算
对符号表达式或或符号矩阵A进行因式分解:factor(A);
对符号表达式或符号矩阵A进行展开:expand(A)
对符号表达式或符号矩阵A进行合并同类项:collect(A)
应用函数规则对A进行简化:simplify(A)
对函数进行综合简化:simple(A)
对函数f关于x求n阶导数:diff(f,x,n)
求积分最常用函数:int(f,r,x0,x1) 其中f为积分表达,r为积分变量,
x0和x1为积分上下限。没有上下限则求得的是不定积分。
subs(f,{x},{x的实际值})给表达式中的x赋实际值并计算。
二、复数运算
1、基本运算操作
复数表达式构造利用i,j直接写,也可以额利用符号函数来构造。也可以写成极坐标的形式。
polar(theta,rho)画出极坐标图,其中theta为极坐标极角,rho为极坐标失径。
real(A)求复数A的实部 conj(A) 求A的共轭
imag(A) 求复数A的虚部 abs(A)求A的模
angle(A) 求A的相角
[r,p,k]= residue([an-1,…,a0],[bn-1,…,b0]);求解有理分式的留数。其中r为留数,p对应的各奇点。
2、泰勒展开和Fourier变换
taylor(f):返回函数f的五次多项式近似,函数f的自变量有函数findsym决定。
taylor(f,n):返回n-1次幂多项式,函数f自变量由findsym决定。
taylor(f,a):返回a点附近的五次幂多项式近似。
taylor(f,x):返回指定变量x的五次幂多项式近似。
fourier(f):返回以默认变量x为数量符号f的Fourier变换,其中变换后函数默认以w为自变量。
fourier(f,v):以v替代w为变换后的函数自变量。
fourier(f,u,v):以v替代w,以u提到x
ifourier也是类似的。
拉普拉斯变换用法:laplace 和ilaplace都是类似的。
Z变换用法:ztrans和iztrans也是类似的。
三、matlab的绘图
1、plot(x1,y1,option1,x2,y2,option2);画二维曲线
2、plot3(x1,y1,z1,option1,x2,y2,z2,option2);画三维 曲线
3、mesh(X,Y,Z,C);画三维网格曲面X,Y,Z为矩阵
4、surf(X,Y,Z,C);画三维阴影曲面,X,Y,Z为矩阵
5、[X,Y]=meshgird(x,y);将矩阵X的每一行都为向量x
6、view(beta,theta),选择三维图角度,其中beta为方位角,theta为视角。
7、hist(Y,X)以X为统计范围统计,绘制出Y分布直方图
8、rose(thera,x)以向量x为统计范围,在极坐标下统计thera的直方图分布。
9、bar(data,’mode’)用来画柱状图,mode默认是‘grouped’模式,这时bar函数把数组data每一行看作一组,画在一个水平坐标位置。若指定为‘stacked’则把每一组数据叠加起来绘图。barh水平放置的柱状图。三维柱状图bar3() bar3h()也是类似。
10、面积图 area()函数用于绘制面积图,和累叠模式柱状图类似,面积图也是把每一组数据点累叠绘制。不过它把每一个数据集合的相邻点用线条连起来,并且把每一个数据集合所在区域用不同颜色填充。
11、pie()绘制二维饼图。pie3()绘制三维饼图。
12、火柴干图:把每个数据点用一个垂直于横轴的火柴棒表示,stem(),stem3()。
13、绘制阶梯图stairs()。
14、等高线图:用于显示多元函数的函数值变化趋势,contour()来绘制等高线,clabel()标注等高线函数值,contourf绘制颜色填充模式。
15、axis[xmin xmax ymin ymax]:分别限定x轴和y轴的范围
axis equal:横纵坐标单位长度相同
axis square:图框呈方形
axis off:清除坐标刻度
semilogx:x轴为对数坐标
semilogy:y轴为对数坐标
loglog:全对数坐标
text(x,y,’标识文本’)在指定坐标标识对应的数据点
gtext(‘标识文本’)绘图后用鼠标来标识对应的位置
title(”)图形标题,xlabel(”)标识x轴,ylabel(”)表示y轴
legend(‘图例一’,图例二’)给曲线添加图例
grid on 给当前坐标加上珊格线
grid off 从当前坐标中删去珊格线
hold on 保持图像,便于绘制多条曲线
hold off 取消保持
四、matlab函数及调用
1、匿名函数:匿名函数可以接受多个输入和输出参数,适用于命令行操作。fhandle = @(arglist) expression
2、私有函数:具有访问限制性访问权限的函数,他们对应的M文件保存在名为private的文件夹下,但它只能被private文件下M文件调用。
3、输入输出参数目录:**nargin:输入参数数目,nargout:输出参数数目。
4、可变输入参数:**varargin:可变输入参数。varargout可变输出参数。
5、全局变量:用global来声明和调用
6、函数句柄:函数句柄提供了一种间接调用函数的方法,创建函数句柄需要用到@,匿名函数其实也是一种句柄,而对M文件的各种函数都可以创建函数句柄,从而可以通过函数句柄对这些函数实现间接调用。fhandle =@function_filename;
feval(fhandle,parameters);调用函数句柄
五、matlab调试方法和编程技巧
1·去掉分号输出中间结果。
2·设置断点逐步调试,观测变量值的变化。
3、Code Analyzer:可以分析M文件的性能和错误。
4、Profiler:MATLAB提供的一个功能强大的代码分析工具,一般来说,应该尽量避免不必要的变量输出、循环赋值前预定义数组尺寸,多采用向量化的,matlab函数,少采用数组,提高matlab的性能。
5、一个程序的执行速度取决于它所调用的子程序个数以及所采用的算法 ,通常希望程序越少越好,算法效率越高越好。可以使用嵌套计算减小乘法次数。tic初始化时钟开始计时,toc时钟停止,获得执行时间。
6、matlab要尽量避免使用循环,为了得到最快的运行速度,在for循环运行之前,应该预先分配数组。矩阵运算优先考虑内联函数。
7、程序应该具有一定容错能力,当用户输入错误时,应该使用error()函数来提示出国原因。

taylor(f)幂级数的求导和积分可以逐项进行,因此求和函数相对比较容易。

《MATLAB中函数taylor(f)的作用》
答:在MATLAB中,taylor()是对符号表达式(函数)进行泰勒级数展开的命令。现在介绍taylor对3个常见函数做泰勒级数展开。一·符号运算 1、符号运算基本语法 数值运算必须先对变量赋值再运算,然后才能参与运算。符号运算无须事先的运算对象可以使没有赋值的符号变量,可以获得任意精度的解。①符号表达式可以代表数...

《用MATLAB求函数的5阶泰勒级数展开式。》
答:1、首先启动matlab,在命令行窗口输入代码,这里求取下图所示的函数的泰勒级数展开。2、然后在命令行窗口中输入如下代码。3、可以从两条曲线图中看到,两条曲线在x=0附近接近,这主要是因为该泰勒展开式是在x=0处展开的,并且看到在曲线图上方给出了泰勒展开式的表达式,可以看到该展开式的最高阶是5...

《matlab 泰勒函数逼近》
答:1、首先在电脑中打开matlab软软件,清空工作界面,如下图所示。2、然后定义一个符号变量;syms z;,如下图所示。3、接着定义一个函数,例如sin函数;y=sin(z);,如下图所示。4、输入求解泰勒展开的函数;ty=taylor(y,z),如下图所示。5、接着输入下面的指令,显示查看结果;subplot(1,2,1),e...

《matlab中泰勒展开式求近似值》
答:第一步,声明变量,即 syms x 第二步,将函数表达式赋值给f(x),即 f(x)=sinx/(x²+4x+3)第三步,使用taylor函数,求其泰勒展开式,即 y=taylor(f,x,'Order',9) %展开式阶数为9阶 第四步,计算在x=a处的近似值,即 x=2;y=eval(y)运行结果 ...

《matlab利用泰勒级数验证正弦波》
答:利用MATLAB自带的函数taylor 实例:syms x y z;taylor(exp(-x))returns x^4/24 - x^5/120 - x^3/6 + x^2/2 - x + 1 taylor(sin(x),x,pi/2,'Order',6)returns (pi/2 - x)^4/24 - (pi/2 - x)^2/2 + 1 taylor(sin(x)*cos(y)*exp(x),[x y z],[0 0 0],...

《matlab 2013a中计算Taylor级数的问题》
答:taylor(y,x,'Order',8) ans = x^7 + x^6 + x^5 + x^4 + x^3 + x^2 + x + 1 在 2013a 中 taylor函数 多了一个控制参数 ,当你需要展开成8阶泰勒级数时,在2013a中就需要加入控制参数 Order ,但是在MATLAB 7中 由于默认的第三个参数就是 阶数,所以不用加控制参数 ...

《如何用matlab对函数进行泰勒级数展开》
答:>> syms x >> taylor(f(x),x,'ExpansionPoint',0,'order',6)f(x)就是你要展开的函数。0就是在0处展开在别的点展开就换其他数,6就是展开5阶

《用MATLAB将函数f(x)=sinx^2展开为迈克劳林级数》
答:syms x;f=sin(x^2);taylor(f,20,0)泰勒级数在0点展开,即迈克劳林级数。ans = x^18/362880 - x^14/5040 + x^10/120 - x^6/6 + x^2

《在matlab中用多项式近似拟合复杂的函数》
答:taylor(f,k)就是将函数f泰勒展开到第k项 比如 syms x;taylor(cos(x),4)就是将cos展开到前4项

《matlab中taylor(f1,x,5) 为什么展开到x的4次幂时应选择n=5》
答:这个 是软件本身的函数约定 The function taylor(f,n,v,a) interprets the expression f as a function of v, and returns the (n-1)-degree Taylor series expansion of f(v) about the point a.上面是matlab的帮助信息,约定而已。会用就可以了 ...

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网