QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5364|回复: 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 b8 T# F& E, x2 [惩罚函数调用格式如下:: c5 U+ P/ b9 w8 p# \  Z
    function [x,minf] = minMixFun(f,g,h,x0,r0,c,var,eps)7 G9 }; j0 A, ^' n
    %目标函数:f
    ) s8 K' I4 D& T. t%不等式约束:g
    ( X  R) \: i  W%等式约束:h
    - I/ i1 ]) k4 C" d%初始点:x09 ~7 _. ~+ R4 ]
    %罚因子:r07 K+ d) F/ |: h; O7 c, h$ Q
    %缩小系数:c
    & _2 x8 Z% @: p4 P% y%自变量向量:var
    . H) l9 y7 j5 Y! Z0 D%精度:eps, n0 v& C  L$ ]
    %目标函数取最小值时的自变量的值:x4 V* C# _- z' ^7 ~
    %目标函数的最小值:minf) k8 v* K1 j# b! U- E4 e
    & k0 w  X5 w9 H1 J6 R. D6 J

      K8 x0 l1 C2 {目标函数:, b+ H9 \- p) `/ s0 F+ u
    function f=link_objfun1(x); k) q$ _2 f5 y( S3 d
    global L1 L58 u' @+ Q9 p; M5 Y
    f=0;
    2 H# S8 [& `7 S) f' gsnti0=0;1 \' w' h( K! u
    for i=0:5& H; c$ v2 U3 x- t+ }4 B
    snti=snti0+pi/6*i/5;
    ( Q5 y2 t4 X, 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 w5 D, y( a9 e8 n
    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));
    4 S0 _- e: n  y9 N) c! C! v" R- R1 J) }if snti<=pi/2-x(5)
      k) d: k3 B. J$ x! r5 @   bati=fai+psai+acos(x(4)/x(3));
    : }/ l* d, q5 @% Relseif snti>pi/2-x(5)
    7 b: o, f$ A( j7 [! |   bati=-fai+psai+acos(x(4)/x(3));
    % A0 p. B6 `, ?: a2 Tend% C- f# M2 \) |1 o' p  s
    f=f+(L1*cos(snti)+L5*cos(snti-bati)-L1)^2;1 B7 s" T% o' `6 [3 |
    end$ m6 _5 g1 v& E/ Y

    + s7 c* D  Q# x9 a0 g
    ) u# b- e0 x$ h5 D" L- q请诸位帮帮忙,我的体力不多。

    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

    我懂的不多,生搬硬套。书上的例题7 L  ]' X1 b( v2 f+ M
    运行如下:
    ( R2 m6 I5 N7 Q3 ~/ _7 tsyms t;
    - [2 S! Z5 \  ^8 `a=4;b=3;
    . m$ w# j7 E; g: r9 cf=a*t;
    1 g0 X7 y5 q; Y* ag=[t-b];# m, \: ^0 i9 F5 W( X! `
    [x,minf]=minNF(f,[5],g,10,0.5,[t])
    , P: v! A7 F' N$ {! d& t5 A我将目标函数写成:8 p4 q+ ?' O. ]) ^" ?' p. T
    function f=link_objfun(s,t,a,m,n)* q$ O* y8 Y+ F4 x8 G
    global L1 L5
    ( B7 J. u/ p% b$ w4 P8 Hf=0;
      i9 V0 S# K  }4 ?# ?snti0=0;3 ^7 e6 h! r# d5 ?  |/ p# Y" w
    for i=0:5
    1 q5 }% L  S+ I8 k( t" z: `% Isnti=snti0+pi/6*i/5; ) T- h4 E. U& B1 [4 e; r- z
    fai=acos((L1-s*sin(snti+n))/(L1^2+s^2-2*L1*s*sin(snti+n))^1/2);
    / G) \( S6 W/ C/ S$ x+ npsai=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));$ A% A9 k3 i4 l1 `
    if snti<=pi/2-n4 [* F- y% B4 k, A0 j. N5 B+ F
       bati=fai+psai+acos(m/a);% R' Z. P) S2 I* U* P% p
    elseif snti>pi/2-n0 M4 j, ~  q2 V/ e" ]
       bati=-fai+psai+acos(m/a);! P$ m4 o2 i+ `7 h  t! g
    end  g! m" F( S; G9 S$ l, n
    f=f+(L1*cos(snti)+L5*cos(snti-bati)-L1)^2;
    $ V& v: s! }& o+ ^end
    ) J: ~4 ?8 W9 u运行如下:6 ~, G8 k3 i2 n: j
    clear all;' e, D& [6 f3 X4 ~4 C, s
    global L1 L53 }1 u$ @5 b  g
    L1=3000;& W* g4 E% E% }) Z' T( e, p+ a
    L5=800;
    ( P+ G2 ~3 o# U; g+ M, fsyms s t a m n;
    / |) [" @! A) f9 O) D6 m& P' g* |f=link_objfun;$ t+ a. K) J' r
    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 R$ p/ ?4 O6 z( ~6 ~1 v. ^: G& T[x,minf]=minNF(f,[780 2000 800 800 pi/12],g,15,0.6,[s t a m n])
    2 i0 ]! T: |3 ???? Input argument "s" is undefined./ `& \( ~' J5 O1 U% C" y

    8 T, B( @1 x8 e3 G8 M7 t, W0 f( `Error in ==> link_objfun at 7
    - D# U$ q5 o3 k3 yfai=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, 2026-8-7 21:06 , Processed in 0.688732 second(s), 62 queries .

    回顶部