| 查看: 757 | 回复: 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) 但是这样,每次都得复制弄一下,好麻烦,,大神求教,怎么能把那个表达式给整合进去,直接让它出结果。 |
» 猜你喜欢
2027博士申请-临床检验诊断学、病原生物学、微生物方向
已经有5人回复
【长期招聘】复旦大学 AI 制药实验室 博士后招聘
已经有10人回复
各位基础老师们,看完中央《从严治党》的决定后,对学术界更加有信心了吧
已经有4人回复
越来越担心硕士毕业后没有竞争力了
已经有15人回复
申博自荐 2篇一区TOP+1篇EI+2公开发明专利 2027博士申请
已经有3人回复










回复此楼