QQ登录

只需要一步,快速开始

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

[问题求助] 下载了《精通MATLAB最优化计算》书上的优化程序,用它来做杆机构的优化,我的目标函..

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

3

主题

4

听众

150

积分

升级  25%

  • TA的每日心情
    开心
    2012-11-3 11:34
  • 签到天数: 41 天

    [LV.5]常住居民I

    跳转到指定楼层
    #
    发表于 2012-2-27 12:25 |只看该作者 |正序浏览
    |招呼Ta 关注Ta
    10体力
    想用里边的惩罚函数程序来算,我的目标函数是用for循环写的。不会导入。0 m8 w2 E; v, p
    惩罚函数调用格式如下:+ |' h$ j) J+ ~- z* `
    function [x,minf] = minMixFun(f,g,h,x0,r0,c,var,eps)' |5 E" _  c2 h
    %目标函数:f: c( k6 y! r. K' p) c
    %不等式约束:g5 |% c8 n2 I0 ?, r- q2 N0 h/ P6 q& r
    %等式约束:h8 a$ [! |2 I/ e* r6 K1 c0 L7 K
    %初始点:x0' I* z: a4 C* B
    %罚因子:r07 p7 k1 ?3 p$ p5 |) G
    %缩小系数:c
    6 w/ \7 J9 k( K8 B* a$ ]' _9 r%自变量向量:var
    ' i& R4 o8 W' j, I%精度:eps
    5 S* X; S* A3 b# v$ w( ?%目标函数取最小值时的自变量的值:x! j  X) ]+ _4 ~6 y; X2 M
    %目标函数的最小值:minf) p5 |8 L0 G* Q+ @) ]/ v- E3 P

    + W1 l& n6 A/ x5 d
    0 B# W+ ~, I; C- q9 h" Z目标函数:
    4 B% v, P6 @0 N* Q8 |6 Qfunction f=link_objfun1(x)
    " D) e/ L7 D, A1 lglobal L1 L54 C5 \. E1 J9 H* R
    f=0;
    $ n* m; ?1 p6 ?& N, tsnti0=0;$ v* x# P/ ^4 w
    for i=0:5: s9 h/ ]9 s, o8 V% `3 d7 L
    snti=snti0+pi/6*i/5; * h- t' w( D& w: s6 @2 C3 T  \
    fai=acos((L1-x(1)*sin(snti+x(5)))/(L1^2+x(1)^2-2*L1*x(1)*sin(snti+x(5)))^1/2);( K9 M7 n& n, J/ d8 L2 ~; F& R1 J
    psai=acos(2*(L1^2+x(1)^2+x(3)^2-x(2)^2-2*L1*x(1)*sin(snti+x(5)))/(x(3)*(L1^2+x(1)^2-2*L1*x(1)*sin(snti+x(5)))^1/2));
    * F' t. u9 R5 w- T/ L& Vif snti<=pi/2-x(5)' n, _  ]: H0 R; ?& k' e- B
       bati=fai+psai+acos(x(4)/x(3));
    1 h7 F8 ^" u1 xelseif snti>pi/2-x(5)
    ; ~. l+ R- @7 u* v5 {: P* O  z   bati=-fai+psai+acos(x(4)/x(3));
    2 k* b+ P8 r1 N0 h+ dend
    . w9 X. Z7 @' M2 |% {7 {f=f+(L1*cos(snti)+L5*cos(snti-bati)-L1)^2;3 F6 y& Y( Q1 o
    end
    ; _: ?: q# Q& u6 q4 i# i6 w. G; @% j
    9 Q: [% t5 n! I/ H. s% m* e
    * e( Q) |' m1 W请诸位帮帮忙,我的体力不多。

    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    3

    主题

    4

    听众

    150

    积分

    升级  25%

  • TA的每日心情
    开心
    2012-11-3 11:34
  • 签到天数: 41 天

    [LV.5]常住居民I

    我懂的不多,生搬硬套。书上的例题+ A" P, m3 a  w5 L4 Z" {3 L3 _* Q
    运行如下:' f% d7 u* P- M! D/ X
    syms t;1 [. ^3 @4 J; Q9 O$ N' {5 P" Y
    a=4;b=3;6 s! `/ N0 U( ~3 B/ V- Q' v
    f=a*t;
    + Y4 Q# w! }( u1 n  P; ig=[t-b];8 Z" [) i% [, r. N5 J0 B. v5 h
    [x,minf]=minNF(f,[5],g,10,0.5,[t])
    * x# F  X3 R% I; y+ ^" p我将目标函数写成:
    # T4 Y& K. ]  L3 A8 @function f=link_objfun(s,t,a,m,n)  k- B( y1 t0 m- `6 ]
    global L1 L5
    3 Q- G0 w6 }8 ]* t8 rf=0;! ]* F% z$ x) b& |" N6 b4 X
    snti0=0;/ x: G/ |  V+ t! E
    for i=0:5* I  m" ^6 ^6 ]$ B( X
    snti=snti0+pi/6*i/5; # w, L) [1 R- u7 a% a
    fai=acos((L1-s*sin(snti+n))/(L1^2+s^2-2*L1*s*sin(snti+n))^1/2);
    1 i6 G0 Z# `+ A. U* p  L" _psai=acos(2*(L1^2+s^2+a^2-t^2-2*L1*s*sin(snti+n))/(a*(L1^2+s^2-2*L1*s*sin(snti+n))^1/2));
    ' T3 M, [/ L' Y- D5 Hif snti<=pi/2-n
    " I9 K' a4 L7 @: p   bati=fai+psai+acos(m/a);  c& j5 f/ |0 w0 q8 `% t# m
    elseif snti>pi/2-n
    ) W4 R! ^. W# _" |5 j' ?0 f   bati=-fai+psai+acos(m/a);6 N( n+ K5 P5 R4 I8 b- j5 q' G/ r
    end
    * n; i7 V2 q6 O- C8 sf=f+(L1*cos(snti)+L5*cos(snti-bati)-L1)^2;' G# |7 }( j6 }; u) N4 l
    end* E! i9 `' H7 W9 a, ^
    运行如下:2 `: x. J; f. v9 D$ Q
    clear all;
    2 W6 Z2 x- v/ K! T+ _! j7 Fglobal L1 L5
    . W3 y& W% E9 Y5 z+ _1 O( hL1=3000;
    ; D( M8 s0 v5 P! j! T+ ~% _L5=800;
    2 L6 Z0 k/ B0 hsyms s t a m n;
    : s- g9 Z9 h% C7 O3 }4 jf=link_objfun;; v1 |; F; G0 d& [2 P
    g=[s;t;a;m;n;L1-s;t-s;a-s;a-s-t+L1;s+t+a-L1;s+t+a-m];
    : }, B& M) D& P[x,minf]=minNF(f,[780 2000 800 800 pi/12],g,15,0.6,[s t a m n])
    & p& t: b" v8 z% m4 {# H??? Input argument "s" is undefined.
    # F5 r0 M2 J% \9 r$ g
    9 H1 M: y7 t- q4 m0 SError in ==> link_objfun at 7; C( L2 D5 r; |! b
    fai=acos((L1-s*sin(snti+n))/(L1^2+s^2-2*L1*s*sin(snti+n))^1/2);
    回复

    使用道具 举报

    1341

    主题

    738

    听众

    2万

    积分

    数学中国总编辑

  • TA的每日心情
    衰
    2016-11-18 10:46
  • 签到天数: 206 天

    [LV.7]常住居民III

    超级版主

    社区QQ达人 邮箱绑定达人 元老勋章 发帖功臣 新人进步奖 原创写作奖 最具活力勋章 风雨历程奖

    群组: 2011年第一期数学建模

    群组: 第一期sas基础实训课堂

    群组: 第二届数模基础实训

    群组: 2012第二期MCM/ICM优秀

    群组: MCM优秀论文解析专题

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-9-28 01:21 , Processed in 4.530664 second(s), 66 queries .

    回顶部