回 帖 发 新 帖 刷新版面

主题:请教!

大家好,我编了这样的程序(关于多目标规划的):
>> goal=[0.6547,0.1606,0.1126,0.0721];
>> weight=[0.6547,0.1606,0.1126,0.0721];
>> x0=[1,1];
>> A=[-0.5917,-0.326,-0.4587;0.5917,0.326,0.4587;-0.3077,-0.1695,-0.2385;-0.3094,-0.1705,-0.2399;-0.0254,-0.01402,-0.01972;1,1,1;0.2535,0.337,0.0926;0.1016,0.02386,0.1141;0.07573,0.0025,0];
>> b=[-2755.6429,487.3619,1184.01,919.6149,652.0177,4835.3239,54836.53,470.95,92.47]';
>> [x,fval]=fgoalattain('myfun1',x0,goal,weight,A,b)
函数myfun1如下:
function f=myfun(x)
f(1)=432.3123136/(0.59167x(1)+0.326015x(2)+0.458663x(3));
f(2)=1-(x(1)+x(2)+x(3))/4835.3239;
f(3)=907.733723964x(1)+1201.1328589065x(2)+326.9428754036x(3);
f(4)=2.7843x(2);

可是运行出现这样的结果:
??? Error: File: d:\MATLAB7\work\myfun1.m Line: 2 Column: 26
Missing MATLAB operator.

Error in ==> fgoalattain at 282
   user_f = feval(funfcn{3},x,varargin{:});
不知道是什么原因,请教各位大侠!

回复列表 (共1个回复)

沙发

f(1)=432.3123136/(0.59167‘*’x(1)+0.326015‘*’x(2)+0.458663‘*’x(3));
少了“*”!下面类似。

我来回复

您尚未登录,请登录后再回复。点此登录或注册