matlab中错误使用fmincon,MATLAB中fmincon 函数问题

matlab中错误使用fmincon,MATLAB中fmincon 函数问题MATLAB中fmincon函数问题Matlab的fmincon优化问题请问:各位高手帮忙看看我的程序又什么问题?显示错误Errorin==>Funat33[w,fval]=fmincon(@fun2,w0,[],[],Aeq,Beq,@myfuntestcon,options)程序如下@fun2文件内容functionf=fun2(w)n=64;y=zeros(n,1);i=…

大家好,又见面了,我是你们的朋友全栈君。

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个回答

67b0a70febe552c922c54bb8560d6ef6.png

ce2b1919fe648f93bf91cc05697ecca8.png

矩阵转置用符号“`”来表示和实现。

例如: 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

◆◆

评论读取中….

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

精华知识

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/141963.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 双机热备系统的方案与软件浅析「建议收藏」

    一、概述双机热备指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备。双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active-Active方式),主-备方式指的是一台服务器处于某种业务的激活状态(即Active状态),另一台服务器处于该业务的备用状态(即Standby状态)。而双主机方式即指两种不同业务分别在

  • Python学习之MacBook Pro中PyCharm安装pip以及itchat

    Python学习之MacBook Pro中PyCharm安装pip以及itchat前言:Mac中自带的python没有用,自己安装了一个PyCharm,网上很多人说安装Itchat后会安装到自带的Python中去。本文记录怎么安装到自己安装的Python3.7中去。主要技术来源于https://www.cnblogs.com/ace722/p/9697331.html,在此引用并表示感谢,以下只是精炼的步骤,具体可参考原博客。步骤一:首先查看自己是否有安装到pip,在Ter…

  • ubuntu下vscode的使用教程_vscode连接ubuntu虚拟机

    ubuntu下vscode的使用教程_vscode连接ubuntu虚拟机1、安装ffmpegwgethttps://ffmpeg.org/releases/ffmpeg-4.1.tar.bz2tar-xjvfffmpeg-4.1.tar.bz2./configure–prefix=/usr/local/ffmpeg–enable-gpl–enable-version3–enable-nonfree–enable-postproc–enable-pthreads–enable-libfdk-aac–enable-libmp3lame

  • 离线浏览器Teleport Pro完全教程

    离线浏览器Teleport Pro完全教程书城导航  首页>电脑书籍>文件管理>离线浏览器TeleportPro完全教程(一) 

  • fiddler 抓包详细教程「建议收藏」

    为什么要先学fiddler?学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始。结合抓包工具讲http协议更容易学一些。抓firefox上https请求fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书。一、网页不安全1.用fiddler抓包时候,打开百…

  • lunix安装_linux系统下载

    lunix安装_linux系统下载https://www.cnblogs.com/wcwen1990/p/7630545.html转载于:https://www.cnblogs.com/lkd3063601/p/9342798.html

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号