- 在线时间
- 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 这里不会写了
) v* o6 I+ U- Z8 o- }7 l%用最速下降法求解问题;' l- w! [* H6 ~6 |
eps=0.1; %给出误差线;9 D' T0 h; f* g" L
p=[];
- T2 b* ?3 o2 j4 e+ [1 `: ^syms y z lamd
7 R" c2 c# y0 k7 M% |f=exp(y^2+z^2-y*z)*cos(y+z);
) B+ W% n( i p9 P7 ]grd=jacobian(f,[y,z]);& p" u; W+ Q0 _, P
x=[1 1];%给出起始点;
8 f( I% p! c: BX=subs(grd,[y,z],x); %计算x点出的梯度;
9 [5 J9 |. Y7 B* Q- BXX=sqrt(X(1)^2+X(2)^2); %x的模;
) T* P) o- g7 ?7 B' t, s if XX<=eps;) i+ M( B% ~4 h; o: k
disp('所求点为x=');
# \, M$ h& `, \$ n$ H7 u disp(x);4 [, i1 g$ j' a8 i. _: `! x, g @+ G
else
, m3 Z% x0 I0 d for k=1:20;4 I/ o+ P0 ~) O8 w; c
p=-X./XX;
) Q- C% y+ Z5 O2 A H=subs(f,[y,z],x+lamd*p);3 m7 `/ d" t) F3 v/ q% J- Y8 x9 n$ C6 ]
%求解最优步长lamd是关键问题;7 D9 v D& s$ c) |/ ?& A3 R; H
lamd=fminbnd(@(lamd),myfun(lamd,x),0,1);' k1 Z& L3 n" r; G8 Q+ K8 C7 I
x=x+lamd*p s, H {, p3 O S: Q: t
X=subs(grd,[y,z],x);
% g5 l- _ V* _( b# U XX=sqrt(X(1)^2+X(2)^2); %x的模;9 Q6 L% f: [& q3 m" b- g& `
if XX<=eps;0 v$ x( [$ h( ?: o5 S
disp('所求点为x=');
' {4 N$ B8 p8 d" M1 z' o% c' T disp(x);
1 o! d/ C2 Z/ Z0 l end; Y4 l! U) N& }
end
3 w8 b$ P" g) ?8 i' ^0 k9 ^ end7 i- i9 t: W, p5 L: {
|
zan
|