Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-07-20
年龄: 31
帖子: 2
声望力: 0 ![]() |
![]()
function [X2,Y2,q0,o]=Jimmy2(q3,D,a,r)
x0=[0.1,0,0,0]; x= fsolve(@myfun,x0); Y1=x(2); X1=x(1); X2=X1+sin(q3)*r; Y2=Y1+cos(q3)*r; o=simplify(q3+acos(X1./sqrt(X1.^2+X2.^2))+atan(r./sqrt(X1.^2+X2.^2))); q0=q3; function myfun T1=simplify(sqrt(x(1).^2+x(2).^2-r.^2)+sqrt((x(1)+sin(q3)*r-a).^2+(x(2)+cos(q3)*r).^2)+(q3+x(3)+x(4))*r-D); T2=simplify(x(2)+tan(q3)*(x(1)-a+r/cos(q3))); T3=simplify(sin(x(3))*sqrt(x(1).^2+x(2).^2)-r); T4=simplify(cos(x4)*sqrt(x(1).^2+x(2).^2)-x(1)); end end 运行时总是出错: >> [X2,Y2,q0,o]=Jimmy2(0.4,400,200,10) ??? Error using ==> Jimmy2>myfun Too many input arguments. Error in ==> fsolve at 180 fuser = feval(funfcn{3},x,varargin{:}); Error in ==> Jimmy2 at 3 x= fsolve(@myfun,x0); 哪位大侠指点一下啊!!急!!!谢谢了 这四个方程组可以合成一个方程但是用solve解不出来不知道为什么!! 合成方程如下: T1=simplify(sqrt(x(1).^2+(tan(q3)*(x(1)-a+r/sin(q3))).^2-r.^2)+sqrt((x(1)+sin(q3)*r-a).^2+(tan(q3)*(x(1)-a+r/sin(q3))+cos(q3)*r).^2)+(q3+acsc(sqrt(x(1).^2+(tan(q3)*(x(1)-a+r/sin(q3))).^2)/r)+asec(sqrt(x(1).^2+(tan(q3)*(x(1)-a+r/sin(q3))).^2)/x(1)))*r-D); 还有关于初值怎么设才合理? |
![]() |
![]() |