BZXXG 2021-11-16 13:05 采纳率: 50%
浏览 95
已结题

MATLAB云模型!为什么我的代码和别人的代码一样,只是数字改了,图形下方为什么不会发散啊?希望大家帮我看看!

我的图:

img


别人的图:

img

代码一样只是数据变了。

我的代码:


clc;
N=1500;
Exsum = [25 60 75 85 95];
Ensum = [8.333,3.333,1.667,1.667,1.667];
Hesum = [0.83,0.33,0.17,0.17,0.17];
for a=1:5
    Ex2=Exsum(a);
    En2=Ensum(a);
    He2=Hesum(a);
    
   for q=1:N
    Enn2=randn(1)*He2+En2;
    x2(q)=randn.*Enn2+Ex2;
    y2(q)=exp(-(x2(q)-Ex2).^2./(2.*Enn2.^2));
   end
axis([0,100,0,1]);

plot(x2,y2,'r*');
hold on;
end

别人的代码:

clc;
N=1500;
Exsum = [12.5 35.5 62.5 82.5 95.4];
Ensum = [10.616,10.616,10.616,6.3,4.26];
Hesum = [0.5,0.5,0.5,0.5,0.5];
for a=1:5
    Ex2=Exsum(a);
    En2=Ensum(a);
    He2=Hesum(a);
    
   for q=1:N
    Enn2=randn(1)*He2+En2;
    x2(q)=randn.*Enn2+Ex2;
    y2(q)=exp(-(x2(q)-Ex2).^2./(2.*Enn2.^2));
   end
axis([0,100,0,1]);

plot(x2,y2,'r*');
hold on;
end



  • 写回答

1条回答 默认 最新

  • 技术专家团-Joel 2021-11-16 13:27
    关注

    你的也发散了,只是显示的问题,因为你后面周期小,看着就紧凑,你自己单独把后面的某个小段画出来,那也是下方发散的情况。
    比如我把x2大于70的后面那段画出来:

     
    clc;
    N=1500;
    Exsum = [25 60 75 85 95];
    Ensum = [8.333,3.333,1.667,1.667,1.667];
    Hesum = [0.83,0.33,0.17,0.17,0.17];
    for a=1:5
        Ex2=Exsum(a);
        En2=Ensum(a);
        He2=Hesum(a);
       for q=1:N
        Enn2=randn(1)*He2+En2;
        x2(q)=randn.*Enn2+Ex2;
        y2(q)=exp(-(x2(q)-Ex2).^2./(2.*Enn2.^2));
       end
    axis([70,100,0,1]);% 画后面紧凑的70~100,相当于舒展一下
    plot(x2(x2>70),y2(x2>70),'r*'); % 画后面紧凑的,相当于舒展一下
    hold on;
    end
    

    img

    可以看到其实下方也是发散的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月24日
  • 已采纳回答 11月16日
  • 创建了问题 11月16日

悬赏问题

  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起