Обратите внимание, вопрос редактируется.Можно ли получить явное решение следующего уравнения в 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. политической экономии (в случае, если Вам необходима дополнительная информация)
так как было слишком много текста, я отправил свой комментарий в качестве ответа, как вы можете увидеть ниже – Beck
я редактировал оригинальный вопрос, как вы предложили – Beck
Как это тот же результат, что и раньше? 'f1: [1x1 sym]' vs 'f1: [0x1 sym]', это похоже на то, что Matlab * does * возвращает решение. Что такое 'f1'? – mbschenkel