QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5317|回复: 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循环写的。不会导入。
    2 Y1 p( x3 w$ i8 v5 V0 i0 j1 `2 s惩罚函数调用格式如下:+ P: K: d5 o/ s4 F8 E* ]
    function [x,minf] = minMixFun(f,g,h,x0,r0,c,var,eps)# i3 `1 `6 o4 M% ^. S* J
    %目标函数:f8 }. E  @3 A4 X8 O4 S9 ]
    %不等式约束:g" E$ c7 P5 A  ~, b
    %等式约束:h1 g; ]$ Y2 w  `7 W3 `) i- N! s
    %初始点:x0
    ; y! L' t2 v5 c) u%罚因子:r0" b$ ?) s, K( U5 N0 O
    %缩小系数:c- {/ c% ]# V  I  J4 {
    %自变量向量:var
    0 z  g+ ~- R4 t. u/ x( Y) c%精度:eps
    5 e, ^3 D2 ?4 `9 z" k1 N' k%目标函数取最小值时的自变量的值:x/ e' x( r9 J' Y4 Y: O- Q
    %目标函数的最小值:minf
    7 ]4 }2 \9 M) y- ^
    1 S  k4 ^, M9 S4 r; d" B- K
    6 y2 Y  G! |8 V+ X& e3 y8 f目标函数:) M' m$ o3 l9 h% s9 F5 v7 y# H
    function f=link_objfun1(x)5 t, f% `6 ~5 q; x+ {- u- u7 X, p
    global L1 L5
    ; U2 R% U: t! k- o3 ef=0;% V/ N! l) d0 y' C* ]) D& @3 g
    snti0=0;
    ; H5 I& s" U$ @" d- s! H1 {; A1 sfor i=0:5! g  m# K5 i$ D4 n/ f1 Q
    snti=snti0+pi/6*i/5;
    / P& W/ d8 m5 ]" p$ o9 l. ufai=acos((L1-x(1)*sin(snti+x(5)))/(L1^2+x(1)^2-2*L1*x(1)*sin(snti+x(5)))^1/2);
    : B7 s6 o/ I/ d4 epsai=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));
    " t. Y' \% P5 W5 Q6 k- Cif snti<=pi/2-x(5)/ V, q/ x9 [6 m4 h; S3 x# e3 X
       bati=fai+psai+acos(x(4)/x(3));! X8 p( i9 \  f! h+ e# k
    elseif snti>pi/2-x(5)
    / I4 D; Y* p3 J0 m6 v   bati=-fai+psai+acos(x(4)/x(3));* {( Z, E; k4 H5 [
    end
    ; _0 y+ d! F2 T( s! a. U- xf=f+(L1*cos(snti)+L5*cos(snti-bati)-L1)^2;1 ?7 [- y( A6 v% b3 U2 M4 R
    end
    / t- Z& D5 B* g/ R* @* s, O. e6 D2 |0 h% `5 V- c4 n* k/ b" ]: _$ O  T

    / M. n4 E& Q  D, c请诸位帮帮忙,我的体力不多。

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

    3

    主题

    4

    听众

    150

    积分

    升级  25%

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

    [LV.5]常住居民I

    我懂的不多,生搬硬套。书上的例题; W2 ?( J: R' W& E3 L! o
    运行如下:5 a5 {6 |; h; `4 Q( B/ {5 N
    syms t;
    4 Q# E( b' b7 m3 P/ `$ U+ Ca=4;b=3;. o/ ?$ H* `9 M) a
    f=a*t;
    6 W7 a9 n- j9 Ig=[t-b];" y& |8 x! a; L* \- p; J& b2 u
    [x,minf]=minNF(f,[5],g,10,0.5,[t])5 g8 n& e6 L/ P: Q- e4 ~6 P
    我将目标函数写成:0 j% @! l8 _/ \/ E1 |
    function f=link_objfun(s,t,a,m,n)7 g% L* o0 E& F( X) D, Y
    global L1 L57 u8 J5 S9 A- r# M
    f=0;4 Y' J- T# `* j
    snti0=0;7 a' o: o8 I- I3 A
    for i=0:5- ]% \  ]8 e: j, E. Y; N+ S
    snti=snti0+pi/6*i/5;
    ; ]" j* W1 o. I* c2 g  _' K; z$ n" pfai=acos((L1-s*sin(snti+n))/(L1^2+s^2-2*L1*s*sin(snti+n))^1/2);: G8 U, t8 A, l4 B+ L6 F
    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));) R! a  |# a3 T( i& w* H! D; Q
    if snti<=pi/2-n4 o2 l3 N/ q* x" W% n- I
       bati=fai+psai+acos(m/a);
    ) i8 L: B$ s" @9 q% ~  H2 v" Kelseif snti>pi/2-n
    2 p; d$ n9 g/ K2 y1 d1 R8 X   bati=-fai+psai+acos(m/a);5 T2 v$ N& A4 [
    end
    ; b- S3 D: s) j  ?f=f+(L1*cos(snti)+L5*cos(snti-bati)-L1)^2;
    ' A( e2 z6 ]2 E6 L7 vend
    9 v+ Y! J) ?4 v运行如下:  M! k7 G* U/ k+ g
    clear all;
    : _( d9 f4 S8 q' yglobal L1 L59 K0 R- J$ I; A- F* Q% _
    L1=3000;
    6 r' h3 y/ n* ZL5=800;! ^3 X  K: r* V% {  v
    syms s t a m n;* G4 e! L6 E  j( n5 V3 ~( p
    f=link_objfun;
    ' w3 q5 }& @2 W, pg=[s;t;a;m;n;L1-s;t-s;a-s;a-s-t+L1;s+t+a-L1;s+t+a-m];  s; |9 [  R$ i" ^. m0 a$ m. l
    [x,minf]=minNF(f,[780 2000 800 800 pi/12],g,15,0.6,[s t a m n])
    ) W- ^, ]. q  X  @??? Input argument "s" is undefined.$ v$ i! Q3 ]. |6 A6 d+ Z
    9 X/ U5 S# m& O$ Y" l; S1 a7 y
    Error in ==> link_objfun at 7
    0 ]" s/ k( `8 `& F; Q$ f  Ifai=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-6-12 05:08 , Processed in 0.435086 second(s), 66 queries .

    回顶部