2015-04-19 2 views
1

Обратите внимание, вопрос редактируется.Можно ли получить явное решение следующего уравнения в Matlab?

Я установил ограничение, как предложен и получил следующий результат:

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 быть отрицательными, я получаю тот же результат, что и выше.

С приведенными выше уравнениями я пытаюсь воспроизвести кривые реакции, которые фигурируют в Hirshleifer J. (1995), «Anarchy and Its Breakdown». J. политической экономии (в случае, если Вам необходима дополнительная информация)

ответ

1

Скорее всего, вы не получаете явное, замкнутое решение, потому что нет ни одного, который имеет место в общем случае каких-либо реальных M, b1 и b2.

В частности, для случая M = 0 оба уравнения упрощаются

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

, который явно не имеет решения вообще. Как бы вы ожидали, что Matlab справится с этим?

Если у вас есть дополнительные ограничения на M или b, вы должны попытаться их добавить.

+0

так как было слишком много текста, я отправил свой комментарий в качестве ответа, как вы можете увидеть ниже – Beck

+0

я редактировал оригинальный вопрос, как вы предложили – Beck

+0

Как это тот же результат, что и раньше? 'f1: [1x1 sym]' vs 'f1: [0x1 sym]', это похоже на то, что Matlab * does * возвращает решение. Что такое 'f1'? – mbschenkel

-1

@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] 

Даже если ограничить значения f1 и f2 быть отрицательным, я получаю тот же результат, что и выше ,

С приведенными выше уравнениями я пытаюсь воспроизвести кривые реакции, которые фигурируют в Hirshleifer J. (1995), «Anarchy and Its Breakdown». J. политэкономии (в случае, если Вам необходима дополнительная информация)

+0

Downvoted, потому что вы должны добавить это к своему вопросу, а не оставлять комментарии в качестве ответов (если они на самом деле не отвечают на него, конечно). Вы можете написать «Изменить: ...» или что-то другое, чтобы отличить исходный вопрос от последующих дополнений. – mbschenkel