24小时热门版块排行榜    

查看: 2838  |  回复: 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的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

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的回帖
普通回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
askformore: 金币+5, 有帮助, 请问NAN是什么?出现这个问题的原因是什么?谢谢! 2012-05-23 11:56:06
内容已删除
showmethemoney
2楼2012-05-23 09:31:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

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的回帖

askformore

木虫 (小有名气)

引用回帖:
5楼: Originally posted by csgt0 at 2012-05-23 12:00:14:
不是说了,要指数超过709就超出范围了,你的k比c小多了,当然a1,a2没问题。

麻烦你仔细看一下,a2里面是含有c的,并且也含有那个指数项
6楼2012-05-23 12:05:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
askformore: 金币+12, ★★★很有帮助, 好的,谢谢你啊! 2012-05-23 12:56:51
xzhdty: 金币+2, 欢迎讨论 2012-05-23 19:06:45
引用回帖:
6楼: Originally posted by askformore at 2012-05-23 12:05:00:
麻烦你仔细看一下,a2里面是含有c的,并且也含有那个指数项

ok,很简单,a2里面出现数/inf,结果为0,而在db里面既出现0/inf,也出现inf/inf,后者结果为nan
如下
>> 0/inf

ans =

     0

>> inf/inf

ans =

   NaN

>> inf/0

ans =

   Inf
showmethemoney
7楼2012-05-23 12:50:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

疾凤劲草

铁杆木虫 (正式写手)

Entertainment

楼主啊,你的程序我前几天用我的matlab r2010a算了一下 很久都没有反映,那天我也在编程,运行了一个很多循环的matlab程序,以为matlab给弄出问题了。今天我又运行了一下,还是很久都没有反映,但是关闭matlab主窗口时会闪现你说的那幅不完整图像,我对matlab刚刚开始研究,也不明白,如果找到原因了希望告知一下,谢谢。
8楼2012-05-25 16:59:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hhucy

实习版主 (著名写手)

DOE锅炉工

引用回帖:
8楼: Originally posted by 疾凤劲草 at 2012-05-25 16:59:26
楼主啊,你的程序我前几天用我的matlab r2010a算了一下 很久都没有反映,那天我也在编程,运行了一个很多循环的matlab程序,以为matlab给弄出问题了。今天我又运行了一下,还是很久都没有反映,但是关闭matlab主窗口 ...

是的,新版本matlab会这样的
人生那么多不确定,你怕什么
9楼2012-05-25 18:50:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 askformore 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +6 ASdOkHsho7FD 2026-08-28 7/350 2026-08-30 17:14 by hZiFeudZyoGR
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +7 ASdOkHsho7FD 2026-08-28 14/700 2026-08-30 17:01 by hZiFeudZyoGR
[基金申请] 能否申诉? +4 echo8914667 2026-08-30 4/200 2026-08-30 16:03 by sundiv
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +5 gy1nBQXYQJqL 2026-08-29 8/400 2026-08-30 12:14 by l0VvVHGBGRLv
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +6 ASdOkHsho7FD 2026-08-28 9/450 2026-08-30 11:19 by l0VvVHGBGRLv
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 G6APbkg8SA6w 2026-08-29 4/200 2026-08-30 07:17 by ZPa0EcMwuECS
[考博] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 gy1nBQXYQJqL 2026-08-29 5/250 2026-08-30 07:05 by ZPa0EcMwuECS
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 gy1nBQXYQJqL 2026-08-29 4/200 2026-08-30 06:57 by ZPa0EcMwuECS
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +6 ASdOkHsho7FD 2026-08-28 11/550 2026-08-30 06:00 by ZPa0EcMwuECS
[教师之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 ASdOkHsho7FD 2026-08-28 8/400 2026-08-30 05:48 by ZPa0EcMwuECS
[考博] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 gy1nBQXYQJqL 2026-08-29 4/200 2026-08-30 01:34 by ZPa0EcMwuECS
[基金申请] 中青基了要发朋友圈吗? +4 349506619 2026-08-28 4/200 2026-08-29 22:41 by alongwaytogo
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 申请删除本帖 +6 lyz123lyz 2026-08-27 7/350 2026-08-27 17:31 by 宁静致远sy
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
信息提示
请填处理意见