QQ登录

只需要一步,快速开始

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

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

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

3

主题

4

听众

150

积分

升级  25%

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

    [LV.5]常住居民I

    跳转到指定楼层
    1#
    发表于 2012-2-27 12:25 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    10体力
    想用里边的惩罚函数程序来算,我的目标函数是用for循环写的。不会导入。2 J8 U7 e4 g# }% k7 g& g* g
    惩罚函数调用格式如下:0 `1 r) w! E2 q6 S4 ~2 {
    function [x,minf] = minMixFun(f,g,h,x0,r0,c,var,eps)  ~6 S, Y3 a: M3 I; Z
    %目标函数:f
    * y1 x: C2 F% W/ Z; L/ S%不等式约束:g1 _# E8 @( c. R# p$ W
    %等式约束:h2 X1 Q- m( g! n: [' \  f
    %初始点:x0
    9 `; e+ y8 A8 R. U7 _%罚因子:r0
    ' f2 |* s5 j. I3 s+ o" r& k# l+ H%缩小系数:c2 L4 @* @& G% C( G2 i
    %自变量向量:var
    $ a. Q2 f, i# v( ~%精度:eps
    3 j/ T& N. f" x0 g& M6 o%目标函数取最小值时的自变量的值:x) f* H. D/ e/ C- u. ?' M1 ?9 g
    %目标函数的最小值:minf3 f0 W1 c, V, a9 t
    - |1 {3 D, n9 j, _" |9 G: B

    . E% m8 m' d4 q: c& T" t目标函数:
    : L6 @9 n2 {4 s/ h( ?% ?function f=link_objfun1(x)9 F0 F( x8 b: \
    global L1 L5% @: G, \1 e% g. I" Y
    f=0;
    9 q) `0 D8 t( v! B& r5 f1 w, ysnti0=0;
    + q- W, I0 c; S( mfor i=0:5
    6 W- l0 u0 q2 A5 M$ Wsnti=snti0+pi/6*i/5; : |0 @; C+ J4 d* ~" D( B
    fai=acos((L1-x(1)*sin(snti+x(5)))/(L1^2+x(1)^2-2*L1*x(1)*sin(snti+x(5)))^1/2);7 q% T5 g& D7 D4 X9 s  m3 V
    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));
    ! J( E) s  j7 I+ s7 uif snti<=pi/2-x(5)
    # ]( E/ j# y5 k- E0 Z3 ^   bati=fai+psai+acos(x(4)/x(3));
    ! C1 W/ h& P& G" X* Oelseif snti>pi/2-x(5). B9 |# @" x# H
       bati=-fai+psai+acos(x(4)/x(3));
    2 a# A$ m0 K* N  e" U8 ~5 L( t% Eend
    ( J2 A$ O; G1 J! j" P9 b# a4 \f=f+(L1*cos(snti)+L5*cos(snti-bati)-L1)^2;
    5 x' ]- O. T: k, Eend
    6 T, C( ~4 @) P) _
    * ^/ m* i, H& g  s9 h
    & A) m: P2 I) H3 H% L8 n$ F. x请诸位帮帮忙,我的体力不多。

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

    1341

    主题

    738

    听众

    2万

    积分

    数学中国总编辑

  • TA的每日心情

    2016-11-18 10:46
  • 签到天数: 206 天

    [LV.7]常住居民III

    超级版主

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

    群组2011年第一期数学建模

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

    群组第二届数模基础实训

    群组2012第二期MCM/ICM优秀

    群组MCM优秀论文解析专题

    回复

    使用道具 举报

    3

    主题

    4

    听众

    150

    积分

    升级  25%

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

    [LV.5]常住居民I

    我懂的不多,生搬硬套。书上的例题
    ! ], s5 b' f3 {7 p6 b2 v运行如下:+ R# R. j) E) g  t; y0 C% P3 |
    syms t;& d  e( G# X0 k0 f2 T
    a=4;b=3;
    & y0 v- p+ r+ s2 H9 c4 f8 ^& _f=a*t;( H* V0 V9 W* \" e& `
    g=[t-b];7 X' U+ B- Q" \) i
    [x,minf]=minNF(f,[5],g,10,0.5,[t])
    % r, u! E! o% ?' b" b我将目标函数写成:5 C& y- |( k7 w" F: ~( @
    function f=link_objfun(s,t,a,m,n)4 [+ l9 D+ b# T5 H( G
    global L1 L5" D% p( Y; b$ X' F- L0 H
    f=0;9 `  d! @: k: `' L( }% M1 A
    snti0=0;
    : d1 c' W4 D7 i) }: K( yfor i=0:5
    + d+ P4 H/ \! u6 E1 O: v8 Tsnti=snti0+pi/6*i/5;
    * K( g( n! c4 v, v+ c* }- ?0 V% Nfai=acos((L1-s*sin(snti+n))/(L1^2+s^2-2*L1*s*sin(snti+n))^1/2);" Z( @8 j1 `3 L! k0 z% `
    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));
    3 I& \% y0 U0 X3 m3 A! {0 Dif snti<=pi/2-n6 b7 C. {# ^: a0 f9 s/ s
       bati=fai+psai+acos(m/a);
    ; a4 a8 @( b' Z. E' s+ O' @2 uelseif snti>pi/2-n
    ( L- @' D0 O3 p0 q( x' A% a   bati=-fai+psai+acos(m/a);
    : U1 d2 N7 X" y$ Xend
      \9 E/ |# |2 P# J9 ]0 uf=f+(L1*cos(snti)+L5*cos(snti-bati)-L1)^2;
    ! ?2 \( T8 N% S5 F4 A" }end
    % D& O' F) E/ f) b0 i运行如下:; ^4 ~; D/ d- t% l" _1 H! N
    clear all;
    . A! R! ~, ?& B8 hglobal L1 L5* k" Z2 J7 a# a" I
    L1=3000;/ {% l% ]* h% C1 c: u
    L5=800;; r0 q  @- K  v2 k
    syms s t a m n;% O# l& ~/ E; t4 L8 I8 r& x6 a; H
    f=link_objfun;% N% ?- w+ M# L4 ^) `
    g=[s;t;a;m;n;L1-s;t-s;a-s;a-s-t+L1;s+t+a-L1;s+t+a-m];
    1 B* }7 ?7 n0 g2 `9 y[x,minf]=minNF(f,[780 2000 800 800 pi/12],g,15,0.6,[s t a m n])$ }& n4 E+ ?5 I. L* [
    ??? Input argument "s" is undefined.
    ! C( t( t+ k' |" T( a+ }" p$ V% a" z) z5 U# Q& T
    Error in ==> link_objfun at 7
    5 ^0 {! H- f$ S/ \' Xfai=acos((L1-s*sin(snti+n))/(L1^2+s^2-2*L1*s*sin(snti+n))^1/2);
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2025-12-22 03:08 , Processed in 3.082158 second(s), 63 queries .

    回顶部