magicsun 发表于 2015-6-26 11:53 
会用一点。
那大神帮我看看这个程序,程序是在书上抄的,为什么会出现错误呢?
这是运行结果:
>> clear
>> syms x y z;
>> x(1)=x;x(2)=y;x(3)=z;
>>
fx=@(x)-log(x(1)/x(2)*((1.1101e+03-x(3))/x(2))^(x(1)-1)*exp(-(1.1101e+03-x(3))/x(2))^x(1))-log(x(1)/x(2)*((1.0035e+03-x(3))/x(2))^(x(1)-1)*exp(-(1.0035e+03-x(3))/x(2))^x(1))-log(x(1)/x(2)*((941.2414-x(3))/x(2))^(x(1)-1)*exp(-(941.2414-x(3))/x(2))^x(1))-log(x(1)/x(2)*((971.2918-x(3))/x(2))^(x(1)-1)*exp(-(971.2918-x(3))/x(2))^x(1))-log(x(1)/x(2)*((1.1419e+03-x(3))/x(2))^(x(1)-1)*exp(-(1.1419e+03-x(3))/x(2))^x(1))
fx =
@(x)-log(x(1)/x(2)*((1.1101e+03-x(3))/x(2))^(x(1)-1)*exp(-(1.1101e+03-x(3))/x(2))^x(1))-log(x(1)/x(2)*((1.0035e+03-x(3))/x(2))^(x(1)-1)*exp(-(1.0035e+03-x(3))/x(2))^x(1))-log(x(1)/x(2)*((941.2414-x(3))/x(2))^(x(1)-1)*exp(-(941.2414-x(3))/x(2))^x(1))-log(x(1)/x(2)*((971.2918-x(3))/x(2))^(x(1)-1)*exp(-(971.2918-x(3))/x(2))^x(1))-log(x(1)/x(2)*((1.1419e+03-x(3))/x(2))^(x(1)-1)*exp(-(1.1419e+03-x(3))/x(2))^x(1))
>> P=[-1 1 1;2 0 1;-2 0 3];
>> [x,mf]=minPowell(fx,[0,1,2],P,[x y z])
Error using syms>getnames (line 95)
Not a valid variable name.
Error in syms (line 59)
[vars,funs,control] = getnames(varargin);
Error in minPowell (line 7)
syms 1;