24小时热门版块排行榜    

查看: 2833  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

askformore

木虫 (小有名气)

[求助] matlab画图求助

需要用matlab画出下面这个图形【即第一个图形】:

表达式都是很清楚的,只是需要用matlab画出来,我写的程序是下面这样,很简单的:
for y=18:0.001:21;

   k=[2:0.01:25];
   a1=pi*(k-2).^4/12./(1+0.8048.*(k-2)+0.1459.*(k-2).^2+1.137*10^(-3)*(k-2).^3-3.879*10^(-6)*(k-2).^4)./(exp(0.511*938.272.*k./(20*10^(y-18)*2.7*8.6170))-1);
   b1=trapz(k,a1);
da1=pi*(k-2).^4/12./(1+0.8048.*(k-2)+0.1459.*(k-2).^2+1.137*10^(-3)*(k-2).^3-3.879*10^(-6)*(k-2).^4).*(-3./(exp(0.511*938.272.*k./(20*10^(y-18)*2.7*8.6170))-1)+0.511*938.272.*k.* exp(0.511*938.272.*k./(20*10^(y-18)*2.7*8.6170))./(20*10^(y-18)*2.7*8.6170)./(exp(0.511*938.272.*k./(20*10^(y-18)*2.7*8.6170))-1).^2);
   db1=trapz(k,da1);
   
c=[25:0.1:10000]';
   a2=c.*(-86.07+50.96.*log(c)-14.45.*log(c).^2+8/3.*log(c).^3)./(1-(2.91./c+78.35./c.^2+1837./c.^3))./(exp(0.511*938.272.*c./(20*10^(y-18)*2.7*8.6170))-1);
   b2=trapz(c,a2);
da2=c.*(-86.07+50.96.*log(c)-14.45.*log(c).^2+8/3.*log(c).^3)./(1-(2.91./c+78.35./c.^2+1837./c.^3)).*(-3./(exp(0.511*938.272.*c./(20*10^(y-18)*2.7*8.6170))-1)+0.511*938.272.*c.*exp(0.511*938.272.*c./(20*10^(y-18)*2.7*8.6170))./(20*10^(y-18)*2.7*8.6170)./ (exp(0.511*938.272.*c./(20*10^(y-18)*2.7*8.6170))-1).^2);
   db2=trapz(c,da2);

dp=(db1+db2)./(b1+b2);
plot(y,dp,'r');
axis([18 21 -1 3]);
    hold on;
end

得到的图形为【第二个图形,即红色曲线的图形】:

很明显,和目标图形相比,matlab只画出了整个图形横坐标在大约y>19.2之后的图形,而且,这一段图形和目标图形是一致的【或者说一样的】。但是,为什么y<19.2的部分画不出来呢?

请各位同学帮助哈,如果能帮助修改,用matlab获得目标图形,可以再追加金币,多谢!

目标图形



为什么只显示后半段呢?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

czxf

银虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
askformore: 金币+50, ★★★★★最佳答案, 非常感谢您耐心的修改,运行您修改的程序,已得到目标图形。辛苦辛苦! 2012-05-28 18:45:38
楼主的问题出现在inf/inf=nan,如楼上所说,exp(700)左右就达到了inf,解决的方法是将两个inf进行约分,概括起来即对exp(x)/(exp(x)-1)^2进行约分。以下是我修改后的程序:
clc
clear
for y=18:0.001:21;
   k=[2:0.01:25];
   a1=pi*(k-2).^4/12./(1+0.8048.*(k-2)+0.1459.*(k-2).^2+1.137*10^(-3)*(k-2).^3-3.879*10^(-6)*(k-2).^4)./(exp(0.511*938.272.*k./(20*10^(y-18)*2.7*8.6170))-1);
   b1=trapz(k,a1);
   da1=pi*(k-2).^4/12./(1+0.8048.*(k-2)+0.1459.*(k-2).^2+1.137*10^(-3)*(k-2).^3-3.879*10^(-6)*(k-2).^4).*(-3./(exp(0.511*938.272.*k./(20*10^(y-18)*2.7*8.6170))-1)+0.511*938.272.*k.* exp(0.511*938.272.*k./(20*10^(y-18)*2.7*8.6170))./(20*10^(y-18)*2.7*8.6170)./(exp(0.511*938.272.*k./(20*10^(y-18)*2.7*8.6170))-1).^2);
   db1=trapz(k,da1);
   
   c=[25:0.1:10000]';
   a2=c.*(-86.07+50.96.*log(c)-14.45.*log(c).^2+8/3.*log(c).^3)./(1-(2.91./c+78.35./c.^2+1837./c.^3))./(exp(0.511*938.272.*c./(20*10^(y-18)*2.7*8.6170))-1);
   b2=trapz(c,a2);
   da2=c.*(-86.07+50.96.*log(c)-14.45.*log(c).^2+8/3.*log(c).^3)./(1-(2.91./c+78.35./c.^2+1837./c.^3)).*(-3./(exp(0.511*938.272.*c./(20*10^(y-18)*2.7*8.6170))-1)+0.511*938.272.*c./(20*10^(y-18)*2.7*8.6170)./(exp(0.511*938.272.*c./(20*10^(y-18)*2.7*8.6170))+exp(-0.511*938.272.*c./(20*10^(y-18)*2.7*8.6170))-2));
   db2=trapz(c,da2);

   dp=(db1+db2)./(b1+b2);
   plot(y,dp,'r');
   axis([18 21 -1 3]);
   hold on;
end
直接运行就可以,图我已经得到,不好上传,需要的话再联系
10楼2012-05-26 13:40:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★
askformore: 金币+3, 有帮助, 可是,a1和a2里也含有这个指数项,计算它俩的时候是没问题的,画图也没问题。应该问题不在这里。不过还是谢谢你的帮忙! 2012-05-23 11:58:45
因为在y较小时,如果c接近10000,则此值无穷大,超出了计算范围
exp(0.511*938.272.*c./(20*10^(y-18)*2.7*8.6170))
showmethemoney
3楼2012-05-23 09:47:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

exp(709)就已经INF了
showmethemoney
4楼2012-05-23 09:48:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

不是说了,要指数超过709就超出范围了,你的k比c小多了,当然a1,a2没问题。
showmethemoney
5楼2012-05-23 12:00:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 投票:  有多少人是今天查系统知道结果的? +16 爱看书的可乐 2026-08-26 18/900 2026-08-28 05:13 by winsaint
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +5 yuleib84 2026-08-26 6/300 2026-08-28 00:02 by yudaoqian88
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 基金不中,共勉 +10 eulota 2026-08-26 10/500 2026-08-27 17:23 by lqllinqiaoli
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[教师之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 LIbGuocjEEYw 2026-08-26 4/200 2026-08-27 04:33 by Ie9AyIAvGbvs
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 LIbGuocjEEYw 2026-08-26 4/200 2026-08-27 02:01 by Ie9AyIAvGbvs
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +7 process2012 2026-08-23 10/500 2026-08-26 19:23 by hmhminy
[基金申请] 怎么查啊 +5 huang1991js 2026-08-26 5/250 2026-08-26 16:09 by Equinoxhua
[基金申请] 2026国自然函评费到账 +22 羊腰板 2026-08-21 25/1250 2026-08-26 15:00 by zuocuiping
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
[基金申请] 人气不行了 +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by 孤独的英雄6
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
信息提示
请填处理意见