24小时热门版块排行榜    

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

烁烁88

银虫 (正式写手)

[求助] 有时间的话,能否帮我看一个程序,结果算出来了,在画图的地方出错了,不知道如何解决 已有2人参与

有时间的话,能否帮我看一个程序,结果算出来了,在画图的地方出错了,不知道如何解决

有时间的话,能否帮我看一个程序,结果算出来了,在画图的地方出错了,不知道如何解决
1.png


有时间的话,能否帮我看一个程序,结果算出来了,在画图的地方出错了,不知道如何解决-1
2.png
回复此楼

» 猜你喜欢

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

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

烁烁88

银虫 (正式写手)

引用回帖:
6楼: Originally posted by wurongjun at 2014-12-19 09:24:17
贴代码上来!
容易改点!

function V1=Elec_Cap(l,d,E,e0)
%V1=Elec_Cap(l,r,d,E,e0)
syms h1 h2 r V
format short
[l,d,E,e0,n]=deal(10,5,0.12,8.854*10^(-18),2)
c1=d*sqrt(5)/4
g=5*sqrt(0.119643*c1^2+h2^2/4)/9+8*sqrt(27*c1^2/64+h2^2/4)/9+5*sqrt(0.55535*c1^2+h2^2/4)/9-l;
h2=solve(g,h2)
for i=1:1:7
    if h2(i)>0&&h2(i)<l
        h1=h2(i)
    end
end
F=V^2*10^6*(-8*pi*e0*l/acosh(1/2*(d^2-2*r^2)/r^2)^2*d/r^2/(2*(d^2-2*r^2)/r^2-4)^(1/2)/(2*(d^2-2*r^2)/r^2+4)^(1/2))/2;
f=F*2/sqrt(5)+3*pi*c1*E*r^3/(4*h1^3);
V=solve(f,V)
%for i=1:1:2
%    if V(i)>0
%      V=V(i);
%    end
%end
format short
r=1:1:2
V1=V(2)%V的结果有两个如何去掉那个带负号的呢?我看结果有两个解,我就这样直接取V(2)就是我要的那个V的解,但是若是不知道解有多少个,要怎么判断?
plot(r,V1)%提示错误,不知如何去处理?
7楼2014-12-19 11:32:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

feixiaolin

荣誉版主 (文坛精英)

优秀版主

试一下
Root=(solve(f,V));
if Root(1)>0
  V1=Root(1);
if Root(2)>=0
  V1=Root(2);
end

plot …
2楼2014-12-18 20:38:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lsp1005

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
画图不能直接用函数表达式,要先计算出离散点的值。再用离散点画图,用Subs命令
刘三皮
3楼2014-12-18 21:53:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

烁烁88

银虫 (正式写手)

引用回帖:
3楼: Originally posted by lsp1005 at 2014-12-18 21:53:41
画图不能直接用函数表达式,要先计算出离散点的值。再用离散点画图,用Subs命令

还请问该如何用subs命令呢
4楼2014-12-19 08:53:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见