MATlab中如何对符号表达式中某些变量进行赋值?
A=[1,1,1,1;-1,-1,-1,-1;-1,0,0,0;0,0,-1,0];T0=3;%T0为黄灯时间TP=20;%TP为行人穿越马路时间,可根据具体情况设置%[...
A=[1,1,1,1;-1,-1,-1,-1;-1,0,0,0;0,0,-1,0];
T0=3;%T0为黄灯时间
TP=20;%TP为行人穿越马路时间,可根据具体情况设置
%[T',T'']=[30,200] %某个路口交通周期的经验范围为30~120,对不同路口可重新设置
b=[200-4*T0;-30+4*T0;T0-TP;T0-TP]
t0=unifrnd(30,200,1,4);%随机生成若干个初值有助于非线性规划求解
T=[];CAT1=[]a=0.4999,c=0.3444
f=inline('(a*x(1) + x(2) + c*x(3) + x(4) + 15)/(x(1)+x(2))')
f1=subs(f,{'a','c'},{a,c})
f1=inline(f1,'x')
[X,fval]=fmincon(f,t0,A,b,[],[],[0,0,0,0],[]) 我想对符号表达式(加粗)中的a,b设置不同的值,分别用fmincon计算结果,程序的错误不知如何改正 展开
T0=3;%T0为黄灯时间
TP=20;%TP为行人穿越马路时间,可根据具体情况设置
%[T',T'']=[30,200] %某个路口交通周期的经验范围为30~120,对不同路口可重新设置
b=[200-4*T0;-30+4*T0;T0-TP;T0-TP]
t0=unifrnd(30,200,1,4);%随机生成若干个初值有助于非线性规划求解
T=[];CAT1=[]a=0.4999,c=0.3444
f=inline('(a*x(1) + x(2) + c*x(3) + x(4) + 15)/(x(1)+x(2))')
f1=subs(f,{'a','c'},{a,c})
f1=inline(f1,'x')
[X,fval]=fmincon(f,t0,A,b,[],[],[0,0,0,0],[]) 我想对符号表达式(加粗)中的a,b设置不同的值,分别用fmincon计算结果,程序的错误不知如何改正 展开
2个回答
2013-07-12
展开全部
最后两句改为:f1=inline(f1)
[X,fval]=fmincon(f1,t0,A,b,[],[],[0,0,0,0],[])
[X,fval]=fmincon(f1,t0,A,b,[],[],[0,0,0,0],[])
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-12
展开全部
建议另写一个函数fa b c 及 x1---x4都是变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询