- 在线时间
- 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 这里不会写了$ |! Y" w. V T9 ?+ s
%用最速下降法求解问题;- c0 z4 l) N/ r
eps=0.1; %给出误差线;
# A; ~, P+ B0 y0 S- ~. Op=[];/ w2 D% Q' r" H, A
syms y z lamd
8 l. Q+ x1 G6 M1 Mf=exp(y^2+z^2-y*z)*cos(y+z);
3 | E# V0 v L2 K6 Rgrd=jacobian(f,[y,z]);$ x" V- ~* R9 }7 v1 [. F6 ^. M4 a
x=[1 1];%给出起始点;
# @1 @# r* @4 i& g, w6 b3 M2 C& SX=subs(grd,[y,z],x); %计算x点出的梯度;
! q, r* Q# O, q# w j: m# PXX=sqrt(X(1)^2+X(2)^2); %x的模; j q# a1 p9 S; P
if XX<=eps;
6 |9 r: y. N* X' Z3 K q* R disp('所求点为x=');4 ], a! n7 z% B& j# Y I) e0 B4 K
disp(x);
0 ^8 S+ u; @5 y else
: C1 x$ @0 H! [4 i6 U for k=1:20;2 \. C! P4 R9 k( l1 W
p=-X./XX;) \, ^/ ?+ y K/ D* u* z& U
H=subs(f,[y,z],x+lamd*p);
) q; u+ ~* I, W+ s- d" U %求解最优步长lamd是关键问题;9 h) {- w3 l: ]7 V, u. K0 N1 A! _: V; |
lamd=fminbnd(@(lamd),myfun(lamd,x),0,1);
$ f) E& i: ^- s* e x=x+lamd*p( P& U7 i) @, w. T9 z3 D
X=subs(grd,[y,z],x);
+ s$ W" w$ `: u: z& b XX=sqrt(X(1)^2+X(2)^2); %x的模;
% y' e5 v/ z3 S! ~ if XX<=eps;) _! E6 N* P- ]: X
disp('所求点为x=');
3 I9 Y; s/ d2 [! a6 x disp(x);' O2 y& f; X- o' \* h- j4 \8 X
end* U6 i9 ?" q) p# X
end# |3 Q4 o2 B, n/ `7 A$ @+ J3 u8 F
end7 t% Q) R- z/ l) ~ o( K' O0 `
|
zan
|