找回密码
 注册
Simdroid-非首页
查看: 94|回复: 5

ezplot出图后为什么是一条直线?

[复制链接]
发表于 2012-3-19 11:28:11 | 显示全部楼层 |阅读模式 来自 北京
下面的程序比较简单,为积分后并画图,但结果较长,运行后为什么没有提示错误,但画出图仅为一条斜线呢,请朋友们帮忙看看是什么问题?我的目的是在同一幅图上画出五条C的曲线
syms r t x x0  y positive;
r=0.2:0.05:0.4;
for i=1:5
rho=1.5;
alpha=pi/8;
phi=0.32/r(i);
t=r(i)*sin(phi)/sin(alpha);
l=r(i)*sin(phi);
f1=r(i)-sqrt(r(i)^2-x^2);
g1=sqrt(t^2-x^2)+r(i)*(1-cos(phi))-r(i)*sin(phi)*cot(alpha);
f2=r(i)-sqrt(r(i)^2-x0^2);
g2=sqrt(t^2-x0^2)+r(i)*(1-cos(phi))-r(i)*sin(phi)*cot(alpha);
m1=rho*(g2-f2)*x0;
m2=rho*x*(g2-f2);
m3=2*rho*(g1-f1);
n1=int(m1,x0,x,l);
n2=int(m2,x0,x,l);
n3=1/2*int(m3,x,0,l)*(l-x);
n=n1-n2-n3;
n
a=int(n,x);
b=int(a,x);
c=b/2;
pretty(c);
ezplot('c',[0,0.4]);
hold on;
end
发表于 2012-3-19 21:55:24 | 显示全部楼层 来自 浙江杭州
Simdroid开发平台
不是只有一条线,而是所有的都重叠了,你单独画下c(1)和c(2)的曲线就会发现这两条是一样的,但是我算了下c(1)-c(2)并我为0,而是一个很长的表达式,用c(1)-c(2)画图发现也和远的的线一样,很奇怪
回复 不支持

使用道具 举报

 楼主| 发表于 2012-3-20 09:12:43 | 显示全部楼层 来自 北京
zuiai996 发表于 2012-3-19 21:55
不是只有一条线,而是所有的都重叠了,你单独画下c(1)和c(2)的曲线就会发现这两条是一样的,但是我算了下c( ...

是啊,我感觉画出的直线可能不是表达式C 实际的曲线,而是某种错误导致的,只是没有错误提示,困惑好久了。还是十分感谢了!
回复 不支持

使用道具 举报

 楼主| 发表于 2012-3-20 09:13:39 | 显示全部楼层 来自 北京
zuiai996 发表于 2012-3-19 21:55
不是只有一条线,而是所有的都重叠了,你单独画下c(1)和c(2)的曲线就会发现这两条是一样的,但是我算了下c( ...

是啊,我感觉画出的直线可能不是表达式C 实际的曲线,而是某种错误导致的,只是没有错误提示,困惑好久了。还是十分感谢了!
回复 不支持

使用道具 举报

 楼主| 发表于 2012-4-6 09:22:26 | 显示全部楼层 来自 北京
ezplot('c',[0,0.4]);这个式子改成ezplot(c,[0,0.4]);就不会出现直线了。但运行后会发现只有一条曲线,原因是a和b为不定积分,积分后会有两个常数C1和C2,程序并没有建立个附加条件先求出C1和C2
回复 不支持

使用道具 举报

 楼主| 发表于 2012-4-6 09:28:14 | 显示全部楼层 来自 北京
zuiai996 发表于 2012-3-19 21:55
不是只有一条线,而是所有的都重叠了,你单独画下c(1)和c(2)的曲线就会发现这两条是一样的,但是我算了下c( ...

ezplot('c',[0,0.4]);改成ezplot(c,[0,0.4]);就不会出现直线的问题了,但此时运行程序只有一条曲线并不会出现五条,原因是程序中的a和b 都是不定积分,求解中会含有两个常数项C1和C2,只要在后面添加上关于C1和C2的附加条件就可以了
回复 不支持

使用道具 举报

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

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-24 19:17 , Processed in 0.039625 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表