为什么这个Mathematica代码最大化?

时间:2014-04-24 02:24:55

标签: wolfram-mathematica maximize mathematica-8

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脚本的照片:

enter image description here

1 个答案:

答案 0 :(得分:2)

首先,您使用的是小写的求解,这只是一个未定义的变量。要使用函数Solve,您需要使用大写字母来编写它。同样,你必须用大写字母写Log,而不是小写字母,因为它是内置函数。

其次,您的左括号不是括号。 Mathematica中的函数需要括号,例如Solve[ ... ],而不是Solve( )

第三,您使用=代替==。单个等于=用于存储变量,双等于==用于表示相等。

在纠正这些错误后,看看是否可以让它工作。