24小时热门版块排行榜    

Znn3bq.jpeg
查看: 2483  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿厦大0856,306求调剂 +15 Bblinging 2026-04-11 15/750 2026-04-11 22:53 by 314126402
[考研] 电子信息279求调剂,有书读就行 +8 wwwooden 2026-04-08 11/550 2026-04-11 20:22 by cq2548
[考研] 296求调剂 +6 汪!?! 2026-04-09 6/300 2026-04-11 11:25 by zhq0425
[考研] 调剂 +4 电气300求调剂不 2026-04-08 7/350 2026-04-11 10:44 by 紫曦紫棋
[考研] 工科273调剂 +6 X1999 2026-04-09 7/350 2026-04-11 10:23 by zhq0425
[考研] 0831生医工第一轮调剂失败求助 +10 小熊睿睿_s 2026-04-11 13/650 2026-04-11 10:04 by maddjdld
[考研] 中药学调剂 初试324 +4 洋甘菊、 2026-04-10 6/300 2026-04-11 09:41 by gong120082
[考研] 083200 305分 求二轮调剂 不接受跨专业 +9 Claireyyyy 2026-04-09 10/500 2026-04-10 21:21 by Claireyyyy
[硕博家园] 0856材料化工求调剂,一志愿211,初试成绩349 +5 江淮北月 2026-04-05 5/250 2026-04-10 16:26 by 高维春
[考研] 一志愿中南大学物理学,英一66,求调剂 +4 长烟旖旎 2026-04-08 5/250 2026-04-10 10:31 by 颖果儿
[考博] 博士自荐 +7 可可小胖 2026-04-08 7/350 2026-04-10 08:28 by kimhero
[考研] 生物与医药调剂 +5 十七sa 2026-04-05 5/250 2026-04-10 08:14 by kangsm
[考研] 297求调剂 +27 GENJIOW 2026-04-07 30/1500 2026-04-09 23:20 by wolf97
[考研] 337求调剂 +4 Gky09300550, 2026-04-09 4/200 2026-04-09 17:18 by 帕尔马拉特
[考研] 311求调剂 +6 surte 2026-04-08 13/650 2026-04-09 14:00 by surte
[考研] 334求调剂 +16 Riot2025 2026-04-08 17/850 2026-04-09 09:28 by wdyheheeh
[考研] 材料专硕(0856) 339分求调剂 +16 哈哈哈鹅哈哈哈 2026-04-05 16/800 2026-04-08 16:02 by luoyongfeng
[考研] 化学0703-一志愿211-338分求调剂 +10 vants 2026-04-05 11/550 2026-04-08 16:02 by screening
[考研] 材料求调剂 +18 一样YWY 2026-04-05 18/900 2026-04-07 15:49 by dxlg
[考研] 326求调剂 +3 顾若浮生 2026-04-05 3/150 2026-04-05 18:32 by 蓝云思雨
信息提示
请填处理意见