- 在线时间
- 105 小时
- 最后登录
- 2017-12-14
- 注册时间
- 2012-10-18
- 听众数
- 8
- 收听数
- 0
- 能力
- 0 分
- 体力
- 651 点
- 威望
- 0 点
- 阅读权限
- 40
- 积分
- 317
- 相册
- 0
- 日志
- 0
- 记录
- 3
- 帖子
- 233
- 主题
- 7
- 精华
- 0
- 分享
- 0
- 好友
- 30
升级   5.67% TA的每日心情 | 慵懒 2016-10-11 09:39 |
|---|
签到天数: 173 天 [LV.7]常住居民III
- 自我介绍
- 想学习数学建模
 群组: 数学建模培训课堂2 群组: 2011年第一期数学建模 群组: 数学建模培训课堂1 |
fminbnd 这里不会写了. q+ o" R! Q6 V, L; z! b7 |" {
%用最速下降法求解问题;
a1 y' c8 |& N4 Geps=0.1; %给出误差线;! K9 D ?9 X q% }$ Y" I$ M
p=[];
# X" V5 M$ @5 \syms y z lamd3 c% H8 ?: @6 y4 v# X
f=exp(y^2+z^2-y*z)*cos(y+z);
, N4 f: ]9 G7 i! m) Ugrd=jacobian(f,[y,z]);
' E, ?& b8 ?" j9 x( z# g6 H7 Lx=[1 1];%给出起始点;
% S$ v9 T5 a( c2 ?X=subs(grd,[y,z],x); %计算x点出的梯度;
u- ]- Q4 E- l# P" vXX=sqrt(X(1)^2+X(2)^2); %x的模;
0 ?+ `1 [- h0 D" Q if XX<=eps;+ f1 g- ^1 D" Q1 Z" w: j3 l* }- L7 s
disp('所求点为x=');- q a0 ^9 U; g1 a$ Z2 ^
disp(x);
4 P9 v9 R' p5 x/ u6 f else! `$ @: B) O7 `& p
for k=1:20;
. n. x9 u! s" ?% A$ Y7 X1 m p=-X./XX;
( U2 S6 d8 K! P H=subs(f,[y,z],x+lamd*p);
) \2 P8 }- O* ]- f p7 }5 f* c6 W %求解最优步长lamd是关键问题;. W) W% Z/ O% d/ a# ^" P
lamd=fminbnd(@(lamd),myfun(lamd,x),0,1);
" _0 ]! H% j- N' O: N# n, ~ x=x+lamd*p
/ k- Z# i: H0 f7 z6 ]/ i+ G X=subs(grd,[y,z],x);; M4 [8 k" ~3 Z
XX=sqrt(X(1)^2+X(2)^2); %x的模;
R0 S9 k8 \$ m W1 j if XX<=eps;
8 g1 r: ~- t! C" z: U B3 f7 M disp('所求点为x=');- W! H& i4 `$ ]6 {
disp(x);7 H. B1 ~0 g" E8 v9 Y. j( R2 u
end3 ], J" @9 {7 y4 x7 \4 G
end
) @; ^- v G- K# s4 a4 R end% }) Z* E0 }: l
|
zan
|