哈贝妍 2021-07-08 16:14 采纳率: 0%
浏览 28

MATLAB中为什么Dose算出来是0呢?

syms p q;
fun2=@(p,q)F.^2.sin(p)
Dose=int(int(fun2,p,0,2
pi),q,0,pi)

%完整代码
xi=1;
yi=1;
zi=1;
x0=5;
y0=5;
z0=5;
p=cos((zi-z0)/sqrt(xi-x0)^2+(yi-y0)^2+(zi-z0)^2)^(-1)
q=sin((yi-y0)/sqrt(xi-x0)^2+(yi-y0)^2+(zi-z0)^2)^(-1)
F=exp(x0*sin(p)cos(q)+y0sin(p)sin(q)+z0cos(p)+1)
syms p q;
fun2=@(p,q)F.^2.sin(p)
Dose=int(int(fun2,p,0,2
pi),q,0,pi)
G=(4.*pi.*F.^2)/Dose
R=log2(1+G)

  • 写回答

1条回答 默认 最新

  • CSDN专家-Matlab_Fans 2021-07-08 19:51
    关注

    对称函数的积分结果是0,在【0,pi】之间积分不为0:

    %完整代码
    xi=1;
    yi=1;
    zi=1;
    x0=5;
    y0=5;
    z0=5;
    p=cos((zi-z0)/sqrt(xi-x0)^2+(yi-y0)^2+(zi-z0)^2)^(-1)
    q=sin((yi-y0)/sqrt(xi-x0)^2+(yi-y0)^2+(zi-z0)^2)^(-1)
    F=exp(x0*sin(p)*cos(q)+y0*sin(p)*sin(q)+z0*cos(p)+1)
    syms p q;
    fun2=@(p,q) F.^2.*sin(p)
    Dose=int(int(fun2,p,0,pi),q,0,pi)
    G=(4.*pi.*F.^2)/Dose
    R=log2(1+G)
    

    结果:
    Dose =

    (8019708085899051*pi)/8589934592

    G =

    16796437337730080/(2673236028633017*pi)

    R =

    log(16796437337730080/(2673236028633017*pi) + 1)/log(2)

    评论

报告相同问题?

悬赏问题

  • ¥15 苹果系统的mac m1芯片的笔记本使用ce修改器使用不了
  • ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 如何卸载arcgis 10.1 data reviewer for desktop
  • ¥15 共享文件夹会话中为什么会有WORKGROUP
  • ¥15 关于#python#的问题:使用ATL02数据解算光子脚点的坐标(操作系统-windows)
  • ¥115 关于#python#的问题:未加密前两个软件都可以打开,加密后只有A软件可打开,B软件可以打开但读取不了数据
  • ¥15 在matlab中Application Compiler后的软件无法打开
  • ¥15 想问一下STM32创建工程模板时遇到得问题
  • ¥15 Fiddler抓包443