- 在线时间
- 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 这里不会写了
4 l8 A/ C) D- H$ ?: ^1 h1 Y%用最速下降法求解问题;
! \' J# q# ^+ `eps=0.1; %给出误差线;
2 E/ e* Y O' \7 N* m4 Qp=[];
5 C2 g7 d( ~1 N# K6 g" z! }syms y z lamd
) E: q* \: `& K" i/ K( P9 ~: [f=exp(y^2+z^2-y*z)*cos(y+z);! B3 U$ m. u q" k3 ^4 K: K/ j
grd=jacobian(f,[y,z]);
2 A }& l$ U9 E) D" ^! T" qx=[1 1];%给出起始点;$ S* g$ ?2 T* q
X=subs(grd,[y,z],x); %计算x点出的梯度;
% g* v& w" M, n$ a0 h8 DXX=sqrt(X(1)^2+X(2)^2); %x的模;. D! B" v' K8 M$ w. G4 u
if XX<=eps;% t% S9 d6 e) ?! V& U0 r
disp('所求点为x=');
G$ i) H/ e- [8 W disp(x);
2 a. \2 d. `! n1 m; D4 V, y else1 X) @# L* C# c0 D) z
for k=1:20;0 X5 O; g9 R" ?& G
p=-X./XX;1 V( }3 P; {% R1 b2 F
H=subs(f,[y,z],x+lamd*p);
+ d2 @% i- r: K3 P. I/ n %求解最优步长lamd是关键问题;0 Q! _& y* }# F+ r3 M
lamd=fminbnd(@(lamd),myfun(lamd,x),0,1);9 M! g8 U) s; p- \7 P
x=x+lamd*p
# m/ [, ~& W7 c S' Z X=subs(grd,[y,z],x);
$ B/ j( s$ s) l6 _ XX=sqrt(X(1)^2+X(2)^2); %x的模;4 Q) W) n) c$ A, E+ w0 J
if XX<=eps;
! w+ {7 F) g$ O9 `0 { disp('所求点为x=');
5 p J2 M6 X d# {, C! z9 D disp(x);
; @8 i3 k; Q% h' D4 y end% ^ X' [# W4 ]+ n$ ^9 A$ r
end5 H2 g# ^/ P. {6 w# {7 o) \+ G
end/ v1 I- @2 Z. ]: b7 C1 W
|
zan
|