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

Posted 黑大帅之家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mathlab编程-微积分在Matlab中的解法相关的知识,希望对你有一定的参考价值。

这一章节将介绍一系列典型的微积分问题(求极限、级数、定积分、导数、重积分等)在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中的解法的主要内容,如果未能解决你的问题,请参考以下文章

代写Matlab编程作作代写Engineering Modeling

Matlab代写代写MatlabMatlab编程代写代写Matlab编程test_TDPC_encoder

代写Matlab|代写Matlab |or Stata 编程代码代写Time Series Econometrics程序作业

matlab中如何计算二重积分

如何用matlab求积分

matlab常微分方程在传染病建模中的应用