楼主: 宿雨
3464 9

[其他] Matlab给图形添加符号注释,总是重复注释,请大侠帮忙 [推广有奖]

  • 0关注
  • 1粉丝

已卖:10份资源

本科生

71%

还不是VIP/贵宾

-

威望
0
论坛币
30465 个
通用积分
2.2019
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
10796 点
帖子
42
精华
0
在线时间
155 小时
注册时间
2012-4-9
最后登录
2024-9-3

楼主
宿雨 发表于 2015-9-2 09:54:31 |AI写论文
30论坛币
for alp=2
    for B=0:0.1: 6
        f=@(theta)(B*(12-12*theta)*((4*alp-1)^2)-theta*(24*alp*(1-theta)+25*alp)*(12*(4*alp-1)-(2*alp-1)*(24-12*theta)+alp));
        m1=fzero(f,[0 1]);%(DU)

       g=@(theta)(B*12*(1-theta)*((4*alp-1)^2)-theta*(24+2*alp*(1-theta))*(24*alp-alp*(2*alp-1)*(1-theta)));
       m2=fzero(g,[0,1]);%(UD)

       h=@(theta)(B*12*(1-theta)*((4*alp-1)^2)-theta*(24*alp+25*alp*(1-theta))*(12*(4*alp-1)-(2*alp-1)*(24-12*theta)+alp*(1-theta))-...
           theta*(12+12*(1-theta)+2*alp*(1-theta))*(12*alp*(1-theta)-alp*(2*alp-1)*(1-theta)+12*alp));
       m3=fzero(h,[0 1]);%(DD)

       Y=max(12/(2*alp+12)*m1,m3);
       Z=max(2*alp/(2*alp+12)*m2,Y);
       if Z==12/(2*alp+12)*m1 && Z==2*alp/(2*alp+12)*m2
           pUU=1-(24*(alp-1)+2*alp*(alp-1))/(12*(4*alp-1));
            subplot(1,2,2),plot(B,pUU,'ko')%(UU)
            hold on
       else if Z==12/(2*alp+12)*m1 %(DU)
                pDU=1-(12*(1-m1)*(alp-1)+2*alp*(alp-1)+12*(alp-1))/(12*(4*alp-1));
            subplot(1,2,2), plot(B,pDU,'rp','LineWidth',0.1)
             hold on
           else if Z==2*alp/(2*alp+12)*m2 % (UD)
                   pUD=1-(24*(alp-1)+2*alp*(alp-1)*(1-m2))/(12*(4*alp-1));
              subplot(1,2,2),   plot(B,pUD,'g^','LineWidth',0.1)
                 hold on
               else pDD=1-((1-m3)*(alp-1)*(2*alp+12)+12*(alp-1))/(12*(4*alp-1)); % (DD)
               subplot(1,2,2),   plot(B,pDD,'*','LineWidth',0.1)
                  hold on
               end
           end  
       end
    end
end
legend('(U,U)','(D,U)','(D,D)')
xlabel('Budget B')
ylabel('Number of Patients (\Lambda)')

附件: 你需要登录才可以下载或查看附件。没有帐号?我要注册

最佳答案

yidonghan 查看完整内容

图例问题解决了,看附件吧。
关键词:MATLAB matla atlab Mat Atl

沙发
yidonghan 发表于 2015-9-2 09:54:32
图例问题解决了,看附件吧。
附件: 你需要登录才可以下载或查看附件。没有帐号?我要注册
已有 1 人评分论坛币 收起 理由
giresse + 20 精彩帖子

总评分: 论坛币 + 20   查看全部评分

藤椅
宿雨 发表于 2015-9-2 09:56:02
帮忙解决的同学,可以把改好的程序以附件形式添加,我来购买

板凳
yidonghan 发表于 2015-9-2 11:28:31
我不清楚程序的含义,但在调试时,发现如下代码没有运行:
elseif Z==2*alp/(2*alp+12)*m2     %(UD)
            pUD=1-(24*(alp-1)+2*alp*(alp-1)*(1-m2))/(12*(4*alp-1));
            subplot(1,2,2),   plot(B,pUD,'g^','LineWidth',0.1);
            hold on
你可以看看该段代码有没有问题。

报纸
宿雨 发表于 2015-9-2 14:46:34
是的,不满足这个条件,所以没有运行。下面这个代码,可以把所有情况都运行到
for B=0:0.5:20
    for alp=1:0.1:6
        f=@(theta)(B*(12-12*theta)*((4*alp-1)^2)-theta*(24*alp*(1-theta)+25*alp)*(12*(4*alp-1)-(2*alp-1)*(24-12*theta)+alp));
        m1=fzero(f,[0 1]);%(DU)
        
       g=@(theta)(B*12*(1-theta)*((4*alp-1)^2)-theta*(24+2*alp*(1-theta))*(24*alp-alp*(2*alp-1)*(1-theta)));
       m2=fzero(g,[0,1]);%(UD)
      
       h=@(theta)(B*12*(1-theta)*((4*alp-1)^2)-theta*(24*alp+25*alp*(1-theta))*(12*(4*alp-1)-(2*alp-1)*(24-12*theta)+alp*(1-theta))-...
           theta*(12+12*(1-theta)+2*alp*(1-theta))*(12*alp*(1-theta)-alp*(2*alp-1)*(1-theta)+12*alp));
       m3=fzero(h,[0 1]);%(DD)
      
       Y=max(12/(2*alp+12)*m1,m3);
       Z=max(2*alp/(2*alp+12)*m2,Y);
       if Z==12/(2*alp+12)*m1 && Z==2*alp/(2*alp+12)*m2
            plot(alp,B,'ko')%(UU)
             hold on
       else if Z==12/(2*alp+12)*m1 %(DU)
                plot(alp,B,'rp')
                 hold on
           else if Z==2*alp/(2*alp+12)*m2 % (UD)
                   plot(alp,B,'g^')
                      hold on
               else plot(alp,B,'*') % (DD)
                   hold on
               end
           end
       end
    end
end
xlabel('\alpha')
ylabel('B')

地板
宿雨 发表于 2015-9-2 14:48:43
就是用legend的函数时,总是出问题,不知道怎么修改,这是上面这个代码运行的图
附件: 你需要登录才可以下载或查看附件。没有帐号?我要注册

7
yidonghan 发表于 2015-9-2 15:59:40
是数据系列的问题

8
宿雨 发表于 2015-9-2 16:13:09
这样的问题怎样注释,才能使得图形中的每个符号对应相应的注释?

9
yidonghan 发表于 2015-9-2 16:36:52
代码中,把legend中的参数改为你需要的参数即可。

10
宿雨 发表于 2015-9-2 17:17:51
好的谢谢

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-20 11:00