Почему этот код Mathematica не максимизирует?

f[n_] := ((A*n^a)^(1/s) + 
        c*(B*(a*c*(B/A)^(1/s)*n^(1 - (a/s)))^(-(a*s)/(a - s)))^(1/s))^s +
        b*log (1 - n - ((a*c*(B/A)^(1/s)*n^(1 - (a/s)))^(-(a*s)/(a - s))))
        d/dn (f (n))
        d/dn (f[n])
        D[f[n], n]
        solve (D[f[n], n] = 0)
        0
        Solve[D[f[n], n] = 0, n]
        Solve[0, n]
        Maximize[f[n], n]
        Maximize[b log (1 - n - (a (B/A)^(1/s) c n^(1 - a/s))^(-((a s)/(a - s)))) + ((A n^a)^(1/s) 
                     + c (B (a (B/A)^(1/s) c n^(1 - a/s))^(-((a s)/(a - s))))^(1/s))^s, n]

Я ничего не возвращаю ни для одной из этих функций. Есть идеи, почему?

Прикрепляю фото скрипта mathematica:

введите здесь описание изображения


person Jake_Mill22    schedule 24.04.2014    source источник
comment
ты не читал ответ на свой другой вопрос? или у вас есть переменная с именем log?   -  person agentp    schedule 24.04.2014


Ответы (1)


Прежде всего, вы используете решение со строчными буквами, что является просто неопределенной переменной. Чтобы использовать функцию Solve, вам нужно написать ее с большой буквы. Точно так же вы должны писать Log с заглавной, а не строчной буквы, так как это встроенная функция.

Во-вторых, ваша открытая скобка не является скобкой. Для функций в системе Mathematica требуются скобки, например Solve[ ... ], а не Solve( ).

В-третьих, вы используете = вместо ==. Одиночное равно = используется для хранения переменных, двойное равно == используется для представления равенства.

Посмотрите, сможете ли вы заставить его работать после исправления этих ошибок.

person Alexander Gruber    schedule 24.04.2014