打印

程序总是出错???

[复制链接]
752|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
迷迭香|  楼主 | 2015-7-8 11:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
clear all;
close all;
global mclqs Kzl Kjy Ksr
mclqs=116.23;Kzl=120;Kjy=750;Ksr=100;
t0=[62 70];
options=optimset('LargeScale','off');
tL=[60,60];
tU=[88,88];
[t,A]=fmincon(@htexcoptfun4,t0,[],[],[],[],tL,tU,@htexcoptcons4,options)
function A=htexcoptfun4(t)
global mclqs Kzl Kjy Ksr
global tlqs1 tlqs2 tzlq2 tjy2 tlkq2
global dtmzl dtmjy dtmsr AA
tlqs1=t(1);
tlqs2=t(2);
tzlq2=165-19.31*(tlqs1-60);
tjy2=88-2.62*(tlqs2-tlqs1);
tlkq2=2.41*(tlqs2-60)+40;
dtmzl=((165-tlqs1)-(tzlq2-60))/log((165-tlqs1)/(tzlq2-60));
dtmjy=((88-tlqs2)-(tjy2-tlqs1))/log((88-tlqs2)/(tjy2-tlqs1));
dtmsr=((tlqs2-tlkq2)-(60-40))/log((tlqs2-tlkq2)/(60-40));
AA(1)=mclqs*(tlqs1 -60)*1000/(Kzl*dtmzl );
AA(2)=mclqs*(tlqs2-tlqs1)*1000/(Kjy*dtmjy);
AA(3)=mclqs*(tlqs2-60)*1000/(Ksr*dtmsr);
A=sum(AA);
Q=mclqs*(tlqs1 -60)+mclqs*(tlqs2-tlqs1)
end
function[c ceq]=htexcoptcons4(t)
global mclqs Kzl Kjy Ksr
global tlqs1 tlqs2 tzlq2 tjy2 tlkq2 AA
global dtmzl dtmjy dtmsr
c(1)=1100-mclqs*(tlqs2-60);
c(2)=2+tlqs1 -tlqs2;
c(3)=tzlq2-70;
c(4)=tjy2-87;
c(5)=42-tlkq2;
c(6)=-dtmzl;
c(7)=-dtmjy;
c(8)=-dtmsr;
A=sum(AA);
ceq=abs(imag(A));

??? Error using ==> fmincon
FMINCON cannot continue because user supplied objective function failed with the following error:
Error using ==> feval
Undefined command/function 'htexcoptfun4'.
本人刚开始学  不知道这是怎么回事 可否求哪位大神指点一二,小女子将不胜感激

相关帖子

沙发
gaoyang9992006| | 2015-7-21 16:05 | 只看该作者
使用环境错了

使用特权

评论回复
板凳
lvyunhua| | 2015-7-22 06:52 | 只看该作者
'htexcoptfun4'.
没有定义啊。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝