- 在线时间
- 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 x; i! v |7 Y/ l
%用最速下降法求解问题;% g5 J) {$ i6 T. P* Y3 g
eps=0.1; %给出误差线;
& }) G: _( M6 j$ Kp=[];
3 c% }$ \/ ]) \- X/ Nsyms y z lamd
) @% q* D; R4 h9 Yf=exp(y^2+z^2-y*z)*cos(y+z);( ^/ O) t. m% ]% Q6 J( N* T
grd=jacobian(f,[y,z]);
s* D* U! U5 K5 ~ Ox=[1 1];%给出起始点;4 _! q) j) G. W' F
X=subs(grd,[y,z],x); %计算x点出的梯度;
; n- n. Y7 B' Z' M) LXX=sqrt(X(1)^2+X(2)^2); %x的模;
$ y# @+ L; C. i9 x3 x! X if XX<=eps;/ x) h v% |: h$ G0 F) I3 |0 b- [
disp('所求点为x=');) s: i6 K7 O/ p
disp(x);2 Y) p" i, r0 U9 i k1 j% a
else
6 _, q. V1 a( @( ^ for k=1:20;% E5 z, k: e% y% X( F& g' T" z2 H
p=-X./XX;* q% n! z! j6 g0 \# r
H=subs(f,[y,z],x+lamd*p);6 }: {6 K9 k3 P
%求解最优步长lamd是关键问题;
/ u6 b& B' C7 \5 o& x5 ~$ q lamd=fminbnd(@(lamd),myfun(lamd,x),0,1);
& r) W6 {4 D2 r' F( i x=x+lamd*p
9 x7 ?$ g/ [ u X=subs(grd,[y,z],x);; |9 }' a, c- E" b- c3 z! w5 Z8 [
XX=sqrt(X(1)^2+X(2)^2); %x的模;. a6 ~( @4 n, ^* b
if XX<=eps;9 m1 o+ A" ~/ a, n) L
disp('所求点为x=');
Y: C* T$ G* I( u7 b1 d8 H disp(x);
9 j3 |$ u Z, e) e: G end
/ R- [- n! C3 {6 @: y. J* d4 T end+ y/ X% z& B% r& \( Q4 y
end! v; t% I% r" S; [
|
zan
|