24小时热门版块排行榜    

查看: 881  |  回复: 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 请教兼职经验 +3 是阿文鸭 2026-08-09 3/150 2026-08-14 12:07 by HER12025
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +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 +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[基金申请] 关于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 且听虎啸
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 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
[基金申请] 是这周出结果还是下周出结果? +3 yuleib84 2026-08-11 3/150 2026-08-11 21:53 by jnhyjjm
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 化学口download_prp&fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
信息提示
请填处理意见