QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2136|回复: 4
打印 上一主题 下一主题

“半无限”有约束的多元函数最优解 matlab

[复制链接]
字体大小: 正常 放大

5

主题

9

听众

146

积分

升级  23%

  • TA的每日心情
    郁闷
    2016-4-12 19:32
  • 签到天数: 88 天

    [LV.6]常住居民II

    自我介绍
    renz

    社区QQ达人

    群组第三届数模基础实训

    群组第四届数学中国美赛实

    群组2014年网络挑战赛交流

    群组2014年地区赛数学建模

    跳转到指定楼层
    1#
    发表于 2013-8-1 21:24 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    function [C,Ceq,K1,K2,S] = mycon(X,S)
    % 初始化样本间距:
    if isnan(S(1,1)),
    S = [0.2 0; 0.2 0];
    end
    % 产生样本集:
    w1 = 1:S(1,1):100;
    w2 = 1:S(2,1):100;
    % 计算半无限约束:
    K1 = sin(w1*X(1)).*cos(w1*X(2)) - 1/1000*(w1-50).^2 -sin(w1*X(3))-X(3)-1;
    K2 = sin(w2*X(2)).*cos(w2*X(1)) - 1/1000*(w2-50).^2 -sin(w2*X(3))-X(3)-1;
    % 无非线性约束:
    C = [ ]; Ceq=[ ];
    % 绘制半无限约束图形
    plot(w1,K1,'-',w2,K2,':'),title('Semi-infinite constraints')
    然后在MATLAB 命令窗口或编辑器中建立M 文件:
    fun = 'sum((x-0.5).^2)';
    x0 = [0.5; 0.2; 0.3]; % Starting guess
    [x,fval] = fseminf(fun,x0,2,@mycon)
    ashes of time<zhangdianqiankun@qq.com> 21:16:45
    有大神看的懂吗
    ashes of time<zhangdianqiankun@qq.com> 21:17:01
    if isnan(S(1,1)),  是判断非法操作 可以去掉  但S(1,1)是什么
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    10

    主题

    43

    听众

    1434

    积分

    升级  43.4%

  • TA的每日心情
    奋斗
    2021-8-13 22:51
  • 签到天数: 278 天

    [LV.8]以坛为家I

    自我介绍
    冰E柠檬

    社区QQ达人

    群组2013认证赛A题讨论群组

    群组2013认证赛B题讨论群组

    群组数学建摸协会

    群组2013年数学建模国赛备

    群组高数系列公益培训

    你这个程序好像就是要画,K1和K2的图像吧,然后S(1,1)跟这个mycon(X,S)语句有关,因为mycon(X,S)这个是连接到X跟S的数据的,所以要问S(1,1)这个是什么得看你本来存放的数据是什么吧。。。。。
    回复

    使用道具 举报

    5

    主题

    9

    听众

    146

    积分

    升级  23%

  • TA的每日心情
    郁闷
    2016-4-12 19:32
  • 签到天数: 88 天

    [LV.6]常住居民II

    自我介绍
    renz

    社区QQ达人

    群组第三届数模基础实训

    群组第四届数学中国美赛实

    群组2014年网络挑战赛交流

    群组2014年地区赛数学建模

    冰E柠檬 发表于 2013-8-1 22:02
    你这个程序好像就是要画,K1和K2的图像吧,然后S(1,1)跟这个mycon(X,S)语句有关,因为mycon(X,S)这个是连接 ...

    这个程序是可以运行的 我就不知道s (1,1)存放啥
    回复

    使用道具 举报

    madio        

    3万

    主题

    1310

    听众

    5万

    积分

  • TA的每日心情
    奋斗
    2024-7-1 22:21
  • 签到天数: 2014 天

    [LV.Master]伴坛终老

    自我介绍
    数学中国站长

    社区QQ达人 邮箱绑定达人 优秀斑竹奖 发帖功臣 风雨历程奖 新人进步奖 最具活力勋章

    群组数学建模培训课堂1

    群组数学中国美赛辅助报名

    群组Matlab讨论组

    群组2013认证赛A题讨论群组

    群组2013认证赛C题讨论群组

    看看fseminf函数的帮助就知道了,S是一个推荐的采样间隔,有时会用到,S的第i行包含对于ki的推荐的采样间隔,如果ki是一个向量使用 S(i,1),如果ki是矩阵使用S(i,2).S是由半无限约束函数决定的,第一步迭代的时候S是NaN,这里的这个判断就是让初始的时候S不为NaN。S(1,1)对应的是k1的采样间隔。
    数学建模社会化
    回复

    使用道具 举报

    5

    主题

    9

    听众

    146

    积分

    升级  23%

  • TA的每日心情
    郁闷
    2016-4-12 19:32
  • 签到天数: 88 天

    [LV.6]常住居民II

    自我介绍
    renz

    社区QQ达人

    群组第三届数模基础实训

    群组第四届数学中国美赛实

    群组2014年网络挑战赛交流

    群组2014年地区赛数学建模

    madio 发表于 2013-8-2 14:55
    看看fseminf函数的帮助就知道了,S是一个推荐的采样间隔,有时会用到,S的第i行包含对于ki的推荐的采样间隔 ...

    好像懂了点 太感谢了 叩首
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-25 03:50 , Processed in 0.457276 second(s), 73 queries .

    回顶部