- 在线时间
- 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 这里不会写了2 ?# v* C* [" Y; L
%用最速下降法求解问题;
- \) l w& ~1 w9 veps=0.1; %给出误差线;) \7 H8 m/ ~: u2 F
p=[];
& i6 J0 j' j- Y2 g0 n" i( dsyms y z lamd/ X) N$ y& S8 ^" ^
f=exp(y^2+z^2-y*z)*cos(y+z);
/ D% M3 u: C) _grd=jacobian(f,[y,z]);
% x" T) L ~* g) ]2 g A4 ]: f5 ?x=[1 1];%给出起始点;. ?% F, E: t- B+ A: n( j: \
X=subs(grd,[y,z],x); %计算x点出的梯度;
5 P/ H) A/ d0 q6 i2 u# aXX=sqrt(X(1)^2+X(2)^2); %x的模;' l* W4 _% c# G
if XX<=eps;
1 c0 ?1 M$ B8 {9 r5 Y0 M. J: F0 ` disp('所求点为x=');+ n/ ?. {& @- V
disp(x);# r1 ]$ J. T3 p h; Y1 \, b
else/ |+ p) N9 P: q: t# _. c
for k=1:20;* H W% u, M* \ E% y( z
p=-X./XX;
w3 A/ B' `: c; g# I$ u6 N3 ^ H=subs(f,[y,z],x+lamd*p);
4 d/ |) Y' s5 U, I# T, w1 [ %求解最优步长lamd是关键问题;
2 T I! m4 A# i% I lamd=fminbnd(@(lamd),myfun(lamd,x),0,1);
- z2 b7 E5 z; h$ e* \: c x=x+lamd*p9 _0 [7 x: s4 C* a: x9 G* G
X=subs(grd,[y,z],x);
4 `: ^5 ?/ k1 B4 {, ]% [ XX=sqrt(X(1)^2+X(2)^2); %x的模;( b" ^0 ^3 G9 y
if XX<=eps;
7 Q& h- ^2 G) m1 }! u disp('所求点为x=');
- I, v- G+ P) ?1 \5 w+ D* V/ A, H+ _ disp(x);! }- ?% _1 y; T! H9 Y4 `8 z y
end# V8 V) C9 V6 H1 ~- Y& K
end/ N. [7 B$ t/ N6 l6 v
end9 |2 `7 g9 h5 M$ ^9 J& @' e+ Q
|
zan
|