- 在线时间
- 48 小时
- 最后登录
- 2017-1-23
- 注册时间
- 2015-6-7
- 听众数
- 11
- 收听数
- 2
- 能力
- 0 分
- 体力
- 558 点
- 威望
- 0 点
- 阅读权限
- 30
- 积分
- 268
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 195
- 主题
- 6
- 精华
- 0
- 分享
- 0
- 好友
- 29
升级   84% TA的每日心情 | 奋斗 2016-5-1 21:35 |
|---|
签到天数: 82 天 [LV.6]常住居民II
 群组: 2015司守奎matlab培训 群组: C 语言讨论组 群组: Matlab讨论组 群组: LINGO |
2体力
syms x y+ Z" H- M: j2 A0 X" V
f=x^3-y^3+3*x^2+3*y^2-9*x;. O0 t+ G/ _* Y1 f$ w; V# m. d
df=jacobian(f); %求一阶偏导数
1 F0 O/ v5 U! D! r, ad2f=jacobian(df); %求Hessian阵1 y! H$ f$ q. z% |% Q* M: F
[xx,yy]=solve(df) %求驻点
2 G% l B6 B/ j( [! ?' Vxx=double(xx);yy=double(yy); %转化成双精度浮点型数据,下面判断特征值的正负,必须是数值型数据0 L4 Z9 w, v2 K5 s7 a, |1 R! D
for i=1:length(xx)
- y7 y+ t; o6 x, d4 U$ e a=subs(d2f,{x,y},{xx(i),yy(i)});
9 K) `. d- c W& C8 \ b=eig(a); %求矩阵的特征值
3 r7 L" M/ P8 g) }+ C) d/ Q f=subs(f,{x,y},{xx(i),yy(i)});: G0 p) T* m8 O5 @3 A% g; ]4 b) T
if all(b>0)
0 I. f9 X' h$ M+ G, H, i! c& \! ] fprintf('(%f,%f)是极小值点,对应的极小值为%f\n',xx(i),yy(i),f);
+ O2 p M9 ^, u4 R elseif all(b<0)
7 B1 F. B& T( ~: B fprintf('(%f,%f)是极大值点,对应的极大值为%f\n',xx(i),yy(i),f);
/ v1 i# u t' Z% N9 R) ?- M elseif any(b>0) & any(b<0)* T1 i, U0 r# G
fprintf('(%f,%f)不是极值点\n',xx(i),yy(i));
8 ?% c* K4 R7 S$ K; \ else( m3 ]: i; Z' L
fprintf('无法判断(%f,%f)是否是极值点\n',xx(i),yy(i)); 7 v# F: M2 s0 Y) u5 p) M+ t
end$ f1 k! l9 v0 ]7 T
end
. u- e3 B! G3 H D- `
% X; {+ L; I. ^' z
' m+ Y% u6 d7 Y1 A& b; |8 y; h9 Cxx =
( o6 e, d, @& d, I# w 5 @5 F, B2 x8 Q: s
1
# V9 u0 Z+ @6 p9 x8 X+ ?) B- A -3
( V, S4 X7 s& L2 v2 e7 T 1
# ^7 s. T0 ^* Z" Q -3
' E- [% Y$ l2 |& h, I2 c 5 A$ H5 d; k( O$ V' S: t- o- |
& U- Y$ S( R: p7 Q0 i' {$ b
yy =7 \# ^6 g2 K) Q8 w5 Y, y, E9 C! D
, R- Z2 _8 v$ x9 l- l0 H! [
02 F3 Z- I+ I2 M$ Q9 q
01 ]1 T' w: r/ h
2, Y$ u# Y7 w$ l- C& Y
2
- W) E! U+ e. Z) i
- W) G9 e$ n% o& {1 H) A7 O错误使用 fprintf
/ \( a/ r# s. p3 R8 |6 N* G' K没有为 'sym' 输入定义函数。9 F) Y) B# A W+ J5 ?. m! V: d* O
( a5 k$ k- A9 H8 N" M能告诉我哪里出问题了吗?- m7 P, k# s, i+ n
我用的是2014aMATLAB
% \& P5 X6 b9 C9 n% E6 W3 x, a. s |
zan
|