码迷,mamicode.com
首页 > 其他好文 > 详细

Mathlab编程-微积分在Matlab中的解法

时间:2016-08-28 10:58:40      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

这一章节将介绍一系列典型的微积分问题(求极限、级数、定积分、导数、重积分等)在Matlab中的求解。

 

  首先关于极限:

  (1)    数列极限:

  给出下面三段例程。

  技术分享

  求解数列极限的limit函数参数说明:可以看到该函数可以有三个参数也可以有两个参数,对于三个变量(比如说第二个例程),第一个参数是数列的通项,第二个参数是确认离散变量,因为在通项中有两个字母a、n,第三个参数表示这个离散变量趋于某个范围,这个函数将返回在离散变量趋于的那个范围(第三个参数)时的极限。

 

  当然,借助Matlab自身强大的图像功能,我们对于求解数列极限,我们还有一个可行的方法就是得到这个数列的散点图,通过观察这个数列趋近于一个怎样的数,但是散点的数量要始终,而且得到的结果很可能不准确。

  那第一个例子来说:

>> n=1:50;

>> plot(n,n.^(1./n),‘k.‘)   %  k.这里表示制自变量整数位置的散点图

得到如下的大致图像:

  技术分享

 

 

导数和微分在Matlab中的求解:

  对于最简单的一阶导数,基于之前我们介绍的极限在Matlab中的写法,可根据定义直接求出导函数。

 

  定义法求导函数:

  技术分享

 

  diff函数直接求导函数:

  技术分享

 

基于定义法和左右导数的概念所编写的DerivativeDefinition函数:

 

function df=DerivativeDefinition(fun,x,x0,type)
%DERIVATIVEDEFINITION   根据导数的定义求函数的导函数或在某点处导数值
% DF=DERIVATIVEDEFINITION(FUN,X)或
% DF=DERIVATIVEDEFINITION(FUN,X,[])  求函数FUN关于X的导函数
% DF=DERIVATIVEDEFINITION(FUN,X,X0)  求函数FUN在点X0处的导函数
% DF=DERIVATIVEDEFINITION(FUN,X,X0,TYPE)  根据TYPE指定导数类型求函数在点X0处的导数,
%                                                 TYPE有以下取值:
%                                                 1.double或0:双侧导数值,此为缺省值
%                                                 2.left或-1:左导数
%                                                 3.right或1:右导数
% DF=DERIVATIVEDEFINITION(FUN,X,[],TYPE)  根据TYPE指定导数类型求函数的导函数
%
% 输入参数:
%     ---FUN:符号函数表达式
%     ---X:符号自变量
%     ---X0:求导点
%     ---TYPE:导数类型
% 输出参数:
%     ---DF:返回的导函数或导数值
%
% See also limit, diff

if nargin<4
    type=0;
end
if nargin==2 || isempty(x0)
    x0=x;
end
syms h
delta_y=subs(fun,x,x0+h)-subs(fun,x,x0);
switch type
    case {0,double}
        df=limit(delta_y/h,h,0);  % 求导数
    case {-1,left}
        df=limit(delta_y/h,h,0,left);  % 求左导数
    case {1,right}
        df=limit(delta_y/h,h,0,right);  % 求右导数
    otherwise
        error(The Style of Derivative is Illegal.)
end

 

 

  结合一个实际问题对这段代码进行应用。

  技术分享

                         

    技术分享

  根据结果可知该点导数并不存在。

  这里值得提的一点是,为了实现Matlab自定义函数功能,需要在Matlab编辑器中定义函数及其功能,然后在命令行窗口进行编程计算时直接调用即可。

 

Mathlab编程-微积分在Matlab中的解法

标签:

原文地址:http://www.cnblogs.com/rhythmic/p/5814391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!