- 在线时间
- 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 这里不会写了7 T" K- B! E# L3 W
%用最速下降法求解问题;2 f. E& h u8 I7 {7 j3 Y) h4 m2 k
eps=0.1; %给出误差线; H: t6 e1 ^4 x/ o
p=[];
* H V6 j. o X( F2 k) nsyms y z lamd
' M) Z* e3 u$ G* H1 H4 Yf=exp(y^2+z^2-y*z)*cos(y+z);
& | |; ?: ~4 w. ] Y4 X, {" egrd=jacobian(f,[y,z]);
7 D9 r, |8 h4 U0 yx=[1 1];%给出起始点;
" _/ Y6 O* I; _% p" }1 D1 aX=subs(grd,[y,z],x); %计算x点出的梯度;4 v, f, U1 X* U9 }, J
XX=sqrt(X(1)^2+X(2)^2); %x的模;( `, m+ z6 `- V( T r# i( B3 m$ G
if XX<=eps;
1 e2 a3 D: V. [/ W% m- |0 W disp('所求点为x=');* n; H0 R! ]- ?3 b: E
disp(x);" D! C. I4 ^7 _4 m% l3 I/ `) S
else
/ q2 A4 F# d5 C! {& a for k=1:20;
& A! z$ ?2 P/ `; C0 ? p=-X./XX;, `2 t q8 T0 Z4 X" h% T
H=subs(f,[y,z],x+lamd*p);. Z |+ q' M8 N, C( ^$ n0 n8 P* V
%求解最优步长lamd是关键问题;
7 a) T0 ^! W6 s! I B) R lamd=fminbnd(@(lamd),myfun(lamd,x),0,1);
: }) w' y2 G- ]# b* W x=x+lamd*p
" J' f$ ?. Z1 O0 a X=subs(grd,[y,z],x);
' Q( a% x ^% d2 z& u/ S; u R XX=sqrt(X(1)^2+X(2)^2); %x的模;4 s, Q% S0 |. ^, j; h
if XX<=eps;3 ]' A' t* E5 V7 q: J9 b6 B6 q) `) f
disp('所求点为x=');/ S- V" L4 ?% ?! p% `/ b5 e e
disp(x);
% f5 ~/ j$ A3 X3 a: v5 g# U1 V* u end/ N* A# b! p9 Z2 w
end1 n7 i$ y$ p9 r& h" |: V
end
! F9 T7 x. c. `# R# O4 f4 ~$ M |
zan
|