Missing operator, comma, or semicolon 出错求助
看了所有关于Missing operator, comma, or semicolon的帖子。。还是不会修改自己的帖子啊。。高手帮帮忙啊。
老是出现Missing operator, comma, or semicolon.
那个大虾帮下啊。。
function f=zong(x) %主程序
global t
t=1:4;
global i
i=1:2;
L=
global X=x(i,t)
global U=u(i,t)
u(i,t)=any(x(i,t));
A=[0,-0.6667;
0,0.667;
0,-0.3333;
0,0.3333;
0,0.3333;
0,-0.3333;
1,0;
0,1];
b=[-0.3333L(t)+200;0.3333L(t)+200;-0.6667L(t)+100;0.6667L(t)+100;-0.3333L(t)+200;
0.3333L(t)+200;200;100];
lb=zeros(2,1);
ub=;
Aeq=x(1,t)+x(2,t)-L(t);
beq=0;
for t=1:4
=fmincon(@fun,[],A,b(t),Aeq,beq,lb,ub,@mycon1)
end
function f=cheng(x(i,t)) %空载成本和增量成本 function f=x(i,t)
if (0<x(1,t))&(x(1,t)<100)
f=10*x(1,t)+100;
if (100<x(1,t))&(x(1,t)<200)
f=14*x(1,t)-300;
end
end
if (0<x(2,t))&(x(2,t)<60)
f=12*x(2,t)+200;
if (60<x(2,t))&(x(2,t)<100)
f=15*x(2,t)+70;
end
end
function f=fun(x) %目标函数
i=
sum=0;
fq(i)=;
global x(2,4)
for i=1:2
for t=1:4
f=cheng(x(i,t))*u(i,t)+fq(i)*u(i,t).*(1-u(i,t-1))
sum=sum+f
end
end
function =mycon1(x) %约束条件
c(1)=100+20-200any(x(1,1)-100any(x(2,1))
c(2)=30+130-200any(x(1,2))-100any(x(2,2))
c(3)=50+170-200any(x(1,3))-100any(x(2,3))
c(4)=40+140-200any(x(1,4))-100any(x(2,4))
c(11)=x(1,t)-200
c(12)=x(2,t)-100
c(13)=x(1,t+1)-x(1,t)-30
c(14)=x(2,t+1)-x(2,t)-40
c(15)=-x(1,t+1)+x(1,t)-50
c(16)=-x(2,t+1)+x(2,t)-60
ceq=0
[ 本帖最后由 eight 于 2007-11-25 09:59 编辑 ] 改了一个晚上并不算什么,有时候解决一个问题需要更长时间。不在乎你做了多久,而在乎你发现了多少问题。matlab出错的时候,提示会精确到函数、子函数及具体的语句。因此找到出错的地方对症下药,只是一个简单的操作数出错,多为函数的用法不对或者参数不全导致,并不是大问题 新手的话,建议安装 2006a 版本以上的matlab,节省很多时间
页:
[1]