大家好,欢迎来到IT知识分享网。
MATLAB中fmincon 函数问题
Matlab的fmincon优化问题
请问:
各位高手帮忙看看我的程序又什么问题?显示错误
Error in ==> Fun at 33
[w,fval]=fmincon(@fun2,w0,[],[],Aeq,Beq,@myfuntestcon,options)
程序如下
@fun2文件内容
function f=fun2(w)
n=64;
y=zeros(n,1);
i=1:n;
y(i)=w(i).^2;
f=sum(y);
@myfuntestcon文件内容
function [c,ceq]=myfuntestcon(x)
c=[];
s=64;
u=zeros(s,1);w=zeros(s,1)
i=1:s;
u(i)=w(i);
v=sum(u);
Ceq=v-0.5
主文件内容
w0=ones(64,1);
options=optimset;
options.LargeScale=’off’;
options.MediumScale=’on’;
f=15000;a=1.2*log(10);B=0.8;z=60;L=0.2;d=1.0;N=128;c=5800;D=N*L+(N-1)*d;
X=zeros(N,1);
for k=1:N;
if k<65;
x(k)=-(64-k)*(d+L)-(d+L)/2;
else x(k)=-x(129-k);
end
X(k)=x(k);
end
y=2:0.5:30;
for k=1:length(y);
for n=64-1):1;
T1=sqrt((X(n)-y(k)).^2+z^2)/c;
T11=sqrt((X(n)+y(k)).^2+z^2)/c;
T2=(sqrt(D^2/4+z^2)-sqrt(X(n).^2+z^2))/c;
T=T1+T2;
T3=T11+T2;
t1=(sqrt(z^2+(D/2+y(k)).^2))/c;
t=t1-T;
t3=t1-T3;
s=exp(-(pi*B*f.*t).^2/a).*cos(2*pi*f.*t);
s1=exp(-(pi*B*f.*t3).^2/a).*cos(2*pi*f.*t3);
Aeq(k,n)=(s.*exp(j*2*pi*f.*T))+(s1.*exp(j*2*pi*f.*T3));
end
end
Beq=10^(-4)*ones(length(y),1);
[w,fval]=fmincon(@fun2,w0,[],[],Aeq,Beq,@myfuntestcon,options)
目的是优化如下图片内容
1个回答
矩阵转置用符号“`”来表示和实现。
例如: A=[1 2 3;4 5 6 ;7 8 9 ];
B=A`↙
B=1 4 7
2 5 8
3 6 9
如故Z是复数矩阵,则Z`为它们的复数共轭转置矩阵,非共轭转置矩阵使用Z.`或conj(Z`)。
引用:
[1] matlab 求矩阵的函数- matlab资源网(网页)
www.ymlib.net
◆◆
评论读取中….
请登录后再发表评论!
◆◆
修改失败,请稍后尝试
精华知识
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/22291.html