zoukankan      html  css  js  c++  java
  • Matlab求极限

      matlab求极限(可用来验证度量函数或者隶属度函数)可用来验证是否收敛,取值范围等等。

    一.问题来源

      搜集聚类资料时,又看到了隶属度函数,没错,就是下面这个,期间作者提到m趋于2是,结果趋于1,我想验证下,于是查资料。

    二.不同类型的极限

    2.1 基础知识

      a./b表示常数a除以矩阵b中每个元素或者矩阵a除以矩阵b对应元素或者常数b;点乘方a.^b,矩阵a中每个元素按b中对应元素乘方或者b是常数。

    2.2 单变量独立式子

      独立式子之地的是不存在连加之类的操作。

      问题:用MATLAB求(x^2+1)/(x^2-1)的极限。

    syms x;
    y=(x^2+1)/(x^2-1)
    limit(y,inf)
    

    2.3求连加和极限

      问题:lim(1+1/2+1/3+1/4+……+1/n-lnn),n->无穷

    >>syms x n;
    >>sol=limit(symsum(1/x,x,1,n)-log(n),n,inf)
    sol =
    eulergamma
    >> vpa(sol,20)
    ans =
    0.57721566490153286061
    

     2.4双变量求极限

      问题:matlab求极限怎样求lim(sin(xy)/x;其中x接近0,y接近2,用matlab解。(直接syms x,y;提示y未定义,不管了,分别定义就行了,不管这种细枝末节)。

    >> syms x;
    >> syms y;
    >> f = sin(x*y)/x;
    >> limit(limit(f,x,0),y,2)
     
    ans =
     
    2
    

      计算机模拟(只写了大概)。

    dd=(-0.8).^(-10:10000);
    e=0.00001
    tmp0=0;
    for d=dd
    x=0+d;
    y=2+d;
    tmp1=sin(x*y)/x;
    
    if abs(tmp0-tmp1)
    

    2.5 补充例子

      问题:n/(n^2+1^2)+n/(n^2+2^2)+n/(n^2+3^2)+...+n/(n^2+n^2)在n->oo时的极限

    n = 1e6;
    sum(n./(n^2+(1:n).^2))
    

    三.相关知识点

    3.1 VPA函数

      matlab控制运算精度用的是digits和vpa这两个函数,digits用于规定运算精度,比如:digits(20);这个语句就规定了运算精度是20位有效数字。但并不是规定了就可以使用,因为实际编程中,我们可能有些运算需要控制精度,而有些不需要控制。vpa就用于解决这个问题,凡是用需要控制精度的,我们都对运算表达式使用vpa函数。例如:digits(5);a=vpa(sqrt(2));
    这样a的值就是1.4142,而不是准确的1.4142135623730950488016887242097
      又如:digits(5); a=vpa(sqrt(2));b=sqrt(2); 这样a的值是1.4142,b没有用vpa函数,所以b是1.4142135623730950488016887242097......vpa函数对其中每一个运算都控制精度,并非只控制结果。digits(11);a=vpa(2/3+4/7+5/9); b=2/3+4/7+5/9;a的结果为1.7936507936,b的结果为1.793650793650794......也就是说,计算a的值的时候,先对2/3,4 /7,5/9这三个运算都控制了精度,又对三个数相加的运算控制了精度。而b的值是真实值,对它取11位有效数字的话,结果为1.7936507937,与a不同,就是说vpa并不是先把表达式的值用matlab本身的精度求出来,再取有效数字,而是每运算一次,都控制精度。我举的例子不太好,因为加法不太会增加数字位数。希望你能理解我的意思....

    3.2 欧拉常数

      matlab中eulergamma是什么?是欧拉常数,其值为0.57721566...,欧拉-马歇罗尼常数(Euler-Mascheroni constant)是一个主要应用于数论的数学常数。它的定义是调和级数与自然对数的差值的极限。由无穷级数理论可知,调和级数是发散的。但可以证明上述存在极限(缩放法,同时单调有界必有极限)。

    四.结束语及参考文献

      回到开头提出的隶属度函数。

    >> syms x,n;
    >> f =limit(symsum((1/x)^2,x,1,n),n,inf)
     
    f =
     
    205/144
    >> vpa(f,10)
     
    ans =
     
    1.423611111
    

     结果不是1,可能结果需要仿真,d1到dk不能直接是1到k。

    参考文献:http://www.cnblogs.com/hxsyl/archive/2012/11/17/2774879.html  百度知道

  • 相关阅读:
    java request.getInputStream中文乱码解决方案
    MySql5.7配置文件my.ini 设置 my.ini文件路径
    PostgreSQL抛错“不良的类型值: long”之解决
    PostgreSQL-JDBC疑似bug:部分接口参数的表名、列名必须全部小写
    PostgreSQL的空串、空值对唯一性约束的影响
    JPA/Hibernate移植到PostgreSQL时关于CLOB, BLOB及JSON类型的处理
    PostgreSQL函数自动Commit/Rollback所带来的问题
    JBoss EAP 为应用项目配置PostgreSQL数据源
    PostgreSQL 9.4使用UUID
    PostgreSQL视图使用特殊名称作字段时的处理
  • 原文地址:https://www.cnblogs.com/hxsyl/p/3080310.html
Copyright © 2011-2022 走看看