1

Note, the question is edited.

I set the restrictions as suggested and received the following outcome:

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]

Even if I restrict values of f1 and f2 to be negative, I receive the same output as above.

With the above equations, I am trying to replicate Reaction Curves which appear in Hirshleifer J. (1995), "Anarchy and Its Breakdown." J. of Political Economy (in case you need more information)

Beck
  • 121
  • 5

2 Answers2

1

Most likely you are not getting an explicit, closed solution because there is none that holds for the general case of any real M, b1 and b2.

In particular for the case M = 0 both equations simplify to

  (...)^0 + 0 / (...) + 0 + 1   =   1 + 0 + 0 + 1   =   2    =    0

which clearly has no solution at all. How would you expect Matlab to handle this?

If you have some additional constraints on M or b you should try to add them.

mbschenkel
  • 1,865
  • 1
  • 18
  • 40
  • since there was too much text, I posted my comment as an answer as you can see below – Beck Apr 21 '15 at 14:29
  • How is this the same output as before? `f1: [1x1 sym]` vs `f1: [0x1 sym]`, this looks like Matlab *does* return a solution. What is `f1`? – mbschenkel Apr 22 '15 at 14:21
-1

@mbschenkel, I set the restrictions as suggested and received the following outcome:

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] 

Even if I restrict values of f1 and f2 to be negative, I receive the same output as above.

With the above equations, I am trying to replicate Reaction Curves which appear in Hirshleifer J. (1995), "Anarchy and Its Breakdown." J. of Political Economy (in case you need more information)

Beck
  • 121
  • 5
  • Downvoted, because you should add this to your question and not post comments as answers (unless they actually answer it of course). You can write "Edit: ..." or something to distinguish the original question from later additions. – mbschenkel Apr 21 '15 at 15:20