- 在线时间
- 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 这里不会写了4 y3 h* Q1 |- L
%用最速下降法求解问题;; X# l# |$ ]/ g4 a/ \3 U* G- I
eps=0.1; %给出误差线;: I7 m' }9 x# f: \
p=[];. J {, D s8 J' {9 n( x; l& M
syms y z lamd
+ D1 J: P E" U9 B5 a8 af=exp(y^2+z^2-y*z)*cos(y+z);6 v5 c* R, Z0 H1 U
grd=jacobian(f,[y,z]);* B. X( B5 @$ E4 h6 t
x=[1 1];%给出起始点;/ W: i/ b2 v. p$ I
X=subs(grd,[y,z],x); %计算x点出的梯度;
0 g2 E w3 w1 _* s# ?. {XX=sqrt(X(1)^2+X(2)^2); %x的模;7 `7 `+ g: ?/ Q" M! [. K+ b- |
if XX<=eps;8 o9 W% a5 D3 d
disp('所求点为x=');" `8 t: g5 }, B' x
disp(x);
/ w$ b2 K* \% e1 Y" @" J3 s else N9 f7 W1 H1 b0 f2 x
for k=1:20;4 X0 M' c* i8 E5 v
p=-X./XX;
' k! Y+ D+ H. k4 h/ e2 ?' ] H=subs(f,[y,z],x+lamd*p);& g! k8 x3 @3 N7 S6 K# d
%求解最优步长lamd是关键问题;
9 c, Y# V2 J( [0 L$ R3 F9 R lamd=fminbnd(@(lamd),myfun(lamd,x),0,1);: n# i- r* C: {* q& M
x=x+lamd*p+ @. H- G5 R2 T' m
X=subs(grd,[y,z],x);
& v( Q. n9 T5 T/ d* x+ }6 L( g XX=sqrt(X(1)^2+X(2)^2); %x的模;# I ^5 T3 F0 R: v0 s/ o" u
if XX<=eps;
1 \3 c, S) j1 M- o# p6 v$ G disp('所求点为x=');$ {+ w" ~" ?% x0 g
disp(x);
% U1 G( m1 l: {% ~ end }, z8 c3 W N+ F c
end
S1 M8 B( c- l4 J: u5 `3 z end6 R% l; n" v0 [! {2 V! i
|
zan
|