| 查看: 746 | 回复: 0 | |||
[求助]
一个解函数的小问题,solve函数的应用,小白求救
|
|
编的程序如下所示, clear all; close all; syms he x y z p m E Ex Ex2 ;%p-半径, for n=1:4; he=((x-p*cos(2*pi*n/4))^2+(y-p*sin(2*pi*n/4))^2+z^2)^(-(m+2)/2); end E=(z^m)*he; Ex=diff(E,'x') ; Ex2=diff(E,'x',2); disp(Ex); disp(Ex2); F=Ex2; H=subs(F,{x,y},[0,0]); S=solve('subs(F,{x,y},[0,0])=0','p'); disp (S); 如果直接输入S=solve('subs(F,{x,y},[0,0])=0','p');或者S=solve('H=0','p');就会提示我输入的不是有效的方程式。。错误显示如下: ??? Error using ==> solve>getEqns at 182 ' subs(F,{x,y},[0,0])=0 ' is not a valid expression or equation. Error in ==> solve at 67 [eqns,vars] = getEqns(varargin{:}); 但是如果把前面算出来的H,直接复制,然后S=solve('表达式=0',‘p’),就可以解出我要的表达式,程序如下: S=solve('(4*p^2*z^m*(m/2 + 1)*(m/2 + 2))/((411376139330301510538742295639362304861256537891262433499875377*p^2)/411376139330301510538742295639337626245683966408394965837152256 + z^2)^(m/2 + 3) - (2*z^m*(m/2 + 1))/((411376139330301510538742295639362304861256537891262433499875377*p^2)/411376139330301510538742295639337626245683966408394965837152256 + z^2)^(m/2 + 2)=0','p'); disp (S); 结果如下: 20282409603651670423947251286016*z*(1/(411376139330301510538742295639337626245683966408394965837152256*m + 1234128417990904531616226886917988200121479327742317429848733647))^(1/2) -20282409603651670423947251286016*z*(1/(411376139330301510538742295639337626245683966408394965837152256*m + 1234128417990904531616226886917988200121479327742317429848733647))^(1/2) 但是这样,每次都得复制弄一下,好麻烦,,大神求教,怎么能把那个表达式给整合进去,直接让它出结果。 |
» 猜你喜欢
各位大神,目前国内有哪些比较好用的逆合成软件?
已经有14人回复
国社科系统bug了,是不是要放榜了?
已经有10人回复
现代”学阀”该如何界定
已经有9人回复
课题组招2027级博士 上海工程技术大学 激光智能制造方向
已经有4人回复
上海工程技术大学 激光智能制造课题组 2027级博士研究生招生
已经有3人回复
上海工程技术大学激光智能制造课题组|2027级博士研究生招生公告
已经有11人回复
申博发邮件
已经有11人回复
我的奶奶
已经有3人回复










回复此楼