在Matlab中可以得到下列方程的显式解吗?

在Matlab中可以得到下列方程的显式解吗?,matlab,equation-solving,equations,Matlab,Equation Solving,Equations,注意,问题已编辑 我按照建议设置了限制,并收到以下结果: syms f1 f2 M b1 b2 assume (M > 1 & b1 > 0 & b2 > 0) S = solve ( [(f1^M)/(f2^M) - M/(b1*f1) + M + 1 == 0, ... (f2^M)/(f1^M) - M/(b2*f2) + M + 1 == 0], [f1,f2] ) Warning: The solutions are parameterized by

注意,问题已编辑

我按照建议设置了限制,并收到以下结果:

syms f1 f2 M b1 b2
assume (M > 1 & b1 > 0 & b2 > 0)
S = solve ( [(f1^M)/(f2^M) - M/(b1*f1) + M + 1 == 0, ...
(f2^M)/(f1^M) - M/(b2*f2) + M + 1 == 0], [f1,f2] )

Warning: The solutions are parameterized by the symbols: z, z1. To include parameters and conditions in the solution, specify the 'ReturnConditions' option. 
> In solve>warnIfParams at 511
  In solve at 361 


 Warning: The solutions are valid under the following conditions: M + z^M/z1^M - M/(b1*z) + 1 == 0 & M + z1^M/z^M - M/(b2*z1) + 1 == 0 & z < 0 & z1 < 0. To include parameters and conditions in the solution, specify the 'ReturnConditions' option. 


> In solve>warnIfParams at 518
  In solve at 361 

S = 

f1: [1x1 sym]
f2: [1x1 sym]
syms f1 f2 M b1 b2
assume (M > 1 & b1 > 0 & b2 > 0)
S = solve ( [(f1^M)/(f2^M) - M/(b1*f1) + M + 1 == 0, ...
(f2^M)/(f1^M) - M/(b2*f2) + M + 1 == 0], [f1,f2] )

Warning: The solutions are parameterized by the symbols: z, z1. To include parameters and conditions in the solution, specify the 'ReturnConditions' option. 
> In solve>warnIfParams at 511
  In solve at 361 


Warning: The solutions are valid under the following conditions: M + z^M/z1^M - M/(b1*z) + 1 == 0 & M + z1^M/z^M - M/(b2*z1) + 1 == 0 & z < 0 & z1 < 0. To include parameters and conditions in the solution, specify the 'ReturnConditions' option. 


> In solve>warnIfParams at 518
  In solve at 361 

S = 

f1: [1x1 sym]
f2: [1x1 sym] 
即使我将f1和f2的值限制为负值,我也会收到与上面相同的输出


利用上述方程式,我试图复制赫什莱弗J.1995《无政府状态及其崩溃》中出现的反应曲线。如果你需要更多的信息,你很可能得不到一个明确的、封闭的解决方案,因为对于任何真实的M、b1和b2的一般情况,没有一个是适用的

特别是对于M=0的情况,两个方程都简化为

  (...)^0 + 0 / (...) + 0 + 1   =   1 + 0 + 0 + 1   =   2    =    0
这显然根本没有解决办法。您希望Matlab如何处理这个问题


如果您对M或b有一些额外的限制,您应该尝试添加它们。

@mbschenkel,我按照建议设置了这些限制,并收到了以下结果:

syms f1 f2 M b1 b2
assume (M > 1 & b1 > 0 & b2 > 0)
S = solve ( [(f1^M)/(f2^M) - M/(b1*f1) + M + 1 == 0, ...
(f2^M)/(f1^M) - M/(b2*f2) + M + 1 == 0], [f1,f2] )

Warning: The solutions are parameterized by the symbols: z, z1. To include parameters and conditions in the solution, specify the 'ReturnConditions' option. 
> In solve>warnIfParams at 511
  In solve at 361 


 Warning: The solutions are valid under the following conditions: M + z^M/z1^M - M/(b1*z) + 1 == 0 & M + z1^M/z^M - M/(b2*z1) + 1 == 0 & z < 0 & z1 < 0. To include parameters and conditions in the solution, specify the 'ReturnConditions' option. 


> In solve>warnIfParams at 518
  In solve at 361 

S = 

f1: [1x1 sym]
f2: [1x1 sym]
syms f1 f2 M b1 b2
assume (M > 1 & b1 > 0 & b2 > 0)
S = solve ( [(f1^M)/(f2^M) - M/(b1*f1) + M + 1 == 0, ...
(f2^M)/(f1^M) - M/(b2*f2) + M + 1 == 0], [f1,f2] )

Warning: The solutions are parameterized by the symbols: z, z1. To include parameters and conditions in the solution, specify the 'ReturnConditions' option. 
> In solve>warnIfParams at 511
  In solve at 361 


Warning: The solutions are valid under the following conditions: M + z^M/z1^M - M/(b1*z) + 1 == 0 & M + z1^M/z^M - M/(b2*z1) + 1 == 0 & z < 0 & z1 < 0. To include parameters and conditions in the solution, specify the 'ReturnConditions' option. 


> In solve>warnIfParams at 518
  In solve at 361 

S = 

f1: [1x1 sym]
f2: [1x1 sym] 
即使我将f1和f2的值限制为负值,我也会收到与上面相同的输出


利用上述方程式,我试图复制赫什莱弗J.1995《无政府状态及其崩溃》中出现的反应曲线。如果你需要更多的信息,请参考《政治经济学杂志》

因为文章太多了,我发表了我的评论作为回答,你可以在下面看到,这和以前的结果是一样的吗?f1:[1x1 sym]与f1:[0x1 sym],看起来Matlab确实返回了一个解决方案。什么是f1?被否决,因为你应该把它添加到你的问题中,而不是把评论作为答案,除非他们真的回答了。您可以编写编辑:。。。或者是用来区分原来的问题和后来的补充问题的东西。