matlab求隐含数求解,P./P0=1.137.*Z.^(-3)+0.119.*Z.^(-2)+0.269.*Z.^(-1)-0.019都已知求ZZ=solve('P./P0=(1.137.*Z.^(-3)+0.119.*Z.^(-2)+0.269.*Z.^(-1)-0.019)','Z')错误使用 solve>processString (line 365)' P./P0=1.137.*Z.^(-3)+0.119.*Z.^(-2)+0.269.*Z.^(-1)-0.019 ' is not a valid expression or equation.出错 solve>getEqns (line 286)eqns = processString(eqns,v,vc);出错 solve (line 160)[eqns,vars,options] = getEqns(varargin{:});这是怎么回事啊 数学
网友回答
【答案】 你的表达式不是有效的表达式或公式,可以这样该一下,
syms Z P P0
Z=solve(P./P0-(1.137.*Z.^(-3)+0.119.*Z.^(-2)+0.269.*Z.^(-1)-0.019),'Z') 追问: 真的太谢谢了,syms Z P
Z=solve(P-(1.137.*Z.^(-3)+0.119.*Z.^(-2)+0.269.*Z.^(-1)-0.019),'Z')没有P0公式错了,还想问下,如果我p值在前面程序已经求出,是30行1列的矩阵,要怎么直接算出Z值。真的麻烦 追答: syms Z
P=[ ]; %30行1列的矩阵
Z=solve(P-(1.137.*Z.^(-3)+0.119.*Z.^(-2)+0.269.*Z.^(-1)-0.019))
这样就可以了 追问: 但是P是程序之前做出来的,运行过程中才出数值,现在编程要怎么写