- 在线时间
- 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 这里不会写了
; _6 U Z0 G7 ^%用最速下降法求解问题;
. ]$ d5 P* @% d) C2 neps=0.1; %给出误差线;
' q) b* G, n2 d$ }2 op=[];
( ]# K& j7 p2 t- o8 d# Y: `$ Msyms y z lamd a4 h! a y0 } Z: ^
f=exp(y^2+z^2-y*z)*cos(y+z);
) L) N) U9 S7 U$ Q3 Ogrd=jacobian(f,[y,z]);5 b1 `, `9 } d* G, U* U/ J) Z
x=[1 1];%给出起始点;
s5 v7 ^& m: zX=subs(grd,[y,z],x); %计算x点出的梯度;
% n# B+ P: l3 f `9 Q/ |XX=sqrt(X(1)^2+X(2)^2); %x的模;
, A0 d# K7 y9 [6 Z if XX<=eps;( z! `6 V2 d% @' J' H$ ]5 {
disp('所求点为x=');
" O2 s5 L! o1 a" w# z disp(x);! R7 f' f u. K' b n# v
else5 [- W1 i. _ E! h
for k=1:20;
! j5 C1 o1 r+ D# V) A p=-X./XX;2 ]! Q' g! `; D# t; _
H=subs(f,[y,z],x+lamd*p);$ }! H0 {, _, P1 t4 h1 h
%求解最优步长lamd是关键问题;) X7 w8 l8 Z8 t/ \$ g
lamd=fminbnd(@(lamd),myfun(lamd,x),0,1);+ Y6 L' k9 j4 m, `* V$ g
x=x+lamd*p
3 u- `3 l$ u1 o5 K- x. H, D' C X=subs(grd,[y,z],x);9 U/ R9 H, E# Q, | W4 y7 W. D r
XX=sqrt(X(1)^2+X(2)^2); %x的模;
: A- l2 A( [/ K3 b if XX<=eps;! ?% I5 |+ y) N" k
disp('所求点为x=');& v+ a+ O0 L8 G* `% r
disp(x);3 w1 y/ d) I" D& U2 @
end7 l' f! I; h' h% _
end' j3 m- l; S& A) F4 P2 u
end" f8 P$ _- X, k' i, Q9 @5 a8 n8 m
|
zan
|