- 在线时间
- 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 这里不会写了
* ~' I5 C. t( [9 v9 C%用最速下降法求解问题;
0 X) D) `& H! Q2 M3 Weps=0.1; %给出误差线;
6 W7 o) H) m) ?. Fp=[];
/ t- \3 B7 |1 [' X5 bsyms y z lamd! l; ]/ t* G! [9 @% O
f=exp(y^2+z^2-y*z)*cos(y+z);/ J- w3 o& c4 V/ z
grd=jacobian(f,[y,z]);
+ S$ }) M$ U+ R! ]x=[1 1];%给出起始点;4 N" k" a! b5 z: c; j' N2 A1 T
X=subs(grd,[y,z],x); %计算x点出的梯度;( @( O) i8 ] n# G1 A' d- @
XX=sqrt(X(1)^2+X(2)^2); %x的模;8 E/ Q* ]2 s( X3 N2 F
if XX<=eps;
/ p+ q0 C; M# m8 ~* w' ~ disp('所求点为x=');
* C. S% A$ p& Y" l disp(x);3 D) v. i3 Y' g; F4 o: S& m n% l% a
else
. l$ P+ C. d7 x0 Q for k=1:20;0 E+ I! Z( u& L9 Y$ p( t
p=-X./XX;
8 x/ o8 c+ g2 P( i6 q; v H=subs(f,[y,z],x+lamd*p);
1 F% ~4 C. R! s0 M %求解最优步长lamd是关键问题;
+ ?( [) \. }0 {- w7 w5 s+ s lamd=fminbnd(@(lamd),myfun(lamd,x),0,1);4 b6 I# ^4 p: u. u0 B8 o
x=x+lamd*p# w5 p' c- X; M+ R4 v& |
X=subs(grd,[y,z],x);
' K0 d. t/ E$ ~4 j8 c) E0 E XX=sqrt(X(1)^2+X(2)^2); %x的模;
- l Y2 U1 ]- E! E3 X% M if XX<=eps;
; m& J% ]2 ^# ?; a' H3 i disp('所求点为x=');
0 Y( A+ u$ I6 X# i* @; a disp(x);
& M* t2 g* w' L0 V p end' r+ ^# Y6 ]* O, w4 C4 o* p b
end
4 }& w; p+ x# R; k7 ^" V end x+ p* f0 x2 J2 ^* M6 Y6 j
|
zan
|