- 在线时间
- 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 这里不会写了
1 T) X+ i1 v8 j& x/ _0 _%用最速下降法求解问题;$ S' a# ?3 ]6 ^, e6 j9 t. V
eps=0.1; %给出误差线;6 b/ w3 o$ b- [/ J* E
p=[];* X/ p; R( }9 e
syms y z lamd
( T5 a" Q# s9 L9 \ Cf=exp(y^2+z^2-y*z)*cos(y+z); s& u- }7 g$ o! D& D* E o1 m8 u. i
grd=jacobian(f,[y,z]);' O* j& m, F, r: @' r
x=[1 1];%给出起始点;0 J1 _6 J1 X4 r9 t2 Z
X=subs(grd,[y,z],x); %计算x点出的梯度;
0 d3 `3 M8 ?1 o5 d( g( j+ RXX=sqrt(X(1)^2+X(2)^2); %x的模;, @& d0 x4 c4 K( R2 f1 |
if XX<=eps;
1 M) k' d/ _0 e4 b* K& N disp('所求点为x=');! D+ v- L2 e3 b3 `4 s
disp(x);
) e" v. K( a0 Q$ r else3 d- p, \. x+ k
for k=1:20;# \& P6 o; j, N$ I
p=-X./XX;
2 y. e7 f/ V9 r% z H=subs(f,[y,z],x+lamd*p);
! _7 ^# Y- I, P$ Q+ @8 e* B %求解最优步长lamd是关键问题;
6 \( B' h8 n6 h: a) a | lamd=fminbnd(@(lamd),myfun(lamd,x),0,1);0 B/ i( R( q8 }! u! a/ w7 i
x=x+lamd*p
+ S- L& @+ @+ C6 I" Y" x: i+ F9 M X=subs(grd,[y,z],x);
! x' d) J3 T& @7 i5 y# g XX=sqrt(X(1)^2+X(2)^2); %x的模;
7 s5 G" Y8 j6 y9 a+ c if XX<=eps;& a" B4 D. o |7 M# M7 n+ [' j& \
disp('所求点为x=');
: s: S/ m& C! p( q- W h disp(x);+ L* C) A4 x& i( o
end
8 E. x9 A# W a& K9 ]5 O end! a u: l7 W( Y; v8 V
end5 d+ I7 O: V/ c* d2 o/ I( I
|
zan
|