24小时热门版块排行榜    

查看: 883  |  回复: 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的回帖

chendequan

铁虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
可能初始值处目标函数值比较小导致的,x0(2)很小造成的。
QQ:516477448,真心帮助解决MATLAB相关问题,提供详细资料,Word文档明确具体问题及要求,尽力而为!
2楼2016-12-13 16:35:43
已阅   回复此楼   关注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的回帖
相关版块跳转 我要订阅楼主 dreamjie618 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +5 启萌科技 2026-08-12 17/850 2026-08-14 17:48 by 启萌科技
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +10 Tide man 2026-08-10 11/550 2026-08-14 10:30 by 沁言学术
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] 关于Filecode分析方法 +9 majunge000 2026-08-10 12/600 2026-08-13 23:20 by iwuli
[文学芳草园] 阿姨 +4 汪汪锅 2026-08-09 4/200 2026-08-13 19:43 by arzu_hma
[硕博家园] 一作与独作在应聘高校教师时区别大吗 +3 mbygzh 2026-08-08 4/200 2026-08-13 19:31 by 龙-樱
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
信息提示
请填处理意见