Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在matlab中求解代数方程组_Matlab_Equation_Algebra_Equation Solving - Fatal编程技术网

如何在matlab中求解代数方程组

如何在matlab中求解代数方程组,matlab,equation,algebra,equation-solving,Matlab,Equation,Algebra,Equation Solving,我试图在下面的方程组中分离m,s和h。我是Matlab新手,所以不确定代码是否错误,或者方程是否有问题。希望你能帮忙 syms l p a m o b s t w c h d g e eqn1 = l==1/p*(a^{1/e}*m^{(e-1)/e}+b^{1/e}*s^{(e-1)/e}+c^{1/e}*h^{(e-1)/e}+d^{1/e}*g^{(e-1)/e})^{1/(e-1)}*a^{1/e}*m^{-1/e}; eqn2 = l==1/o*(a^{1/e}*m^{(e-1)/e}

我试图在下面的方程组中分离m,s和h。我是Matlab新手,所以不确定代码是否错误,或者方程是否有问题。希望你能帮忙

syms l p a m o b s t w c h d g e
eqn1 = l==1/p*(a^{1/e}*m^{(e-1)/e}+b^{1/e}*s^{(e-1)/e}+c^{1/e}*h^{(e-1)/e}+d^{1/e}*g^{(e-1)/e})^{1/(e-1)}*a^{1/e}*m^{-1/e};
eqn2 = l==1/o*(a^{1/e}*m^{(e-1)/e}+b^{1/e}*s^{(e-1)/e}+c^{1/e}*h^{(e-1)/e}+d^{1/e}*g^{(e-1)/e})^{1/(e-1)}*b^{1/e}*s^{-1/e};
eqn3 = l==1/((1-t)*w)*(a^{1/e}*m^{(e-1)/e}+b^{1/e}*s^{(e-1)/e}+c^{1/e}*h^{(e-1)/e}+d^{1/e}*g^{(e-1)/e})^{1/(e-1)}*c^{1/e}*h^{-1/e};
sol = solve([eqn1, eqn2, eqn3], [m, s, h]);
mSol = sol.m
sSol = sol.s
hSol = sol.h
mSol
sSol
hSol

当我尝试运行代码时,我得到以下错误消息,尽管我非常确定这是可以解决的:

Warning: Unable to find explicit solution. For options, see help. 
> In solve (line 317)
  In Losning_af_model (line 5) 

谢谢大家!

你试过运行它吗?如果是的话-发生了什么,这与您预期的结果有何不同?抱歉,我现在添加了运行代码时收到的错误消息。如前所述,我希望得到m,s和h1)的表达式。这个方程并不总是有解的。如果e=1,t=1,或任何值为零,则不存在解。这足以阻止Matlab找到解决方案。2) 您可以通过注意到每个等式中的大括号集是相同的来简化这一点。这允许您消除它,并根据其他变量写入
m
s
h
,然后解一个方程以获得该变量的值,从而获得
m
s
h
。Matlab需要对参数值进行大量的简化和假设,才能做到这一点。为什么要用符号来求解它?你真的需要一个解析解吗?