f_s=subs(f,old,new)在Command Window里执行时没有问题;把命令原封不动地贴到函数(m文件)中,传递的参数也
答案:2 悬赏:30 手机版
解决时间 2021-02-01 19:02
- 提问者网友:酱爆肉
- 2021-02-01 10:26
>>syms r z L k theta >>e=sqrt(1-k^2*sin(theta)^2); >>Ek=int(e,theta,0,pi/2); >>Kk=int(1/e,theta,0,pi/2); >>yeta=r/L; >>k=1/sqrt(4*yeta^2+1); >>grjk_sym=(2*yeta*k/L)*((1-k^2)*Kk+(2*k^2-1)*Ek) >>grjk_syms=subs(grjk_sym) >>grjk=subs(grjk_syms,L,Ljk) %Ljk是个已赋值的矩阵 运行结果正常,而当我把同样的命令贴到函数中(.m文件)时,运行却出现错误: ??? Error using ==> mupadmex Error in MuPAD command: cannot evaluate y -> symobj::trysubs(F, X = y) for matrix components equal to zero [(Dom::Matrix(Dom::ExpressionField()))::map] Error in ==> sym.subs>mupadsubs at 152 G = mupadmex('symobj::fullsubs',F.s,X2,Y2); Error in ==> sym.subs at 127 G = mupadsubs(F,X,Y); Error in ==> Dollg at 60 grjk=subs(grjk_syms,L,Ljk); 同样的上下文环境,同样的命令,同样的参数,难道只因为使用了脚本文件,执行过程就不一样了?
最佳答案
- 五星知识达人网友:有你哪都是故乡
- 2021-02-01 11:45
一个矩阵不能代替原来的不是矩阵的变量。公式里的变量都是行数组,不是矩阵,把一个变量改成列的数组试试。
求采纳
求采纳
全部回答
- 1楼网友:鱼忧
- 2021-02-01 12:30
期待看到有用的回答!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯