- 在线时间
- 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 这里不会写了
8 g1 C! ?4 W. ~6 K v3 K%用最速下降法求解问题;
" e8 K& t0 w* e7 }& z6 j4 ueps=0.1; %给出误差线;
& }: w" T0 b3 ]! Ap=[];
3 v: P5 e9 T1 E+ k8 f& csyms y z lamd# f" L6 p! v; a7 k5 p8 r4 F
f=exp(y^2+z^2-y*z)*cos(y+z);
( @' Q8 l2 E& L. h, q) |grd=jacobian(f,[y,z]);
& {+ l5 }1 N& x$ Z. L) J9 ax=[1 1];%给出起始点;
5 ^. u7 P* I& ]2 U2 wX=subs(grd,[y,z],x); %计算x点出的梯度;* \- M- J' A9 m5 \ f K) ?( E
XX=sqrt(X(1)^2+X(2)^2); %x的模;
( R6 c& y) m' W7 Z if XX<=eps;# j- p; V. V3 K4 s2 ?& ?7 ^) ^
disp('所求点为x=');
' ?# s3 O/ X, V4 X. u3 ~$ H disp(x);
2 Y' T9 A3 j+ e1 Q/ u6 z else( L& v3 c- l) [9 d
for k=1:20;
3 ]5 B; j/ S0 {( ^( B% \5 i; d p=-X./XX;7 k3 M1 y; N) X; o, X+ ]/ G
H=subs(f,[y,z],x+lamd*p);
K/ D3 r8 `, z4 a- F6 ^ %求解最优步长lamd是关键问题;
' m- Q' D- ~' d" T3 h! {9 Z% s lamd=fminbnd(@(lamd),myfun(lamd,x),0,1);" l4 J) }6 d* C' _" [
x=x+lamd*p
0 ~( Q3 s. C) K$ w- \0 ?$ E X=subs(grd,[y,z],x); k9 J2 s2 m/ f" U3 F$ D$ u( d
XX=sqrt(X(1)^2+X(2)^2); %x的模;
W" W: d/ f0 { if XX<=eps;
% X& ?4 ^/ O( Y/ p7 ]* a c4 x disp('所求点为x=');) f! m, f1 `! S) q# p+ n
disp(x);
4 }; j$ C" Y5 J% H4 d ~ end' W+ s% g5 E$ @: I3 x+ {9 b% V
end& e- t! m2 [6 A
end
: M# E' d- B- u/ o/ t# {9 M) ] |
zan
|