QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5362|回复: 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循环写的。不会导入。8 i$ F  `7 z  h
    惩罚函数调用格式如下:8 w" `/ M5 ^- f& }
    function [x,minf] = minMixFun(f,g,h,x0,r0,c,var,eps)
    $ D; f( a/ ^! x1 s; B%目标函数:f
    : C: d4 b/ S/ L7 |# j%不等式约束:g
    " ?) S' N: W9 ?6 k4 g%等式约束:h4 p1 {# A) @" W" q& o  i
    %初始点:x0
    6 {( j' a& H  e' b%罚因子:r0
    $ w# h; r* y- Y/ }: f%缩小系数:c0 C1 q' A- K5 p. H5 \- U* X
    %自变量向量:var
    9 N' Q1 [1 k2 B" B4 ~%精度:eps7 `/ j/ i; {7 _5 D4 Q, ]3 A0 v
    %目标函数取最小值时的自变量的值:x
    5 H& q( V0 Q$ x. t! |! d& K%目标函数的最小值:minf  H* s. e" d. ^1 c  W

    $ c) \, b. J1 b  k/ e6 {: b
    1 a, ], B' Y& O8 x& y' x目标函数:- @& ~) m% U; f8 D3 P
    function f=link_objfun1(x)- @- R( A& C$ m5 ]# f
    global L1 L56 E5 G3 v, x& M/ ^# q( F
    f=0;& j: C7 P! j+ S1 ]* |) Z+ A* r, p
    snti0=0;" f1 n8 s0 p8 |$ n
    for i=0:5
    & }1 S7 m9 Y7 Y" v3 }! f* fsnti=snti0+pi/6*i/5; , T6 N8 p% Z6 o" N$ q) q* P
    fai=acos((L1-x(1)*sin(snti+x(5)))/(L1^2+x(1)^2-2*L1*x(1)*sin(snti+x(5)))^1/2);
    / a# {# A' ?- Z2 Fpsai=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));# C0 p) E6 H, K& F8 g9 [
    if snti<=pi/2-x(5)
    & y1 k" v3 b$ A! Z0 n   bati=fai+psai+acos(x(4)/x(3));9 \& V4 E; g0 h; p& ?
    elseif snti>pi/2-x(5)! H6 d3 t6 ^: Q0 x
       bati=-fai+psai+acos(x(4)/x(3));
    ; S: @$ J- Q, }; a+ x& F# w+ K' Q9 zend0 j+ u: U) J1 t
    f=f+(L1*cos(snti)+L5*cos(snti-bati)-L1)^2;1 B) [. i- ~. c* {
    end7 a! x9 \% v5 U
    & ?$ J! M; E5 ?' l6 X

    , W7 e! G. `& J, l7 b4 x9 D请诸位帮帮忙,我的体力不多。

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

    3

    主题

    4

    听众

    150

    积分

    升级  25%

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

    [LV.5]常住居民I

    我懂的不多,生搬硬套。书上的例题0 m* C/ X1 s$ [8 v7 V  C( f
    运行如下:
    : [1 o9 S& M/ P4 csyms t;* O( b8 f" T6 }' ?
    a=4;b=3;9 W9 _1 v! `1 G3 K$ @
    f=a*t;
    $ Q& W4 N( _7 xg=[t-b];
    ' _6 J6 r) r: L, K3 j6 R7 l/ I/ g( B[x,minf]=minNF(f,[5],g,10,0.5,[t])
    - i$ @# a. c5 Z" \( }, O6 D我将目标函数写成:6 j8 ~) e: A7 \
    function f=link_objfun(s,t,a,m,n)' J! X" `3 A; k
    global L1 L5# v' j) g4 u1 w( I! O
    f=0;9 n1 B/ R9 \# n3 H
    snti0=0;& n; q; T) O4 w. c% Y+ o. N
    for i=0:5
    ( w! k% M; H: r  @+ [snti=snti0+pi/6*i/5; 0 G) Z$ M, {2 s$ [9 L
    fai=acos((L1-s*sin(snti+n))/(L1^2+s^2-2*L1*s*sin(snti+n))^1/2);4 ], w  v" r  P5 s- M
    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));' I& R6 |- K; v; c% @4 z
    if snti<=pi/2-n; c' I; O7 x7 p) k
       bati=fai+psai+acos(m/a);
      P9 ^& R0 P* u# velseif snti>pi/2-n
    9 s8 n3 g! b2 [   bati=-fai+psai+acos(m/a);" t  C( r7 r$ t6 C; T6 X
    end
    * G) F* E! m; ~7 Cf=f+(L1*cos(snti)+L5*cos(snti-bati)-L1)^2;
    $ J, m% I$ T7 a+ ?end
    " n' @% J" w. y, Y) f运行如下:, @$ X4 @& A- d5 F, ~& I
    clear all;
    $ L* p! R! V4 T7 m& Z3 Tglobal L1 L55 F0 R0 _' b$ F2 s! x
    L1=3000;. B$ ^. G6 d. j- @! `6 A- R
    L5=800;
    ( ?8 b! Y# A2 ~* }syms s t a m n;( }. r* ^! P/ y* U. U
    f=link_objfun;7 x5 u0 N7 J7 G, V0 j1 b6 u+ `
    g=[s;t;a;m;n;L1-s;t-s;a-s;a-s-t+L1;s+t+a-L1;s+t+a-m];; a: x: u, @4 z# ~  C
    [x,minf]=minNF(f,[780 2000 800 800 pi/12],g,15,0.6,[s t a m n])
      s! s6 ^7 m1 a# H4 N0 f; Y??? Input argument "s" is undefined.' Y  J" ^" {5 [4 a" {0 q: F; T

    ; k% A* \6 l7 W7 q8 G  i2 z2 qError in ==> link_objfun at 7
    1 [% D( ~' z" |8 b7 T5 d& D% Dfai=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-8-7 19:16 , Processed in 0.434656 second(s), 64 queries .

    回顶部