QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4928|回复: 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循环写的。不会导入。
    7 _" ^2 V% _2 @1 D5 o3 q9 J惩罚函数调用格式如下:0 m6 ~9 ~6 v5 E# e) H3 G( v
    function [x,minf] = minMixFun(f,g,h,x0,r0,c,var,eps)' q5 z8 F3 r6 ^$ A
    %目标函数:f
    7 V8 [$ F6 b& C, K%不等式约束:g' Y1 t! D% f1 E6 D0 F9 d6 t/ b
    %等式约束:h
    / \& t9 f/ b* }%初始点:x0
    5 a1 Q7 @% \( G3 R1 s+ G! o%罚因子:r03 W/ Z; o0 K: e2 Z, \6 @, I* A2 ?4 ~
    %缩小系数:c
    1 m, Z" t' q8 q/ @4 c% g%自变量向量:var9 l) C4 Q: M) h
    %精度:eps
    * I! d3 H8 G; w  }; ?%目标函数取最小值时的自变量的值:x
    ) l3 u; z8 G  h- m9 m% F5 j%目标函数的最小值:minf/ w1 P" e) w! {8 X* |+ F4 ~& j; l5 }
    1 O  M0 g( B/ S8 C

    1 e* J& g) y5 M# u* }目标函数:$ M, O: j) g8 l! d8 N- R& Q
    function f=link_objfun1(x)$ p" i7 k' F7 ]/ A0 @
    global L1 L5
    ! R. m1 j, l# i  Hf=0;9 E: P1 C+ [# E: W5 J1 T
    snti0=0;
    ' |. B% i( r* m+ l% v  Hfor i=0:5( q' }1 }3 ~& `" G; Y, r2 w6 V
    snti=snti0+pi/6*i/5; ' y# a' @) g# K& d1 g1 @
    fai=acos((L1-x(1)*sin(snti+x(5)))/(L1^2+x(1)^2-2*L1*x(1)*sin(snti+x(5)))^1/2);
    4 Q3 _. `1 y, M) v2 Gpsai=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));
    * k+ d9 M  J6 z  r( L' aif snti<=pi/2-x(5); W# r" o* z. t: Q$ b. ]2 y
       bati=fai+psai+acos(x(4)/x(3));( K! x" [5 K( b4 N2 D0 L
    elseif snti>pi/2-x(5)
    0 ]  I4 |1 i7 \: ~+ r' P# ~* F7 O   bati=-fai+psai+acos(x(4)/x(3));, c. G5 H* q" d' M+ }! J; s
    end
    6 n; h) \! f' l$ \* @5 Z6 X" z3 r; ff=f+(L1*cos(snti)+L5*cos(snti-bati)-L1)^2;
    * o% h& ?& K0 c5 f6 T8 P. A& hend8 J7 @. `4 F0 b& n

    . ~  @: c1 V- `+ P) n5 O  @* O; U3 i0 h+ F" C: J% B' @
    请诸位帮帮忙,我的体力不多。

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

    3

    主题

    4

    听众

    150

    积分

    升级  25%

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

    [LV.5]常住居民I

    我懂的不多,生搬硬套。书上的例题& u; T7 u6 u/ B' [* L
    运行如下:2 b, N4 }1 W6 F& }1 S3 \4 G
    syms t;
    ' U) S# v5 v( K- ra=4;b=3;# ]; D6 a" V- r% P2 H# v
    f=a*t;7 r4 K" k! Q) }2 p; i
    g=[t-b];
    ! n$ B, B( {8 q$ q9 p& s[x,minf]=minNF(f,[5],g,10,0.5,[t])4 R9 Y) E1 k" v; O( r7 I
    我将目标函数写成:! S9 X4 `9 x& t4 V  c; T, P
    function f=link_objfun(s,t,a,m,n)+ I; y  m. _  F( r6 w; j
    global L1 L5
    ( ~: q4 Q4 G7 V2 i4 M, }; Jf=0;! C" U3 {+ Q5 K1 R- |1 O  j1 D) S
    snti0=0;
    " r# h7 l/ B! Afor i=0:5
    ) Q$ k4 ]2 S$ w4 z* H8 K' ^, Isnti=snti0+pi/6*i/5; % K) N# Q  d- c& X- g
    fai=acos((L1-s*sin(snti+n))/(L1^2+s^2-2*L1*s*sin(snti+n))^1/2);
    - M1 K- U# l% Wpsai=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));
    % U4 ]* J: h" k) L4 uif snti<=pi/2-n, L5 Y* P' a! H, x. f* ]
       bati=fai+psai+acos(m/a);4 P3 x8 y1 p# x1 F
    elseif snti>pi/2-n
    - D2 s3 h8 B1 Z0 e   bati=-fai+psai+acos(m/a);" P1 @' [# _2 v1 v7 u* ?
    end. l4 [. f- m3 W8 c; P
    f=f+(L1*cos(snti)+L5*cos(snti-bati)-L1)^2;
    ( X4 \4 c% U- O+ ^end
    3 G5 v; H6 _5 g8 N8 H. j运行如下:& n  s( i8 j& v
    clear all;
    3 m6 w. c) _" o9 _0 D) Dglobal L1 L5
    ' O! f0 M9 Q" g9 B. Q: pL1=3000;
    4 H  t6 V9 Y: z1 y: F, s# a/ RL5=800;
    + U: M$ K( o+ {% K- Csyms s t a m n;5 ~) u" r. w4 Z9 Z2 K  q
    f=link_objfun;9 v1 u) g( f( U9 m  i. C& p0 p& s* ]
    g=[s;t;a;m;n;L1-s;t-s;a-s;a-s-t+L1;s+t+a-L1;s+t+a-m];
    9 S- O' u+ t9 Q9 a4 b3 T- X% B8 _[x,minf]=minNF(f,[780 2000 800 800 pi/12],g,15,0.6,[s t a m n])
    " A$ o1 l' e( T  N??? Input argument "s" is undefined.4 m7 V" l+ @" C" v# G- F3 _9 I
    8 A8 J  T( c0 n( q- f! ^
    Error in ==> link_objfun at 7; a$ i) L* y4 \( S% S* X' H/ f6 w
    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, 2025-7-29 16:17 , Processed in 0.457619 second(s), 66 queries .

    回顶部