24小时热门版块排行榜    

查看: 796  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

dreamjie618

新虫 (初入文坛)

[求助] 基于Wilson理论的风力机叶片设计 已有2人参与

各位大神,下边是基于Wilson理论编写的风力机叶片设计程序,分别是主函数,目标函数和约束函数,但是调试有问题,运行出错,恳请各位大神帮忙看下原因,不胜感激!
报错显示如下
“错误使用 barrier (line 22)
Objective function is undefined at initial point. Fmincon cannot continue.

出错 fmincon (line 799)
    [X,FVAL,EXITFLAG,OUTPUT,LAMBDA,GRAD,HESSIAN] = barrier(funfcn,X,A,B,Aeq,Beq,l,u,confcn,options.HessFcn,
    ...

出错 Wilson (line 19)
    [x,fval]=fmincon(@objfun,x0,[],[],[],[],[],[],@confun);”

Wilson.m
clear;
global r;
global R;
global phi;
global lamb;
V1=61.1;P=20000;lamb0=7;Cp=0.4;eta1=0.95;eta2=0.92;B=2;
Mu=17.9*10^-6;Cl=0.8361;Cd=0.0171;
D=sqrt(P/0.49/V1^3/Cp/eta1/eta2);
%D=round(D);
d=roundn(D,2);
R=d/2;
N=60*lamb0*V1/pi/d;
omiga=V1*lamb0/R;
fid=fopen('Wilson.txt','w');
for i=0.072:0.072:0.72
    r=i;a=0;b=0;
    lamb=lamb0*r/R;phi=atan((1-a)*V1/(1+b)/omiga/r);
    x0=[lamb0^2/2000+0.027*lamb0-0.038;10/lamb0/exp(12*r/R)];
    [x,fval]=fmincon(@objfun,x0,[],[],[],[],[],[],@confun);
    a=x(1);
    b=x(2);
    fprintf(fid,'%f\t%f\n',a,b);
end
fclose(fid);
p=load('Wilson.txt');
fid=fopen('wilson1.txt','w');
for i=1:10
    r=i;
    a=p(i,1);
    b=p(i,2);
    phi=atan(1-a)*V1/(1+b)/omiga/r;
    F=2/pi*acos(exp(-B/2*(R-r)/r*sin(phi)));
    S=8*pi*a*F*(1-a*F)*sin(phi)*sin(phi)/(1-a)^2/cos(phi);
    C=S*r/B/Cl;
    Cp=2/lamb0^2*b*(1-a)*F*lamb^4;
    fprintf(fid,'%f\t%f\t%f\t%f\n',F,phi,C,Cp);
end
fclose(fid);

objfun.m
function f=objfun(x)
global r;
global R;
global phi;
global lamb;
B=2;lamb0=7;
c=B/2*(R-r)/r/sin(phi);F=2/pi*acos(exp(-c));
f=-8/lamb0^2*x(2)*(1-x(1))*F*lamb^3;

confun.m
function[g,ceq]=confun(x)
global r;
global R;
global phi;
global lamb;
B=2;
c=B/2*(R-r)/r/sin(phi);F=2/pi*acos(exp(-c));
g=[];
ceq=x(1)*(1-x(1)*F)-x(2)*(1+x(2))*lamb^2;
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pdl9527

专家顾问 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
dreamjie618: 金币+20, ★★★很有帮助 2016-12-14 15:18:30
请检查你的目标函数和初始值,你可以将你目前的初值带入目标函数中,在对x0赋值的下一行输入objfun(x0),运行后可以看到得到的复数,改变x0的值,发现还是得到的复数,因此fmincon无法继续进行了。

另外不要用global了,直接用内嵌函数就行。
3楼2016-12-13 20:55:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

chendequan

铁虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
可能初始值处目标函数值比较小导致的,x0(2)很小造成的。
QQ:516477448,真心帮助解决MATLAB相关问题,提供详细资料,Word文档明确具体问题及要求,尽力而为!
2楼2016-12-13 16:35:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 本人考085602 化学工程 专硕 +20 不知道叫什么! 2026-03-15 22/1100 2026-03-21 19:03 by ColorlessPI
[考研] 求调剂 +4 要好好无聊 2026-03-21 4/200 2026-03-21 18:57 by 学员8dgXkO
[考研] 材料工程专硕 348分求调剂 +3 冬辞. 2026-03-17 5/250 2026-03-21 18:47 by 学员8dgXkO
[考研] 一志愿南大,0703化学,分数336,求调剂 +3 收到VS 2026-03-21 3/150 2026-03-21 18:42 by 学员8dgXkO
[考研] 297求调剂 +3 喜欢还是不甘心 2026-03-20 3/150 2026-03-21 18:33 by 学员8dgXkO
[考研] 307求调剂 +3 余意卿 2026-03-18 3/150 2026-03-21 17:31 by ColorlessPI
[考研] 26考研一志愿中国石油大学(华东)305分求调剂 +6 嘉年新程 2026-03-15 6/300 2026-03-21 17:07 by Dream007008
[考研] 299求调剂 +4 某某某某位 2026-03-21 4/200 2026-03-21 16:30 by barlinike
[考研] 求调剂 +3 .m.. 2026-03-21 4/200 2026-03-21 16:25 by barlinike
[考研] 南昌大学材料专硕311分求调剂 +6 77chaselx 2026-03-20 6/300 2026-03-21 07:24 by JourneyLucky
[考研] 一志愿天津大学化学工艺专业(081702)315分求调剂 +12 yangfz 2026-03-17 12/600 2026-03-21 03:30 by JourneyLucky
[考研] 324分 085600材料化工求调剂 +4 llllkkkhh 2026-03-18 4/200 2026-03-21 01:24 by JourneyLucky
[考研] 350求调剂 +5 weudhdk 2026-03-19 5/250 2026-03-20 22:04 by luoyongfeng
[考研] 材料学硕297已过四六级求调剂推荐 +11 adaie 2026-03-19 11/550 2026-03-20 21:30 by laoshidan
[考研] 一志愿华中农业071010,总分320求调剂 +3 困困困困坤坤 2026-03-20 3/150 2026-03-20 20:38 by 学员8dgXkO
[考研] 广西大学家禽遗传育种课题组2026年硕士招生(接收计算机专业调剂) +3 123阿标 2026-03-17 3/150 2026-03-20 15:58 by 飞行琦
[考研] 招收调剂硕士 +4 lidianxing 2026-03-19 12/600 2026-03-20 12:25 by lidianxing
[考研] 0703化学336分求调剂 +6 zbzihdhd 2026-03-15 7/350 2026-03-18 09:53 by zhukairuo
[考研] 333求调剂 +3 文思客 2026-03-16 7/350 2026-03-16 18:21 by 文思客
[考研] 318求调剂 +3 Yanyali 2026-03-15 3/150 2026-03-16 16:41 by houyaoxu
信息提示
请填处理意见