24小时热门版块排行榜    

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

babyleo

铁虫 (初入文坛)

[求助] matlab高手进!发现一个奇怪的现象……已有1人参与

我最近在用ezplot绘图,突然发现了一个奇怪的现象:
假如我用这个程序画:u=2.65e+10;
                                   c1b=5.057e+10;
                                   cv=2596.15;
                                   cs=3128.89;
                                   us01=10;
                                   us12=20;
                                   h=0.000000001;


                                  f=@(b,cp) tan(b.*sqrt((cp./cv).^2-1))-(c1b.*sqrt((cp./cv).^2-1).*(u*sqrt(1-(cp./cs).^2)+(b./h).*us12-(b./h)*us01))./((u*(b./h).*sqrt(1-(cp./cs).^2)+((b./h).^2).*us12).*us01+c1b^2*((cp/cv).^2-1));

                                   B=ezplot(f,[0,20,2400,3200]);
绘出的图是这样的  图示:1.png;
但是我要使用这个程序:syms b cp;
                                      u=2.65e+10;
                                     c1b=5.057e+10;
                                     cv=2596.15;
                                     cs=3128.89;
                                     us01=10;
                                     us12=20;
                                     h=0.000000001;


                                     f= tan(b.*sqrt((cp./cv).^2-1))-(c1b.*sqrt((cp./cv).^2-1).*(u*sqrt(1-(cp./cs).^2)+(b./h).*us12-(b./h)*us01))./((u*(b./h).*sqrt(1-(cp./cs).^2)+((b./h).^2).*us12).*us01+c1b^2*((cp/cv).^2-1));

                                    B=ezplot(f,[0,20,2400,3200]);
绘出的图就变成了另外一个样子:图示:4.png
我想问一下这到底是怎么回事?

matlab高手进!发现一个奇怪的现象……
1.png


matlab高手进!发现一个奇怪的现象……-1
4.png
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

周一么么哒

新虫 (正式写手)

5楼2018-05-02 21:14:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

babyleo

铁虫 (初入文坛)

细心地虫友可以发现,两个程序唯一的不同就是一个有syms b cp;
另一个是   f=@(b,cp)   这两个都是指定变量的表达方式,但是为什么会造成这么大的差距呢?求大神帮解答啊,还有,其实图上的cp在2600以下只有复数解,为什么在4.png中
ezplot还可以绘出2600以下的图形呢?而且看上去还那么合理?
2楼2014-11-04 15:24:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
引用回帖:
2楼: Originally posted by babyleo at 2014-11-04 15:24:11
细心地虫友可以发现,两个程序唯一的不同就是一个有syms b cp;
另一个是   f=@(b,cp)   这两个都是指定变量的表达方式,但是为什么会造成这么大的差距呢?求大神帮解答啊,还有,其实图上的cp在2600以下只有复数解 ...

"还有,其实图上的cp在2600以下只有复数解,为什么在4.png中
ezplot还可以绘出2600以下的图形呢?而且看上去还那么合理?"
答:推测只是画出了实部;看看主程序窗口有没有提示忽略了虚部的warning。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
3楼2014-11-04 15:28:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

babyleo

铁虫 (初入文坛)

引用回帖:
3楼: Originally posted by 月只蓝 at 2014-11-04 15:28:33
"还有,其实图上的cp在2600以下只有复数解,为什么在4.png中
ezplot还可以绘出2600以下的图形呢?而且看上去还那么合理?"
答:推测只是画出了实部;看看主程序窗口有没有提示忽略了虚部的warning。...

我按F5之后,主程序窗口是什么都没有的,直接就出图了,则让我很奇怪,而且觉得它画得有理有据的,不知道他是依照什么画出来的
4楼2014-11-04 17:05:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见