QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1000|回复: 2
打印 上一主题 下一主题

为什么命令subs计算后得到NAN

[复制链接]
字体大小: 正常 放大

30

主题

8

听众

105

积分

  • TA的每日心情

    2013-10-18 15:36
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    自我介绍
    认真
    跳转到指定楼层
    1#
    发表于 2013-7-17 14:28 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta

    本帖最后由 neuras 于 2013-7-16 15:27 编辑


    先附上程序:

    clc;
    clear all;
    R=32;
    c=0.5;
    r=2.5;%影响大
    syms x;
    syms z;
    syms t;
    f=int(4*c/gamma(r)*(c*x)^(r)*besselk(r-1,2*c*x));%k分布
    fx=subs(f,x,100000)-subs(f,x,t*z);
    m=1;
    fz=0;
    y=2*c*z;
    tao=c*pi^(0.5)/(2^(m)*gamma(r));
    i=1;
    beta1=(factorial(m+i)*(m+1-i))/(2^i*factorial(i));
    i=0;
    beta0=(factorial(m+i)*(m+1-i))/(2^i*factorial(i));
    for j0=0:R
        tt=2*R+j0;
        fz=fz+tao^(R)*exp(-y)*nchoosek(R,j0)*beta1^(R-j0)*beta0^(j0)/gamma(tt)*......
            y^(tt-1);
    end
    Fz=int(fz);
    复制代码
    计算后用命令subs计算符号表达式在特定点的值,再用梯形积分做运算。但是现在遇到了问题。
    命令int运算前,fz,用命令subs(fz,z,4),能计算出特定值出来。但是subs(Fz,z,4)计算出来就是NAN,此时若修改为double(subs(Fz,z,'4'))才能计算出正确值。但是我需要计算梯形积分因此必须计算出,Fz在0~10000上的取值。取个小区间举例:fz就用subs(fz,z,0:0.1:10)就可以了,但是由于Fz中替换的数字必须打引号,再用double(subs(Fz,z,'0:0.1:10'))就不能计算出来了。这究竟是什么原因造成的。

    而且这个错误还跟上面的R的取值有关,如果R=8就不会出现这种问题了。

    照理说:

    syms x;
    y=x^2;
    z=int(y);
    subs(y,x,4)
    subs(z,x,4)
    复制代码
    都能正常使用subs命令,为什么我的上一段程序就出现问题了。先感谢各位大神解答了。
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    gt93        

    47

    主题

    18

    听众

    880

    积分

    白凤

  • TA的每日心情
    慵懒
    2018-4-6 14:09
  • 签到天数: 201 天

    [LV.7]常住居民III

    自我介绍
    数学爱好者

    社区QQ达人

    群组Matlab讨论组

    群组Linux推广

    群组第三届数模基础实训

    群组2013年数学建模国赛备

    群组数学建摸协会

    楼主你的问题我也遇到了,但是我跑出来的结果是

    ans =

      1.0e-040 *

      Columns 1 through 11

             0    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000

      Columns 12 through 22

        0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000

      Columns 23 through 33

        0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000

      Columns 34 through 44

        0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000

      Columns 45 through 55

        0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000

      Columns 56 through 66

        0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000

      Columns 67 through 77

        0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000

      Columns 78 through 88

        0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0001    0.0001

      Columns 89 through 99

        0.0002    0.0004    0.0009    0.0017    0.0033    0.0064    0.0122    0.0230    0.0433    0.0808    0.1497

      Columns 100 through 101

        0.2756    0.5041
    欢迎加我好友gt93,与楼主共同进步。个人网站:http://hackbiji.top
    回复

    使用道具 举报

    26

    主题

    30

    听众

    1400

    积分

    升级  40%

  • TA的每日心情
    开心
    2017-9-19 13:48
  • 签到天数: 138 天

    [LV.7]常住居民III

    新人进步奖

    群组数学建摸协会

    群组2013年数学建模国赛备

    群组河南工程学院数学建模

    群组第三届数模基础实训

    群组中国矿业大学数模培训

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-25 06:49 , Processed in 0.492013 second(s), 65 queries .

    回顶部