- 在线时间
- 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 这里不会写了
! A, ?7 @+ w" @3 J* O%用最速下降法求解问题;
4 O* v7 y6 h$ _) F1 d2 J0 `& d% heps=0.1; %给出误差线;
# J: i2 g u7 v0 {* T/ { {p=[];4 R( x4 J! w% r; d0 n$ [
syms y z lamd
+ H: _- |) Q+ V% ~f=exp(y^2+z^2-y*z)*cos(y+z);
+ o+ ~ y4 l- k. T/ e9 E$ Q! Vgrd=jacobian(f,[y,z]);
2 y* |$ O/ \" A' m& D4 r! }0 Kx=[1 1];%给出起始点;% J A% g" m# I. J! b% j5 H" ]1 _
X=subs(grd,[y,z],x); %计算x点出的梯度;' _( U( |9 E2 G# B) |8 m! x9 a
XX=sqrt(X(1)^2+X(2)^2); %x的模;
4 M# G7 v+ K" b) Z if XX<=eps;) ?6 Q6 y1 V. u+ v. v
disp('所求点为x=');) M$ w" n- y! G; u
disp(x);
% r6 {! j) p# i2 q2 t else
: i1 S) l3 M) M V2 u) O( c) s for k=1:20;
4 ?" d$ w0 |0 B3 J H+ b p=-X./XX;
! ^! x* Z B. G; ?9 I H=subs(f,[y,z],x+lamd*p);
( H% l' D# c0 G& W8 C. D: K %求解最优步长lamd是关键问题;
3 Y+ A- X+ `- U" y1 i lamd=fminbnd(@(lamd),myfun(lamd,x),0,1);0 j" D' ~. N- z- I) Q- D) V+ p2 p
x=x+lamd*p
" K) }; J9 q2 R7 ]2 J% \ X=subs(grd,[y,z],x);3 `! m# ]0 r: R$ T! s
XX=sqrt(X(1)^2+X(2)^2); %x的模;* _0 q" J& P& z/ }3 H; v
if XX<=eps;
2 d2 ?6 w" Z0 \5 ?# R disp('所求点为x='); ?/ o0 p$ _5 Z: C
disp(x);
P. H2 ?% ^7 y E end9 X1 O; k$ @# o1 a: q0 ]7 [ V
end
; ?% J& i. g' g# N end1 b6 C+ }5 G4 E( V4 i* X
|
zan
|